FreeRTOS:
Common I/O
AWS IoT Common I/O library
|
Return to main page ↑ |
File for the APIs of I2C called by application layer. More...
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | IotI2CConfig_t |
I2C bus configuration. More... | |
Macros | |
#define | IOT_I2C_STANDARD_MODE_BPS ( 100000 ) |
#define | IOT_I2C_FAST_MODE_BPS ( 400000 ) |
#define | IOT_I2C_FAST_MODE_PLUS_BPS ( 1000000 ) |
#define | IOT_I2C_HIGH_SPEED_BPS ( 3400000 ) |
#define | IOT_I2C_SUCCESS ( 0 ) |
#define | IOT_I2C_INVALID_VALUE ( 1 ) |
#define | IOT_I2C_BUSY ( 2 ) |
#define | IOT_I2C_WRITE_FAILED ( 3 ) |
#define | IOT_I2C_READ_FAILED ( 4 ) |
#define | IOT_I2C_NACK ( 5 ) |
#define | IOT_I2C_BUS_TIMEOUT ( 6 ) |
#define | IOT_I2C_NOTHING_TO_CANCEL ( 7 ) |
#define | IOT_I2C_FUNCTION_NOT_SUPPORTED ( 8 ) |
#define | IOT_I2C_SLAVE_ADDRESS_NOT_SET ( 9 ) |
Typedefs | |
typedef struct IotI2CDescriptor * | IotI2CHandle_t |
IotI2CHandle_t is the handle type returned by calling iot_i2c_open(). This is initialized in open and returned to caller. The caller must pass this pointer to the rest of APIs. | |
typedef void(* | IotI2CCallback_t) (IotI2COperationStatus_t xOpStatus, void *pvUserContext) |
The callback function for completion of I2C operation. More... | |
Enumerations | |
enum | IotI2CBusStatus_t { eI2CBusIdle = 0, eI2cBusBusy = IOT_I2C_BUSY } |
I2C Bus status. More... | |
enum | IotI2COperationStatus_t { eI2CCompleted = IOT_I2C_SUCCESS, eI2CDriverFailed, eI2CNackFromSlave = IOT_I2C_NACK, eI2CMasterTimeout = IOT_I2C_BUS_TIMEOUT } |
I2C operation status. More... | |
enum | IotI2CIoctlRequest_t { eI2CSendNoStopFlag, eI2CSetSlaveAddr, eI2CSetMasterConfig, eI2CGetMasterConfig, eI2CGetBusState, eI2CBusReset, eI2CGetTxNoOfbytes, eI2CGetRxNoOfbytes } |
Ioctl request types. More... | |
Functions | |
IotI2CHandle_t | iot_i2c_open (int32_t lI2CInstance) |
Initiates and reserves an I2C instance as master. More... | |
void | iot_i2c_set_callback (IotI2CHandle_t const pxI2CPeripheral, IotI2CCallback_t xCallback, void *pvUserContext) |
Sets the application callback to be called on completion of an operation. More... | |
int32_t | iot_i2c_read_sync (IotI2CHandle_t const pxI2CPeripheral, uint8_t *const pucBuffer, size_t xBytes) |
Starts the I2C master read operation in synchronous mode. More... | |
int32_t | iot_i2c_write_sync (IotI2CHandle_t const pxI2CPeripheral, uint8_t *const pucBuffer, size_t xBytes) |
Starts the I2C master write operation in synchronous mode. More... | |
int32_t | iot_i2c_read_async (IotI2CHandle_t const pxI2CPeripheral, uint8_t *const pucBuffer, size_t xBytes) |
Starts the I2C master read operation in asynchronous mode. More... | |
int32_t | iot_i2c_write_async (IotI2CHandle_t const pxI2CPeripheral, uint8_t *const pucBuffer, size_t xBytes) |
Starts the I2C master write operation in asynchronous mode. More... | |
int32_t | iot_i2c_ioctl (IotI2CHandle_t const pxI2CPeripheral, IotI2CIoctlRequest_t xI2CRequest, void *const pvBuffer) |
Configures the I2C master with user configuration. More... | |
int32_t | iot_i2c_close (IotI2CHandle_t const pxI2CPeripheral) |
Stops the ongoing operation and de-initializes the I2C peripheral. More... | |
int32_t | iot_i2c_cancel (IotI2CHandle_t const pxI2CPeripheral) |
This function is used to cancel the current operation in progress, if possible. More... | |
File for the APIs of I2C called by application layer.