With the standard Wire library, the pullups are enabled by default and you have to modify the library code to change it. In this case, 0 = Pullups OFF and 1 = Pullups ON. It allows you to specify how long the library will wait for it’s various conditions to become valid before releasing the SDA and SCL lines to high impedance states, basically resetting the whole thing and allow you to break free and continue processing. The allowed values are 0 = Disable Timeout and 1-65535 milliseconds.
The author of the library has this note regarding the timeOut usage… On a side note, be careful with setting too low a value because some devices support clock stretching which can increase the time before an acknowledgement is sent which could be misconstrued as a lockup.īy enabling timeOut, you will be able to receive error results from your send and receive functions as specified below. Searches the bus for I2C devices by essentially issuing every possible 7-bit address and seeing if an ACK is transmitted. Results are output to the Serial monitor window.Īll of the I2c.write functions return values that can be used for error checking and troubleshooting.