Hello, we have developed a device with 7 i2c devices. connected to particle electron.
but after some time maybe two or three days, i2c hangs and all devices stop responding on i2c bus.
from one CO2 gas sensor Wire.endTransmission() returns 1, and according to doc says the buffer is too long.
but it requires just a restart to reset the i2c bus.
Are you by any chance using (a lot of) String objects in your code? If so, @ScruffR might have a word or two regarding that Try to use C char arrays instead of strings, that might make a difference.
Furthermore, it’s always helpful if we can see the code we’re asked to help with.
There is no known issue with I2C in 0.7.0 (or later). Unfortunately you’ll need to dig into it more deeply to find the minimal failure case as it’s not something that I’ve seen before.
You could try resetting I2C by calling Wire.end() then Wire.begin() after you get that error on endTransmission(). I don’t know if that will help, but it’s worth a try.