EFM32 Gecko Software Documentation
efm32g-doc-5.1.2
|
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, please refer to defines for sequence details.
#include <em_i2c.h>
Data Fields | |
uint16_t | addr |
Address to use after (repeated) start. More... | |
struct { | |
uint8_t * data | |
uint16_t len | |
} | buf [2] |
uint16_t | flags |
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):
Definition at line 262 of file em_i2c.h.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), performI2CTransfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_regRead(), SI7210_regWrite(), 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(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), performI2CTransfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_regRead(), SI7210_regWrite(), 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 274 of file em_i2c.h.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), performI2CTransfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_regRead(), SI7210_regWrite(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().
uint16_t I2C_TransferSeq_TypeDef::flags |
Flags defining sequence type and details, see I2C_FLAG_... defines.
Definition at line 265 of file em_i2c.h.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), performI2CTransfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_regRead(), SI7210_regWrite(), 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 283 of file em_i2c.h.
Referenced by CCS811_getMeasurement(), CCS811_getRawData(), CCS811_readMailbox(), CCS811_setEnvData(), CCS811_setMeasureMode(), CCS811_softwareReset(), EEPROM_AckPoll(), EEPROM_Read(), EEPROM_Write(), I2C_Transfer(), I2C_TransferInit(), performI2CTransfer(), SI1133_registerBlockRead(), SI1133_registerBlockWrite(), SI1133_registerRead(), SI1133_registerWrite(), Si1147_Read_Block_Register(), Si1147_Read_Register(), Si1147_Write_Block_Register(), Si1147_Write_Register(), Si7013_Detect(), Si7013_GetFirmwareRevision(), SI7021_cmdRead(), SI7021_cmdWrite(), SI7210_regRead(), SI7210_regWrite(), TEMPSENS_RegisterGet(), and TEMPSENS_RegisterSet().