Skip to main content
PHard.3
Associate
May 16, 2023
Question

Teseo-LIV3R - I2C comms - 0xff bytes prepended to response - bus hang !

  • May 16, 2023
  • 1 reply
  • 838 views

I'm using I2C to communicate from a master I2C controller to the Teseo-LIV3R device.

I'm periodically sending $PSTMNMEAREQUEST messages to get an NMEA message generated from the device. I see the NMEA message generated, followed by an echo of the request as expected, but this is often prepended by a small number of 0xff bytes.

Every now and again, I see thousands of these 0xff in front of the requested NMEA message, and the I2C bus hangs immediately afterwards - recoverable only by putting the Teseo device into reset.

Why is this 0xff data here - is this just the state of the SDA line if the Teseo device is not driving it - if so, why do the number of 0xff bytes seen vary, and why do I occasionally see thousands of these? The device is in it's default mode - looking at the user manual, this suggests that any low power operation is disabled....

    This topic has been closed for replies.

    1 reply

    PHard.3
    PHard.3Author
    Associate
    May 17, 2023

    If I change the master driver to look for sequences of 0xff chars in the response, and stop the read request and retry some time later, then I no longer see the bus hang.

    I'm currently guessing on what length of 0xff sequence to look for and when to retry - am hoping someone from STMicro will provide some numbers here ?!?

    Why does the Teseo hang the I2C bus if a read of a few thousand bytes is attempted - what is the limit ? What is the worst case response times to the various $PSTM commands that can be written to it ?