I2C Driver Object.
Data Fields | |
Initialization Parameters | |
uint32_t | baseAddr |
uint32_t | intrNum |
uint8_t | bitRate |
uint32_t | funcClk |
uint32_t | ownTargetAddr |
I2C_Clock_getTicks | Clock_getTicks |
I2C_Clock_usecToTicks | Clock_usecToTicks |
I2C_Clock_uSleep | Clock_uSleep |
I2C_lld_transferCompleteCallback | transferCompleteCallback |
I2C_lld_targetTransferCompleteCallback | targetTransferCompleteCallback |
User Parameters | |
uint8_t | state |
uint32_t | intStatusErr |
Transfer Parameters | |
I2CLLD_Message * | currentMsg |
I2CLLD_targetTransaction * | currentTargetTransaction |
uint8_t * | writeBufIdx |
uint32_t | writeCountIdx |
uint8_t * | readBufIdx |
uint32_t | readCountIdx |
uint32_t | startTicks |
uint32_t | currentTxnCount |
I2CLLD_Message | i2cMsg |
I2CLLD_Transaction | i2ctxn |
uint8_t * | dataArray |
uint8_t | addBuff [2] |
uint8_t | memAddrSize |
bool | memTxnActive |
I2CLLD_targetTransaction | i2cTargetTransaction |
void * | args |
uint32_t I2CLLD_Object::baseAddr |
Peripheral base address - CPU view
uint32_t I2CLLD_Object::intrNum |
I2C Peripheral interrupt vector
uint8_t I2CLLD_Object::bitRate |
I2C bit rate
uint32_t I2CLLD_Object::funcClk |
I2C input functional clock
uint32_t I2CLLD_Object::ownTargetAddr |
I2C own target addresses
I2C_Clock_getTicks I2CLLD_Object::Clock_getTicks |
Clock_getTicks Function Pointer used by driver
I2C_Clock_usecToTicks I2CLLD_Object::Clock_usecToTicks |
Clock_usecToTicks Function Pointer used by driver
I2C_Clock_uSleep I2CLLD_Object::Clock_uSleep |
Clock_uSleep Function Pointer used by driver
I2C_lld_transferCompleteCallback I2CLLD_Object::transferCompleteCallback |
Callback Function Pointer in Controller Mode
I2C_lld_targetTransferCompleteCallback I2CLLD_Object::targetTransferCompleteCallback |
Callback Function Pointer in Target Mode
uint8_t I2CLLD_Object::state |
Stores the I2C state
uint32_t I2CLLD_Object::intStatusErr |
Stores the error status of i2c Controller
I2CLLD_Message* I2CLLD_Object::currentMsg |
I2C transaction variables
I2CLLD_targetTransaction* I2CLLD_Object::currentTargetTransaction |
Pointer to current I2C target transaction
uint8_t* I2CLLD_Object::writeBufIdx |
Internal inc. writeBuf index
uint32_t I2CLLD_Object::writeCountIdx |
Internal dec. writeCounter
uint8_t* I2CLLD_Object::readBufIdx |
Internal inc. readBuf index
uint32_t I2CLLD_Object::readCountIdx |
Internal dec. readCounter
uint32_t I2CLLD_Object::startTicks |
Current msg Start ticks
uint32_t I2CLLD_Object::currentTxnCount |
Stores current transaction count
I2CLLD_Message I2CLLD_Object::i2cMsg |
i2cMessage object used by read/write APIs
I2CLLD_Transaction I2CLLD_Object::i2ctxn |
i2cTransaction array for read and write
uint8_t* I2CLLD_Object::dataArray |
Pointer to data array for memory read and write
uint8_t I2CLLD_Object::addBuff[2] |
Data buffer for storing address during memory read and write
uint8_t I2CLLD_Object::memAddrSize |
Stores memory address size for memory read and write Operation
bool I2CLLD_Object::memTxnActive |
Memory transaction in progress: true: Memory transaction in progress, false: No memory transaction in progress
I2CLLD_targetTransaction I2CLLD_Object::i2cTargetTransaction |
I2CLLD_targetTransaction object used by transfer API
void* I2CLLD_Object::args |
Pointer to be used by application to store miscellaneous data