cancel
Showing results for 
Search instead for 
Did you mean: 

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

PHard.3
Associate

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....

1 REPLY 1
PHard.3
Associate

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 ?