63 const void *data,
size_t len,
79 void *buf,
size_t len, uint32_t timeout_ms);
98 const void *tx,
size_t tx_len,
99 void *rx,
size_t rx_len,
100 uint32_t timeout_ms);
int ove_hal_i2c_open(ove_i2c_t i2c, const struct ove_i2c_cfg *cfg)
Configure and enable the I2C peripheral.
int ove_hal_i2c_read(ove_i2c_t i2c, uint16_t addr, void *buf, size_t len, uint32_t timeout_ms)
Read data from an I2C device.
void ove_hal_i2c_close(ove_i2c_t i2c)
Disable and release the I2C peripheral.
int ove_hal_i2c_write(ove_i2c_t i2c, uint16_t addr, const void *data, size_t len, uint32_t timeout_ms)
Write data to an I2C device.
int ove_hal_i2c_write_read(ove_i2c_t i2c, uint16_t addr, const void *tx, size_t tx_len, void *rx, size_t rx_len, uint32_t timeout_ms)
Combined write-then-read with repeated start.
struct ove_i2c * ove_i2c_t
Opaque handle for an I2C bus controller.
Definition types.h:142
I2C bus configuration descriptor.
Definition i2c.h:60