|
PebbleOS
|
#include <pbl/kernel/sem.h>#include <pbl/drivers/rtc.h>#include <pbl/kernel/mutex.h>#include <stdint.h>Data Structures | |
| struct | I2CTransfer |
| Transfer in progress on a bus. More... | |
| struct | I2CBusState |
| Bus runtime state, owned by the common I2C code. More... | |
| struct | I2CBus |
| I2C bus, defined by the board. More... | |
| struct | I2CSlavePort |
| Device on an I2C bus, defined by the board. More... | |
Enumerations | |
| enum | I2CTransferEvent { I2CTransferEvent_Timeout , I2CTransferEvent_TransferComplete , I2CTransferEvent_NackReceived , I2CTransferEvent_Error } |
| Transfer outcome reported by a HAL. More... | |
| enum | I2CTransferDirection { I2CTransferDirection_Read , I2CTransferDirection_Write } |
| Transfer direction. More... | |
| enum | I2CTransferType { I2CTransferType_SendRegisterAddress , I2CTransferType_NoRegisterAddress } |
| Transfer type. More... | |
| enum | I2CTransferState { I2CTransferState_WriteAddressTx , I2CTransferState_WriteRegAddress , I2CTransferState_RepeatStart , I2CTransferState_WriteAddressRx , I2CTransferState_WaitForData , I2CTransferState_ReadData , I2CTransferState_WriteData , I2CTransferState_EndWrite , I2CTransferState_Complete } |
| Transfer state, for HALs that drive the transfer byte by byte. More... | |
Functions | |
| void | i2c_init (I2CBus *bus) |
| Initialize a bus. | |
| void | i2c_handle_transfer_event (I2CBus *device, I2CTransferEvent event) |
| Report the outcome of the current transfer. | |