ChibiOS/HAL
6.1.0
|
I2C Driver macros and structures. More...
#include "hal_i2c_lld.h"
Go to the source code of this file.
Macros | |
#define | I2C_USE_MUTUAL_EXCLUSION TRUE |
Enables the mutual exclusion APIs on the I2C bus. More... | |
#define | _i2c_wakeup_isr(i2cp) |
Wakes up the waiting thread notifying no errors. More... | |
#define | _i2c_wakeup_error_isr(i2cp) |
Wakes up the waiting thread notifying errors. More... | |
#define | i2cMasterTransmit(i2cp, addr, txbuf, txbytes, rxbuf, rxbytes) |
Wrap i2cMasterTransmitTimeout function with TIME_INFINITE timeout. More... | |
#define | i2cMasterReceive(i2cp, addr, rxbuf, rxbytes) (i2cMasterReceiveTimeout(i2cp, addr, rxbuf, rxbytes, TIME_INFINITE)) |
Wrap i2cMasterReceiveTimeout function with TIME_INFINITE timeout. More... | |
I2C bus error conditions | |
#define | I2C_NO_ERROR 0x00 |
No error. More... | |
#define | I2C_BUS_ERROR 0x01 |
Bus Error. More... | |
#define | I2C_ARBITRATION_LOST 0x02 |
Arbitration Lost. More... | |
#define | I2C_ACK_FAILURE 0x04 |
Acknowledge Failure. More... | |
#define | I2C_OVERRUN 0x08 |
Overrun/Underrun. More... | |
#define | I2C_PEC_ERROR 0x10 |
PEC Error in reception. More... | |
#define | I2C_TIMEOUT 0x20 |
Hardware timeout. More... | |
#define | I2C_SMB_ALERT 0x40 |
SMBus Alert. More... | |
Enumerations |
Functions | |
void | i2cInit (void) |
I2C Driver initialization. More... | |
void | i2cObjectInit (I2CDriver *i2cp) |
Initializes the standard part of a I2CDriver structure. More... | |
void | i2cStart (I2CDriver *i2cp, const I2CConfig *config) |
Configures and activates the I2C peripheral. More... | |
void | i2cStop (I2CDriver *i2cp) |
Deactivates the I2C peripheral. More... | |
i2cflags_t | i2cGetErrors (I2CDriver *i2cp) |
Returns the errors mask associated to the previous operation. More... | |
msg_t | i2cMasterTransmitTimeout (I2CDriver *i2cp, i2caddr_t addr, const uint8_t *txbuf, size_t txbytes, uint8_t *rxbuf, size_t rxbytes, sysinterval_t timeout) |
Sends data via the I2C bus. More... | |
msg_t | i2cMasterReceiveTimeout (I2CDriver *i2cp, i2caddr_t addr, uint8_t *rxbuf, size_t rxbytes, sysinterval_t timeout) |
Receives data from the I2C bus. More... | |
void | i2cAcquireBus (I2CDriver *i2cp) |
Gains exclusive access to the I2C bus. More... | |
void | i2cReleaseBus (I2CDriver *i2cp) |
Releases exclusive access to the I2C bus. More... | |
I2C Driver macros and structures.
Definition in file hal_i2c.h.