Kamcho Library 02.00.03
lib.kamcho.02.00.03.287
|
Go to the source code of this file.
Data Structures | |
struct | I2C_Device_SlaveInfo_Type |
A structure to represent I2C slave device initialization information. More... | |
struct | I2C_Device_MasterInfo_Type |
A structure to represent I2C master device initialization information. More... | |
struct | I2C_State_t |
A structure to represent I2C device state. More... | |
struct | I2C_Device_Type |
A structure to represent I2C device. More... | |
Macros | |
#define | I2C_DEVICE_BUFFER_SIZE 64 |
Typedefs | |
typedef struct I2C_Device_SlaveInfo_Type | I2C_Device_SlaveInfo_t |
A structure to represent I2C slave device initialization information. More... | |
typedef struct I2C_Device_MasterInfo_Type | I2C_Device_MasterInfo_t |
A structure to represent I2C master device initialization information. More... | |
typedef struct I2C_Device_Type | I2C_Device_t |
A structure to represent I2C device. More... | |
Enumerations | |
enum | { I2C_DEVICE_SPEED_100K, I2C_DEVICE_SPEED_200K, I2C_DEVICE_SPEED_300K, I2C_DEVICE_SPEED_400K, I2C_DEVICE_SPEED_500K, I2C_DEVICE_SPEED_600K, I2C_DEVICE_SPEED_MAX = I2C_DEVICE_SPEED_600K } |
The enumeration of I2C Speed. More... | |
Functions | |
I2C_Device_t * | I2C_devGetDevice (const char *name) |
Request a I2C Device. More... | |
int32_t | I2C_devMasterInit (I2C_Device_t *dev, I2C_Device_MasterInfo_t *info) |
Initialize I2C master device. More... | |
int32_t | I2C_devSlaveInit (I2C_Device_t *dev, I2C_Device_SlaveInfo_t *info) |
Initialize I2C slave device. More... | |
int32_t | I2C_devReset (I2C_Device_t *dev) |
Reset I2C master device. More... | |
int32_t | I2C_devMasterSendData (I2C_Device_t *dev, uint16_t addr, uint8_t *data, uint32_t len) |
Send a data block through I2C master device. More... | |
int32_t | I2C_devMasterReadRequest (I2C_Device_t *dev, uint16_t addr, uint32_t len) |
Send a read request to I2C master device. More... | |
int32_t | I2C_devMasterRegisterReadRequest (I2C_Device_t *dev, uint16_t slave_addr, uint8_t *reg_addr, uint8_t addrlen, uint8_t datalen) |
Send a register read request to I2C master device. More... | |
int32_t | I2C_devMasterReadResult (I2C_Device_t *dev, uint8_t *data, uint32_t len) |
Read data from I2C master device, the data is the result of last read request. More... | |
int32_t | I2C_devIsInProgress (I2C_Device_t *dev) |
Check if I2C master device is busy in last transation. More... | |
int32_t | I2C_devEnable (I2C_Device_t *dev) |
Enable I2C hardware module. More... | |
int32_t | I2C_devDisable (I2C_Device_t *dev) |
Disable I2C hardware module. More... | |
int32_t | I2C_devSlaveSetResponseData (I2C_Device_t *dev, uint8_t *array, uint32_t len) |
Set response data to I2C slave module. More... | |
int32_t | I2C_devSlaveReadResult (I2C_Device_t *dev, uint8_t *array, uint32_t len) |
Read data from I2C slave module. More... | |
int32_t | I2C_devSlaveDataReceived (I2C_Device_t *dev) |
Check how many bytes received by I2C slave module. More... | |
int32_t | I2C_devSlaveDataResponsed (I2C_Device_t *dev) |
Check how many bytes has been read by a I2C master. More... | |
int32_t | I2C_devSlaveRestart (I2C_Device_t *dev) |
Restart next I2C cycle as a slave. More... | |
This file is proprietary to Indie Semiconductor. All rights reserved. Reproduction or distribution, in whole or in part, is forbidden except by express written permission of Indie Semiconductor.
#define I2C_DEVICE_BUFFER_SIZE 64 |
typedef struct I2C_Device_MasterInfo_Type I2C_Device_MasterInfo_t |
A structure to represent I2C master device initialization information.
typedef struct I2C_Device_SlaveInfo_Type I2C_Device_SlaveInfo_t |
A structure to represent I2C slave device initialization information.
typedef struct I2C_Device_Type I2C_Device_t |
A structure to represent I2C device.
anonymous enum |
int32_t I2C_devDisable | ( | I2C_Device_t * | dev | ) |
Disable I2C hardware module.
dev | The pointer to I2C device. |
int32_t I2C_devEnable | ( | I2C_Device_t * | dev | ) |
Enable I2C hardware module.
dev | The pointer to I2C device. |
I2C_Device_t* I2C_devGetDevice | ( | const char * | name | ) |
Request a I2C Device.
name | The name string of I2C device. |
int32_t I2C_devIsInProgress | ( | I2C_Device_t * | dev | ) |
Check if I2C master device is busy in last transation.
dev | The pointer to I2C device. |
int32_t I2C_devMasterInit | ( | I2C_Device_t * | dev, |
I2C_Device_MasterInfo_t * | info | ||
) |
Initialize I2C master device.
dev | The pointer to I2C device |
info | The pointer to the initialization information for I2C master device. |
int32_t I2C_devMasterReadRequest | ( | I2C_Device_t * | dev, |
uint16_t | addr, | ||
uint32_t | len | ||
) |
Send a read request to I2C master device.
dev | The pointer to I2C device. |
addr | The slave addr. |
len | The length of the data block. |
int32_t I2C_devMasterReadResult | ( | I2C_Device_t * | dev, |
uint8_t * | data, | ||
uint32_t | len | ||
) |
Read data from I2C master device, the data is the result of last read request.
dev | The pointer to I2C device. |
data | The pointer to the memory for saving the data block. |
len | The length of the data block. |
int32_t I2C_devMasterRegisterReadRequest | ( | I2C_Device_t * | dev, |
uint16_t | slave_addr, | ||
uint8_t * | reg_addr, | ||
uint8_t | addrlen, | ||
uint8_t | datalen | ||
) |
Send a register read request to I2C master device.
dev | The pointer to I2C device. |
slave_addr | The slave device address. |
reg_addr | The pointer to register address in slave device. |
addrlen | The length of register address. |
datalen | The data length to be read from the slave. |
int32_t I2C_devMasterSendData | ( | I2C_Device_t * | dev, |
uint16_t | addr, | ||
uint8_t * | data, | ||
uint32_t | len | ||
) |
Send a data block through I2C master device.
dev | The pointer to I2C device. |
addr | The slave addr. |
data | The pointer to the data block. |
len | The length of the data block. |
int32_t I2C_devReset | ( | I2C_Device_t * | dev | ) |
Reset I2C master device.
dev | The pointer to I2C device |
int32_t I2C_devSlaveDataReceived | ( | I2C_Device_t * | dev | ) |
Check how many bytes received by I2C slave module.
dev | The pointer to I2C device. |
int32_t I2C_devSlaveDataResponsed | ( | I2C_Device_t * | dev | ) |
Check how many bytes has been read by a I2C master.
dev | The pointer to I2C device. |
int32_t I2C_devSlaveInit | ( | I2C_Device_t * | dev, |
I2C_Device_SlaveInfo_t * | info | ||
) |
Initialize I2C slave device.
dev | The pointer to I2C device |
info | The pointer to the initialization information for I2C slave device. |
int32_t I2C_devSlaveReadResult | ( | I2C_Device_t * | dev, |
uint8_t * | array, | ||
uint32_t | len | ||
) |
Read data from I2C slave module.
dev | The pointer to I2C device. |
array | The pointer to data array to store the data. |
len | The length of data array. |
int32_t I2C_devSlaveRestart | ( | I2C_Device_t * | dev | ) |
Restart next I2C cycle as a slave.
dev | The pointer to I2C device. |
int32_t I2C_devSlaveSetResponseData | ( | I2C_Device_t * | dev, |
uint8_t * | array, | ||
uint32_t | len | ||
) |
Set response data to I2C slave module.
dev | The pointer to I2C device. |
array | The pointer to data array to be set. |
len | The length of data array. |