EUA / ESP32_LogicAnalyzer

ESP32 Logic Analyzer
GNU General Public License v3.0
206 stars 27 forks source link

Struggling to get it work #4

Closed tbaumann closed 10 months ago

tbaumann commented 2 years ago

Hi,

I need to look into closer detail of a IR sensor attached to an M5Stack Atom Lite. This looked perfect to analyse the timing.

I get it built and flashed no big deal.

With

#define USE_SERIAL2_FOR_OLS 1 

With this default I get this

$ sigrok-cli -d ols:conn=/dev/ttyUSB0 -l 5 --scan 
sr: [00:00.000000] log: libsigrok loglevel set to 5.
sr: [00:00.000024] backend: libsigrok 0.5.2/5:1:1.
sr: [00:00.000071] backend: Libs: glib 2.67.5 (rt: 2.68.4/6804:4), libzip 1.7.3, libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1), libusb-1.0 1.0.24.11584 API 0x01000108, hidapi 0.10.1, bluez 5.56, libftdi 1.5.
sr: [00:00.000078] backend: Host: x86_64-pc-linux-gnu, little-endian.
sr: [00:00.000082] backend: SCPI backends: TCP, serial, USBTMC.
sr: [00:00.000086] backend: Firmware search paths:
sr: [00:00.000100] backend:  - /home/tilmanb/.local/share/sigrok-firmware
sr: [00:00.000105] backend:  - /usr/share/sigrok-firmware
sr: [00:00.000111] backend:  - /usr/share/ubuntu/sigrok-firmware
sr: [00:00.000115] backend:  - /usr/local/share/sigrok-firmware
sr: [00:00.000120] backend:  - /usr/share/sigrok-firmware
sr: [00:00.000124] backend:  - /var/lib/snapd/desktop/sigrok-firmware
sr: [00:00.000145] backend: Sanity-checking all drivers.
sr: [00:00.000153] backend: Sanity-checking all input modules.
sr: [00:00.000160] backend: Sanity-checking all output modules.
sr: [00:00.000170] backend: Sanity-checking all transform modules.
srd: libsigrokdecode loglevel set to 5.
sr: [00:00.002842] hwdriver: sr_config_list(): key 2147418112 (NULL) sdi (nil) cg NULL -> [uint32 20000, 20001]
sr: [00:00.002857] openbench-logic-sniffer: Probing /dev/ttyUSB0.
sr: [00:00.002867] serial: Opening serial port '/dev/ttyUSB0' (flags 1).
sr: [00:00.003807] serial: Parsing parameters from "115200/8n1".
sr: [00:00.003857] serial: Setting serial parameters on port /dev/ttyUSB0.
sr: [00:00.004017] serial: DBG: serial_set_params() rate 115200, 8n1
sr: [00:00.004025] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.004110] serial: Wrote 1/1 bytes.
sr: [00:00.004116] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.004199] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.004312] serial: Wrote 1/1 bytes.
sr: [00:00.004318] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.004400] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.004488] serial: Wrote 1/1 bytes.
sr: [00:00.004493] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.004585] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.004668] serial: Wrote 1/1 bytes.
sr: [00:00.004673] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.004762] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.004849] serial: Wrote 1/1 bytes.
sr: [00:00.004854] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.004944] openbench-logic-sniffer: Sending cmd 0x02.
sr: [00:00.005030] serial: Wrote 1/1 bytes.
sr: [00:00.005034] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.025425] serial: Read 4/4 bytes.
sr: [00:00.025456] openbench-logic-sniffer: Invalid reply (expected '1SLO' or '1ALS', got 'ets ').
sr: [00:00.025466] hwdriver: Scan found 0 devices (ols).
sr: [00:00.025477] hwdriver: Cleaning up all drivers.

And I get some binary output on the serial monitor

With it set to 0 I get no output on serial. But sigrok isn't happy either.

$ sigrok-cli -d ols:conn=/dev/ttyUSB0 -l 5 --scan 
sr: [00:00.000000] log: libsigrok loglevel set to 5.
sr: [00:00.000058] backend: libsigrok 0.5.2/5:1:1.
sr: [00:00.000100] backend: Libs: glib 2.67.5 (rt: 2.68.4/6804:4), libzip 1.7.3, libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1), libusb-1.0 1.0.24.11584 API 0x01000108, hidapi 0.10.1, bluez 5.56, libftdi 1.5.
sr: [00:00.000115] backend: Host: x86_64-pc-linux-gnu, little-endian.
sr: [00:00.000122] backend: SCPI backends: TCP, serial, USBTMC.
sr: [00:00.000127] backend: Firmware search paths:
sr: [00:00.000156] backend:  - /home/tilmanb/.local/share/sigrok-firmware
sr: [00:00.000162] backend:  - /usr/share/sigrok-firmware
sr: [00:00.000169] backend:  - /usr/share/ubuntu/sigrok-firmware
sr: [00:00.000174] backend:  - /usr/local/share/sigrok-firmware
sr: [00:00.000179] backend:  - /usr/share/sigrok-firmware
sr: [00:00.000185] backend:  - /var/lib/snapd/desktop/sigrok-firmware
sr: [00:00.000214] backend: Sanity-checking all drivers.
sr: [00:00.000226] backend: Sanity-checking all input modules.
sr: [00:00.000232] backend: Sanity-checking all output modules.
sr: [00:00.000244] backend: Sanity-checking all transform modules.
srd: libsigrokdecode loglevel set to 5.
sr: [00:00.003653] hwdriver: sr_config_list(): key 2147418112 (NULL) sdi (nil) cg NULL -> [uint32 20000, 20001]
sr: [00:00.003683] openbench-logic-sniffer: Probing /dev/ttyUSB0.
sr: [00:00.003704] serial: Opening serial port '/dev/ttyUSB0' (flags 1).
sr: [00:00.004931] serial: Parsing parameters from "115200/8n1".
sr: [00:00.005068] serial: Setting serial parameters on port /dev/ttyUSB0.
sr: [00:00.005304] serial: DBG: serial_set_params() rate 115200, 8n1
sr: [00:00.005325] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.005470] serial: Wrote 1/1 bytes.
sr: [00:00.005493] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.005662] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.005772] serial: Wrote 1/1 bytes.
sr: [00:00.005784] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.005859] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.005964] serial: Wrote 1/1 bytes.
sr: [00:00.005975] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.006078] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.006190] serial: Wrote 1/1 bytes.
sr: [00:00.006202] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.006296] openbench-logic-sniffer: Sending cmd 0x00.
sr: [00:00.006404] serial: Wrote 1/1 bytes.
sr: [00:00.006415] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.006521] openbench-logic-sniffer: Sending cmd 0x02.
sr: [00:00.006698] serial: Wrote 1/1 bytes.
sr: [00:00.006710] serial: Draining serial port /dev/ttyUSB0.
sr: [00:00.027110] serial: Read 4/4 bytes.
sr: [00:00.027140] openbench-logic-sniffer: Invalid reply (expected '1SLO' or '1ALS', got '
sr: [00:00.027148] hwdriver: Scan found 0 devices (ols).
sr: [00:00.027161] hwdriver: Cleaning up all drivers.

I suppose I'm either holding it wrong or I need to adapt it somehow to the hardware?

I do for example have no GPIO15 on this chip to tie down as the readme suggests.

tbaumann commented 2 years ago
 $ sigrok-cli --version
sigrok-cli 0.7.1

Libraries and features:
- libsigrok 0.5.1/5:0:1 (rt: 0.5.2/5:1:1).
 - Libs:
  - glib 2.67.5 (rt: 2.68.4/6804:4)
  - libzip 1.7.3
  - libserialport 0.1.1/1:0:1 (rt: 0.1.1/1:0:1)
  - libusb-1.0 1.0.24.11584 API 0x01000108
  - hidapi 0.10.1
  - bluez 5.56
  - libftdi 1.5
  - Host: x86_64-pc-linux-gnu, little-endian.
  - SCPI backends: TCP, serial, USBTMC.
- libsigrokdecode 0.5.2/6:0:2 (rt: 0.5.3/6:1:2).
 - Libs:
  - glib 2.66.2 (rt: 2.68.4/6804:4)
  - Python 3.9.0+ / 0x30900f0 (API 1013, ABI 3)
  - Host: x86_64-pc-linux-gnu, little-endian.

Ubuntu 21.10

tbaumann commented 2 years ago

USB UART is connected to GPIO 1 and 3 according to https://docs.m5stack.com/en/core/atom_lite I suppose that means UART0/Serial

EUA commented 10 months ago

With "#define USE_SERIAL2_FOR_OLS 1" you should use UART2 device (with some other UART to USB dongle etc...) but you look like you are using UART0 because of "ets" word at pulseview error line...

You also shouldn't use UART0 because you don't have GPIO15. That silences boot messages so pulseview / sigrok should detect the device.

Only way that reset device via some terminal, remove all boot messages, than try to connect... but. I think it doesn't worth to fight with it. We should accept that your device is not compatible.

EUA commented 10 months ago

Hello! I make a new version and... You can use your board with it also! Only necessity is connecting 2 not-needed GPIO pins together... GPIO15 is not needed anymore.