I have noticed when working with a few I2C slave devices (SparkFun IMU Breakout - MPU-9250 and Embedded Adventures Lightning Sensor Module) that the first transaction fails with NACK (checked with logic analyser) but after that everything works as expected. I can resolve with a “kick start” transaction. Is this common for I2C slave devices? I have been using the latest TinyCLR on FEZ Panda III, with the I2C code structure following the tutorial example.
If you have a sample program that shows the issue with a specific I2C device, we can try and take a look.
That said, there are quite a few changes coming to the HAL drivers in the release dropping soon, so I’d wait for that release and check again.
@John_Brochue, to close the loop on this issue I have gone back and tested the above configuration with the only change being to use 1.0.0-preview2 and there is no sign of the first I2C transaction failing. Thank you.
Glad to hear