I have this simple code:
import smbus
i2c = smbus.SMBus(1)
i2c.read_byte(0x20)
However, I'd like to make the read function non-blocking, or at least have a short timeout (i.e ~100 MS). The reason for this is I'm using a second board to tell if another I2C device gets frozen. I've seen this question, but I think that stopping this function mid-operation would cause the I2C connection to be unstable. Is there any way to set a short timeout for this function?