Attempt to write specified number of bytes to address, blocking
Attempt to read specified number of bytes from address, blocking
Initialise the I2C HW block Put the I2C hardware into a known state, and enable it. Must be called before other functions. By default, the I2C is configured to operate as a master. The I2C bus frequency is set as close as possible to requested, and the actual rate set is returned
Return pointer to structure containing i2c hardware registers
Convert I2C instance to hardware instance number
Set I2C port to slave mode
Pop a byte from I2C Rx FIFO. This function is non-blocking and assumes the Rx FIFO isn't empty.
Determine non-blocking write space available
Determine number of bytes received
Set I2C baudrate Set I2C bus frequency as close as possible to requested, and return actual rate set. Baudrate may not be as exactly requested due to clocking limitations.
Attempt to read specified number of bytes from address, blocking until the specified absolute time is reached.
Attempt to write specified number of bytes to address, blocking until the specified absolute time is reached.
Configure an I2C instance for slave mode.
Push a byte into I2C Tx FIFO. This function is non-blocking and assumes the Tx FIFO isn't full.
Restore an I2C instance to master mode.
Return the DREQ to use for pacing transfers to/from a particular I2C instance
Attempt to write specified number of bytes to address, with timeout
Read direct from RX FIFO Reads directly from the I2C RX FIFO which is mainly useful for slave-mode operation.
Write direct to TX FIFO Writes directly to the I2C TX FIFO which is mainly useful for slave-mode operation.
Attempt to read specified number of bytes from address, with timeout