I started to play around with the logic analyzer and I got a few questions.
I'm working with a Raspberry Pi 3 B and my goal is to communicate with multiple ADS1115 ADCs on the I2C bus.
I have a Python script that demonstrates reading the ADC values and I would like to write a .NET Core 3.0 C# application running on the Pi to do the same.
Something isn't right just yet and I used WaveForms v3.11.5's Logic Analyzer with AD2 to see what's going on. I connected the SCL and SDA to the digital inputs #0 and #1.
The Raspberry Pi's I2C bus runs at 100 kHz as far as I know, so I had the following settings:
I selected to have a I2C protocol and I wanted to catch a few Start - Stop packets:
The address of the ADS1115 is 0x48, but it's not that relevant here.
Even if neither the script nor the app are running, when I click on the "Single" button in WaveForms the capture session it runs and stops immediately. When I examine the 10 buffers they all show only unrecognized "ERROR" chunks, none of them has I2C "START" events that could have triggered the capture.
Is this the expected behavior? If yes, can I set the trigger somehow to capture only the valid packets between START - STOP events (and ignore ERRORs)?
The "Address & Data" trigger works fine, it stays in "Armed" state until I send a packet with the predefined address.
In this case my experience was that even if I set the buffer value to #1 it records the packet into the buffer #2. It's not a big deal, I'm just curios if that's intentional.
The scroll bar above the signals also acts a little strange: if I scroll either way I don't see any new data, just blank spaces left or right of the captured signals.
Also, if I see "ERROR" could you tell a little more about the nature of that error? I get that a lot, and I'm not sure if my SCL, SDA line are too noisy or the clock isn't stable enough or I set the rate wrong or I send an invalid packet?
Question
Andras
Hi @attila,
I started to play around with the logic analyzer and I got a few questions.
I'm working with a Raspberry Pi 3 B and my goal is to communicate with multiple ADS1115 ADCs on the I2C bus.
I have a Python script that demonstrates reading the ADC values and I would like to write a .NET Core 3.0 C# application running on the Pi to do the same.
Something isn't right just yet and I used WaveForms v3.11.5's Logic Analyzer with AD2 to see what's going on. I connected the SCL and SDA to the digital inputs #0 and #1.
The Raspberry Pi's I2C bus runs at 100 kHz as far as I know, so I had the following settings:
I selected to have a I2C protocol and I wanted to catch a few Start - Stop packets:
The address of the ADS1115 is 0x48, but it's not that relevant here.
Even if neither the script nor the app are running, when I click on the "Single" button in WaveForms the capture session it runs and stops immediately. When I examine the 10 buffers they all show only unrecognized "ERROR" chunks, none of them has I2C "START" events that could have triggered the capture.
Is this the expected behavior? If yes, can I set the trigger somehow to capture only the valid packets between START - STOP events (and ignore ERRORs)?
The "Address & Data" trigger works fine, it stays in "Armed" state until I send a packet with the predefined address.
In this case my experience was that even if I set the buffer value to #1 it records the packet into the buffer #2. It's not a big deal, I'm just curios if that's intentional.
The scroll bar above the signals also acts a little strange: if I scroll either way I don't see any new data, just blank spaces left or right of the captured signals.
Also, if I see "ERROR" could you tell a little more about the nature of that error? I get that a lot, and I'm not sure if my SCL, SDA line are too noisy or the clock isn't stable enough or I set the rate wrong or I send an invalid packet?
Thanks,
Andras
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.