PebbleOS
Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions
definitions.h File Reference
#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.