28#if (HAL_USE_I2C == TRUE) || defined(__DOXYGEN__)
47#if !defined(PLATFORM_I2C_USE_I2C1) || defined(__DOXYGEN__)
48#define PLATFORM_I2C_USE_I2C1 FALSE
106#if (I2C_USE_MUTUAL_EXCLUSION == TRUE) || defined(__DOXYGEN__)
109#if defined(I2C_DRIVER_EXT_FIELDS)
110 I2C_DRIVER_EXT_FIELDS
126#define i2c_lld_get_errors(i2cp) ((i2cp)->errors)
132#if (PLATFORM_I2C_USE_I2C1 == TRUE) && !defined(__DOXYGEN__)
143 const uint8_t *txbuf,
size_t txbytes,
144 uint8_t *rxbuf,
size_t rxbytes,
147 uint8_t *rxbuf,
size_t rxbytes,
void i2c_lld_stop(I2CDriver *i2cp)
Deactivates the I2C peripheral.
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.
I2CDriver I2CD1
I2C1 driver identifier.
uint32_t i2cflags_t
Type of I2C Driver condition flags.
struct hal_i2c_config I2CConfig
Type of a structure representing an I2C configuration.
void i2c_lld_start(I2CDriver *i2cp)
Configures and activates the I2C peripheral.
i2cstate_t
Driver state machine possible states.
uint16_t i2caddr_t
Type representing an I2C address.
void i2c_lld_init(void)
Low level I2C driver initialization.
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.
struct hal_i2c_driver I2CDriver
Type of a structure representing an I2C driver.
struct ch_mutex mutex_t
Type of a mutex structure.
uint64_t sysinterval_t
Type of time interval.
I2C driver configuration structure.
Structure representing an I2C driver.
const I2CConfig * config
Current configuration data.
i2cflags_t errors
Error flags.
i2cstate_t state
Driver state.