I am writing a program that is intended to recieve I2C data from some marine electronic equipment. The intended target for the I2C data is a remote repeater screen, however I have decoded the output and can then use this data for my own purposes.
In general everything works well, I setup the pyboard I2C device as a slave with the correct address and receive the data without problem. However, as I am collating information from a range of devices I am attempting to build more resilience into the system should data from one device not be available. To achieve this I was trying to add a timeout to my I2C receive command so that if the data was not recieved in 250ms (the master device sends new data every 100ms regardless of if there are any listening devices). However, the recv command does not appear to respect the timeout keyword and in fact in my own timing tests it actually timesout after 10000ms and not the 5000ms default.
I guess the questions are,
- * am I doing something stupid,
* is this expected behaviour for a slave device?
* is this not yet implimented?