add I2C timeout; make sync I2C from inside higher priority interrupt handler work