Go to the documentation of this file.
28 #if (HAL_USE_I2C == TRUE) || defined(__DOXYGEN__)
47 #if !defined(PLATFORM_I2C_USE_I2C1) || defined(__DOXYGEN__)
48 #define PLATFORM_I2C_USE_I2C1 FALSE
101 #if (I2C_USE_MUTUAL_EXCLUSION == TRUE) || defined(__DOXYGEN__)
104 #if defined(I2C_DRIVER_EXT_FIELDS)
105 I2C_DRIVER_EXT_FIELDS
121 #define i2c_lld_get_errors(i2cp) ((i2cp)->errors)
127 #if (PLATFORM_I2C_USE_I2C1 == TRUE) && !defined(__DOXYGEN__)
138 const uint8_t *txbuf,
size_t txbytes,
139 uint8_t *rxbuf,
size_t rxbytes,
142 uint8_t *rxbuf,
size_t rxbytes,
Structure representing an I2C driver.
const I2CConfig * config
Current configuration data.
void i2c_lld_stop(I2CDriver *i2cp)
Deactivates the I2C peripheral.
msg_t i2c_lld_master_transmit_timeout(I2CDriver *i2cp, i2caddr_t addr, const uint8_t *txbuf, size_t txbytes, uint8_t *rxbuf, size_t rxbytes, sysinterval_t timeout)
Transmits data via the I2C bus as master.
msg_t i2c_lld_master_receive_timeout(I2CDriver *i2cp, i2caddr_t addr, uint8_t *rxbuf, size_t rxbytes, sysinterval_t timeout)
Receives data via the I2C bus as master.
void i2c_lld_start(I2CDriver *i2cp)
Configures and activates the I2C peripheral.
uint16_t i2caddr_t
Type representing an I2C address.
uint32_t i2cflags_t
Type of I2C Driver condition flags.
i2cflags_t errors
Error flags.
I2CDriver I2CD1
I2C1 driver identifier.
uint64_t sysinterval_t
Type of time interval.
i2cstate_t
Driver state machine possible states.
void i2c_lld_init(void)
Low level I2C driver initialization.
i2cstate_t state
Driver state.
Type of I2C driver configuration structure.