|
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.