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