I2C write improper termination

Hi All,
This is more of a PSA - we’ve had a lot of testing on this. We’re using a GPIO expander (MCP23008) we communicate with over the built in I2C bus. It has a sequential write functionality that allows us to send a full array of bytes before the I2C termination that populate all of setup registers on the chip on startup. However, we have found that writing single bytes to this chip can cause it to overwrite adjacent registers on accident. It is seemingly at random after a variety of Write() and WriteRead() calls requesting information, but will happen maybe once an hour while we are constantly slamming this bus for information. Disabling this feature stops this from happening, but I am bringing it to attention here in case there is are specific use cases resulting in improper command termination in firmware.

However, this may also be a hardware issue. Unfortunately it is extremely difficult to verify this because we can’t recreate the conditions for the write failure so scoping this may prove pretty fruitless, but I will still be testing it internally and will keep this updated.