Classes | Macros | Typedefs | Enumerations | Functions
i2c_11xx.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  I2C_XFER_T
 Master transfer data structure definitions. More...
 
struct  LPC_I2C_T
 I2C register block structure. More...
 

Macros

#define I2C_BYTE_RECV   0x02
 
#define I2C_BYTE_SENT   0x01
 
#define I2C_CheckError(ErrorCode)   (ErrorCode & 0x10000000)
 
#define I2C_CON_AA   (1UL << 2)
 
#define I2C_CON_I2EN   (1UL << 6)
 
#define I2C_CON_SI   (1UL << 3)
 
#define I2C_CON_STA   (1UL << 5)
 
#define I2C_CON_STO   (1UL << 4)
 
#define I2C_ERR   (0x10000000)
 
#define I2C_I2ADR_BITMASK   ((0xFF))
 
#define I2C_I2ADR_GC   ((1 << 0))
 
#define I2C_I2CONCLR_AAC   ((1 << 2))
 
#define I2C_I2CONCLR_I2ENC   ((1 << 6))
 
#define I2C_I2CONCLR_SIC   ((1 << 3))
 
#define I2C_I2CONCLR_STAC   ((1 << 5))
 
#define I2C_I2CONCLR_STOC   ((1 << 4))
 
#define I2C_I2CONSET_AA   ((0x04))
 
#define I2C_I2CONSET_I2EN   ((0x40))
 
#define I2C_I2CONSET_SI   ((0x08))
 
#define I2C_I2CONSET_STA   ((0x20))
 
#define I2C_I2CONSET_STO   ((0x10))
 
#define I2C_I2DAT_BITMASK   ((0xFF))
 
#define I2C_I2DAT_IDLE_CHAR   (0xFF)
 
#define I2C_I2MASK_MASK(n)   ((n & 0xFE))
 
#define I2C_I2MMCTRL_BITMASK   ((0x07))
 
#define I2C_I2MMCTRL_ENA_SCL   ((1 << 1))
 
#define I2C_I2MMCTRL_MATCH_ALL   ((1 << 2))
 
#define I2C_I2MMCTRL_MM_ENA   ((1 << 0))
 
#define I2C_I2SCLH_BITMASK   ((0xFFFF))
 
#define I2C_I2SCLL_BITMASK   ((0xFFFF))
 
#define I2C_I2STAT_BUS_ERROR   ((0x00))
 
#define I2C_I2STAT_M_RX_ARB_LOST   ((0x38))
 
#define I2C_I2STAT_M_RX_DAT_ACK   ((0x50))
 
#define I2C_I2STAT_M_RX_DAT_NACK   ((0x58))
 
#define I2C_I2STAT_M_RX_RESTART   ((0x10))
 
#define I2C_I2STAT_M_RX_SLAR_ACK   ((0x40))
 
#define I2C_I2STAT_M_RX_SLAR_NACK   ((0x48))
 
#define I2C_I2STAT_M_RX_START   ((0x08))
 
#define I2C_I2STAT_M_TX_ARB_LOST   ((0x38))
 
#define I2C_I2STAT_M_TX_DAT_ACK   ((0x28))
 
#define I2C_I2STAT_M_TX_DAT_NACK   ((0x30))
 
#define I2C_I2STAT_M_TX_RESTART   ((0x10))
 
#define I2C_I2STAT_M_TX_SLAW_ACK   ((0x18))
 
#define I2C_I2STAT_M_TX_SLAW_NACK   ((0x20))
 
#define I2C_I2STAT_M_TX_START   ((0x08))
 
#define I2C_I2STAT_NO_INF   ((0xF8))
 
#define I2C_I2STAT_S_RX_ARB_LOST_M_GENCALL   ((0x78))
 
#define I2C_I2STAT_S_RX_ARB_LOST_M_SLA   ((0x68))
 
#define I2C_I2STAT_S_RX_GENCALL_ACK   ((0x70))
 
#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_ACK   ((0x90))
 
#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_NACK   ((0x98))
 
#define I2C_I2STAT_S_RX_PRE_SLA_DAT_ACK   ((0x80))
 
#define I2C_I2STAT_S_RX_PRE_SLA_DAT_NACK   ((0x88))
 
#define I2C_I2STAT_S_RX_SLAW_ACK   ((0x60))
 
#define I2C_I2STAT_S_RX_STA_STO_SLVREC_SLVTRX   ((0xA0))
 
#define I2C_I2STAT_S_TX_ARB_LOST_M_SLA   ((0xB0))
 
#define I2C_I2STAT_S_TX_DAT_ACK   ((0xB8))
 
#define I2C_I2STAT_S_TX_DAT_NACK   ((0xC0))
 
#define I2C_I2STAT_S_TX_LAST_DAT_ACK   ((0xC8))
 
#define I2C_I2STAT_S_TX_SLAR_ACK   ((0xA8))
 
#define I2C_LAST_BYTE_RECV   0x04
 
#define I2C_MONITOR_CFG_MATCHALL   I2C_I2MMCTRL_MATCH_ALL
 
#define I2C_MONITOR_CFG_SCL_OUTPUT   I2C_I2MMCTRL_ENA_SCL
 
#define I2C_NAK_RECV   (0x10000000 | 0x01)
 
#define I2C_OK   0x00
 
#define I2C_RECV_END   0x10
 
#define I2C_SEND_END   0x08
 
#define I2C_SETUP_STATUS_ARBF   (1 << 8)
 
#define I2C_SETUP_STATUS_DONE   (1 << 10)
 
#define I2C_SETUP_STATUS_NOACKF   (1 << 9)
 
#define I2C_SLAVE_TIME_OUT   0x10000000UL
 
#define I2C_STA_STO_RECV   0x20
 I2C state handle return values. More...
 
#define I2C_STA_STO_RECV   0x20
 I2C state handle return values. More...
 
#define I2C_STAT_CODE_BITMASK   ((0xF8))
 
#define I2C_STAT_CODE_ERROR   ((0xFF))
 
#define I2DATA_BUFFER_BITMASK   ((0xFF))
 
#define RET_SLAVE_BUSY   0
 
#define RET_SLAVE_IDLE   2
 
#define RET_SLAVE_RX   5
 
#define RET_SLAVE_TX   6
 Return values for SLAVE handler. More...
 

Typedefs

typedef void(* I2C_EVENTHANDLER_T) (I2C_ID_T, I2C_EVENT_T)
 Event handler function type. More...
 
typedef enum I2C_ID I2C_ID_T
 I2C interface IDs. More...
 

Enumerations

enum  I2C_EVENT_T {
  I2C_EVENT_WAIT = 1, I2C_EVENT_DONE, I2C_EVENT_LOCK, I2C_EVENT_UNLOCK,
  I2C_EVENT_SLAVE_RX, I2C_EVENT_SLAVE_TX
}
 I2C master events. More...
 
enum  I2C_ID { I2C0, I2C_NUM_INTERFACE }
 I2C interface IDs. More...
 
enum  I2C_SLAVE_ID {
  I2C_SLAVE_GENERAL, I2C_SLAVE_0, I2C_SLAVE_1, I2C_SLAVE_2,
  I2C_SLAVE_3, I2C_SLAVE_NUM_INTERFACE
}
 I2C Slave Identifiers. More...
 
enum  I2C_STATUS_T {
  I2C_STATUS_DONE, I2C_STATUS_NAK, I2C_STATUS_ARBLOST, I2C_STATUS_BUSERR,
  I2C_STATUS_BUSY
}
 I2C transfer status. More...
 

Functions

void Chip_I2C_DeInit (I2C_ID_T id)
 De-initializes the I2C peripheral registers to their default reset values. More...
 
void Chip_I2C_Disable (I2C_ID_T id)
 Disable I2C peripheral's operation. More...
 
void Chip_I2C_EventHandler (I2C_ID_T id, I2C_EVENT_T event)
 Default event handler for interrupt base operation. More...
 
void Chip_I2C_EventHandlerPolling (I2C_ID_T id, I2C_EVENT_T event)
 Default event handler for polling operation. More...
 
uint32_t Chip_I2C_GetClockRate (I2C_ID_T id)
 Get current clock rate for LPC_I2C peripheral. More...
 
I2C_EVENTHANDLER_T Chip_I2C_GetMasterEventHandler (I2C_ID_T id)
 Get pointer to current function handling the events. More...
 
void Chip_I2C_Init (I2C_ID_T id)
 Initializes the LPC_I2C peripheral with specified parameter. More...
 
int Chip_I2C_IsMasterActive (I2C_ID_T id)
 Checks if master xfer in progress. More...
 
int Chip_I2C_IsStateChanged (I2C_ID_T id)
 I2C peripheral state change checking. More...
 
int Chip_I2C_MasterCmdRead (I2C_ID_T id, uint8_t slaveAddr, uint8_t cmd, uint8_t *buff, int len)
 Transfer a command to slave and receive data from slave after a repeated start. More...
 
int Chip_I2C_MasterRead (I2C_ID_T id, uint8_t slaveAddr, uint8_t *buff, int len)
 Set function that must handle I2C events. More...
 
int Chip_I2C_MasterSend (I2C_ID_T id, uint8_t slaveAddr, const uint8_t *buff, uint8_t len)
 Transmit data to I2C slave using I2C Master mode. More...
 
void Chip_I2C_MasterStateHandler (I2C_ID_T id)
 I2C Master transfer state change handler. More...
 
int Chip_I2C_MasterTransfer (I2C_ID_T id, I2C_XFER_T *xfer)
 Transmit and Receive data in master mode. More...
 
void Chip_I2C_SetClockRate (I2C_ID_T id, uint32_t clockrate)
 Set up clock rate for LPC_I2C peripheral. More...
 
int Chip_I2C_SetMasterEventHandler (I2C_ID_T id, I2C_EVENTHANDLER_T event)
 Set function that must handle I2C events. More...
 
void Chip_I2C_SlaveSetup (I2C_ID_T id, I2C_SLAVE_ID sid, I2C_XFER_T *xfer, I2C_EVENTHANDLER_T event, uint8_t addrMask)
 Setup a slave I2C device. More...
 
void Chip_I2C_SlaveStateHandler (I2C_ID_T id)
 I2C Slave event handler. More...
 


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:03