iLLD_TC27xC  1.0
Module Functions
Collaboration diagram for Module Functions:

Functions

IFX_EXTERN void IfxI2c_I2c_initConfig (IfxI2c_I2c_Config *config, Ifx_I2C *i2c)
 Fills the config structure with default values. More...
 
IFX_EXTERN void IfxI2c_I2c_initDevice (const IfxI2c_I2c_deviceConfig *i2cDeviceConfig, IfxI2c_I2c_Device *i2cDevice)
 Initializes the device Handler. More...
 
IFX_EXTERN void IfxI2c_I2c_initDeviceConfig (IfxI2c_I2c_deviceConfig *i2cDeviceConfig, IfxI2c_I2c *i2c)
 Fills the config structure of the slave device with default values. More...
 
IFX_EXTERN void IfxI2c_I2c_initModule (IfxI2c_I2c *i2c, const IfxI2c_I2c_Config *config)
 Initializes the Module. More...
 
IFX_EXTERN IfxI2c_I2c_Status IfxI2c_I2c_read (IfxI2c_I2c_Device *i2cDevice, uint8 *data, Ifx_SizeT size)
 reads the I2c device More...
 
IFX_EXTERN IfxI2c_I2c_Status IfxI2c_I2c_write (IfxI2c_I2c_Device *i2cDevice, uint8 *data, Ifx_SizeT size)
 writes to the I2c device More...
 

Detailed Description

Function Documentation

IFX_EXTERN void IfxI2c_I2c_initConfig ( IfxI2c_I2c_Config config,
Ifx_I2C *  i2c 
)

Fills the config structure with default values.

Parameters
configStructure to configure the Module
i2cModule address
Returns
None

Definition at line 35 of file IfxI2c_I2c.c.

IFX_EXTERN void IfxI2c_I2c_initDevice ( const IfxI2c_I2c_deviceConfig i2cDeviceConfig,
IfxI2c_I2c_Device i2cDevice 
)

Initializes the device Handler.

Parameters
i2cDeviceConfigStructure to configure the device's data structure
i2cDeviceI2c device Handler
Returns
None

Usage Example:

// create device config
IfxI2c_I2c_deviceConfig i2cDeviceConfig;
// fill structure with default values and i2c Handler
IfxI2c_I2c_initDeviceConfig(&i2cDeviceConfig, &i2c);
// set device specifig values
i2cDeviceConfig.deviceAdddress = devAddr // i2c device address
// IfxI2c_I2c_Device i2cDev // device Handler, defined globally
IfxI2c_I2c_initDevice(&i2cDeviceConfig, &i2cDev);

Definition at line 43 of file IfxI2c_I2c.c.

IFX_EXTERN void IfxI2c_I2c_initDeviceConfig ( IfxI2c_I2c_deviceConfig i2cDeviceConfig,
IfxI2c_I2c i2c 
)

Fills the config structure of the slave device with default values.

Parameters
i2cDeviceConfigStructure to configure the device's data structure
i2cHandler
Returns
None

Definition at line 50 of file IfxI2c_I2c.c.

IFX_EXTERN void IfxI2c_I2c_initModule ( IfxI2c_I2c i2c,
const IfxI2c_I2c_Config config 
)

Initializes the Module.

Parameters
i2cHandler
configConfiguration structure
Returns
None

Usage Example:

// create config structure
// fill structure with default values and Module address
IfxI2c_I2c_initConfig(&coinfig, &MODULE_I2C0);
// configure pins
const IfxI2c_Pins pins = {
};
config.pins = &pins;
config.baudrate = 400000; // 400 kHz
// initialize module
// IfxI2c_I2c i2c; // Handler, defined globally
IfxI2c_I2c_initModule(&i2c, &config);

Definition at line 57 of file IfxI2c_I2c.c.

IFX_EXTERN IfxI2c_I2c_Status IfxI2c_I2c_read ( IfxI2c_I2c_Device i2cDevice,
uint8 data,
Ifx_SizeT  size 
)

reads the I2c device

Usage Example:

uint8 data[64];
uint16 addr = 0x0000;
// setup internal address to be read from
data[0] = addr >> 8; // High byte
data[1] = (uint8)addr; // Low byte
while((s = IfxI2c_I2c_write(&i2cDev, data, 2)) == IfxI2c_I2c_Status_nak);
uint8 size = 8; // 8 bytes to read
// read
IfxI2c_I2c_read(&i2cDev, data, size);

Definition at line 74 of file IfxI2c_I2c.c.

IFX_EXTERN IfxI2c_I2c_Status IfxI2c_I2c_write ( IfxI2c_I2c_Device i2cDevice,
uint8 data,
Ifx_SizeT  size 
)

writes to the I2c device

Usage Example:

uint8 data[64];
uint16 addr = 0x0000;
// setup the device's internal address
data[0] = addr >> 8; // High byte
data[1] = (uint8)addr; // Low byte
// setup data to be written
data[2] = 0x01;
data[3] = 0x02;
data[4] = 0x03;
uint8 size = 5; // 5 bytes to transmit to i2cDev
// write
IfxI2c_I2c_write(&i2cDev, &data, size);

Definition at line 268 of file IfxI2c_I2c.c.