• Hello Gordon

    I have 5x i2c rotary encoders wired, each on a diffenet i2c address:

    https://www.tindie.com/products/jgilbert/makernet-knob/

    I poll them every 250ms.

    But it is not stable. From time to time, maybe after hours, i catch the following error:

    "InternalError: InternalError: Timeout on I2C Write Transmit Mode 2"

    It's repeating endless until i force to reset/restart the espruino using my own E.enableWatchdog(); function. Memory usage is stable.

    I was not able to isolate the code. Here is a snip where i catch it.

    try {
            I2C1.writeTo(...,....);
            d = I2C1.readFrom(...., 8);
    }
    catch(x) {
            log(x); // InternalError: InternalError: Timeout on I2C Write Transmit Mode 2
    }
    

    After a soft restart of the espruino using my own watchdog reset, everything is fine again. The encoders are not reseted or restarted. No powercycle was made for the encoders.

    Is there a way to recover this i2c issue without a restart of the espruino ?

    Thanks

    Sacha

About

Avatar for user85862 @user85862 started