110bool i2c_take_by_chipid( uint8_t chip_id, uint8_t *i2c_address, uint8_t * i2c_interface, TickType_t timeout );
117void i2c_give( uint8_t i2c_interface );
i2c_mux_state_t i2c_mux[I2C_MUX_CNT]
Definition i2c_mapping.c:5
bool i2c_set_mux_bus(uint8_t bus_id, i2c_mux_state_t *i2c_mux, int8_t new_state)
Change I2C bus mux state.
Definition i2c_mapping.c:52
struct i2c_mux_state i2c_mux_state_t
I2C Mux state.
void i2c_init(void)
Initialize peripheral I2C buses.
Definition i2c.c:32
bool i2c_take_by_busid(uint8_t bus_id, uint8_t *i2c_interface, uint32_t timeout)
Take control over an I2C bus given a bus id.
struct i2c_bus_mapping i2c_bus_mapping_t
I2C Bus description.
bool i2c_take_by_chipid(uint8_t chip_id, uint8_t *i2c_address, uint8_t *i2c_interface, TickType_t timeout)
Take control over an I2C bus given a chip id.
struct i2c_chip_mapping i2c_chip_mapping_t
I2C Chips information regarding the bus and slave address.
uint8_t i2c_get_mux_bus(uint8_t bus_id, i2c_mux_state_t *i2c_mux)
Read I2C bus mux state.
Definition i2c_mapping.c:72
void i2c_give(uint8_t i2c_interface)
Release the previously gained I2C bus.
Definition i2c.c:124
I2C Bus description.
Definition i2c.h:43
uint8_t enabled
Definition i2c.h:46
int8_t mux_bus
Definition i2c.h:45
uint8_t i2c_interface
Definition i2c.h:44
I2C Chips information regarding the bus and slave address.
Definition i2c.h:33
uint8_t i2c_address
Definition i2c.h:37
uint8_t bus_id
Definition i2c.h:34
I2C Mux state.
Definition i2c.h:52
uint8_t i2c_interface
Definition i2c.h:53
int8_t state
Definition i2c.h:54
SemaphoreHandle_t semaphore
Definition i2c.h:55