I've been having some trouble getting the I2C working on my Analog Discovery 2 when using the Waveforms SDK on Windows 10. The issue occurs when using both the `FDwfDigitalI2cRead` and `FDwfDigitalI2cWriteRead` functions.
The weird thing is that it works fine when using the Waveforms application (v3.20.1), so I know it's wired up correctly, but when I use the SDK to read back I2C data the bytes read back are rubbish.
After confirming that all my settings were correct in my C# code (i.e. same digital IO pins, clock stretching enabled, same sample rate) I tried using the Python example `Digital_I2C.py` and got back the same rubbish data. So I'm not crazy! 🤔
After banging my head against the wall for hours I was out of options. I decided to install some new and old versions of Waveforms and see if there had been a regression. I tried:
v3.20.1 - did not work
v3.20.24 (beta) - did not work
v3.18.59 (beta) - IT WORKED!
Note that in all versions listed, the I2C works fine via the Waveforms application, but somewhere between v3.18.59 and v3.20.24 a regression was introduced that prevented the I2C reads from working via the API.
I'm sticking with v3.18.59 now because I know it works, but I'd love to use the latest version if this bug gets fixed.
Thanks for all your help and for producing such an awesome product!
Question
dynamatt
Hi guys,
I've been having some trouble getting the I2C working on my Analog Discovery 2 when using the Waveforms SDK on Windows 10. The issue occurs when using both the `FDwfDigitalI2cRead` and `FDwfDigitalI2cWriteRead` functions.
The weird thing is that it works fine when using the Waveforms application (v3.20.1), so I know it's wired up correctly, but when I use the SDK to read back I2C data the bytes read back are rubbish.
After confirming that all my settings were correct in my C# code (i.e. same digital IO pins, clock stretching enabled, same sample rate) I tried using the Python example `Digital_I2C.py` and got back the same rubbish data. So I'm not crazy! 🤔
After banging my head against the wall for hours I was out of options. I decided to install some new and old versions of Waveforms and see if there had been a regression. I tried:
Note that in all versions listed, the I2C works fine via the Waveforms application, but somewhere between v3.18.59 and v3.20.24 a regression was introduced that prevented the I2C reads from working via the API.
I'm sticking with v3.18.59 now because I know it works, but I'd love to use the latest version if this bug gets fixed.
Thanks for all your help and for producing such an awesome product!
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now