I2C Multimaster: Distinguish Idle from Clock-Stretch Timeout
Hi,
is there some clear method for the ERRIE TIMEOUT interrupt to be sure, that the IDLE condition is causing the interrupt?
(I need the Idle interrupt in a multimaster system to start Transmit...)
(I also need to enable the TEXTEN in TIMEOUT register, so that the clock stretch will finish after maximum 1 byte cycle... (NOSTRETCH=1 is not possible for Master appliction... typically clock stretch cannot appear in my application when sending, but in some error condition I am frightened it COULD appear ... e.g. it appears if the DMA module somehow does not work or has some delay... usually I setup all correctly and Reset the DMA full flags before starting DMA, so all SHOULD run fine, but who knows that "run fine" will run fine ALWAYS?)
Unfortuanately IDLE condition and Clock Stretch Timeout condition both set the same ISR interrupt flag TIMEOUT... .