Master mode transfer message structure used to define a complete I2C transfer sequence (from start to stop).
The structure allows for defining the following types of sequences (refer to defines for sequence details):
- I2C_FLAG_READ - Data read into buf[0].data
- I2C_FLAG_WRITE - Data written from buf[0].data
- I2C_FLAG_WRITE_READ - Data written from buf[0].data and read into buf[1].data
- I2C_FLAG_WRITE_WRITE - Data written from buf[0].data and buf[1].data
Definition at line 243
of file em_i2c.h
.
#include <
em_i2c.h
>
Data Fields | |
uint16_t | addr |
Address to use after (repeated) start. | |
struct { | |
uint8_t * data | |
uint16_t len | |
} | buf [2] |
uint16_t | flags |
Field Documentation
uint16_t I2C_TransferSeq_TypeDef::addr |
Address to use after (repeated) start.
Layout details, A = Address bit, X = don't care bit (set to 0):
- 7 bit address - Use format AAAA AAAX
- 10 bit address - Use format XXXX XAAX AAAA AAAA
Definition at line 252
of file em_i2c.h
.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), controllerRead(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si114x_i2c_smbus_read_byte_data(), Si114x_i2c_smbus_read_i2c_block_data(), Si114x_i2c_smbus_write_byte_data(), Si114x_i2c_smbus_write_i2c_block_data(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_registerRead(), SI7210_registerWrite(), SI7210_wakeUp(), Si72xx_Read_Register(), Si72xx_WakeUpAndIdle(), Si72xx_Write_Register(), sl_efp_read_register(), sl_efp_write_register(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
struct { ... } I2C_TransferSeq_TypeDef::buf[2] |
Buffers used to hold data to send from or receive into, depending on sequence type.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), controllerRead(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si114x_i2c_smbus_read_byte_data(), Si114x_i2c_smbus_read_i2c_block_data(), Si114x_i2c_smbus_write_byte_data(), Si114x_i2c_smbus_write_i2c_block_data(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_registerRead(), SI7210_registerWrite(), SI7210_wakeUp(), Si72xx_Read_Register(), Si72xx_WakeUpAndIdle(), Si72xx_Write_Register(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
uint8_t* I2C_TransferSeq_TypeDef::data |
Buffer used for data to transmit/receive, must be len
long.
Definition at line 263
of file em_i2c.h
.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), controllerRead(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si114x_i2c_smbus_read_byte_data(), Si114x_i2c_smbus_read_i2c_block_data(), Si114x_i2c_smbus_write_byte_data(), Si114x_i2c_smbus_write_i2c_block_data(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_registerRead(), SI7210_registerWrite(), SI7210_wakeUp(), Si72xx_Read_Register(), Si72xx_WakeUpAndIdle(), Si72xx_Write_Register(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
uint16_t I2C_TransferSeq_TypeDef::flags |
Flags defining sequence type and details, see I2C_FLAG_ defines.
Definition at line 255
of file em_i2c.h
.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), controllerRead(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si114x_i2c_smbus_read_byte_data(), Si114x_i2c_smbus_read_i2c_block_data(), Si114x_i2c_smbus_write_byte_data(), Si114x_i2c_smbus_write_i2c_block_data(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_registerRead(), SI7210_registerWrite(), SI7210_wakeUp(), Si72xx_Read_Register(), Si72xx_WakeUpAndIdle(), Si72xx_Write_Register(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
uint16_t I2C_TransferSeq_TypeDef::len |
Number of bytes in data
to send or receive. Notice that when receiving data to this buffer, at least 1 byte must be received. Setting len
to 0 in the receive case is considered a usage fault. Transmitting 0 bytes is legal, in which case only the address is transmitted after the start condition.
Definition at line 272
of file em_i2c.h
.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), controllerRead(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si114x_i2c_smbus_read_byte_data(), Si114x_i2c_smbus_read_i2c_block_data(), Si114x_i2c_smbus_write_byte_data(), Si114x_i2c_smbus_write_i2c_block_data(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_registerRead(), SI7210_registerWrite(), SI7210_wakeUp(), Si72xx_Read_Register(), Si72xx_WakeUpAndIdle(), Si72xx_Write_Register(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
The documentation for this struct was generated from the following file:
- C:/HandsOn/super/platform/emlib/inc/
em_i2c.h