30 #ifndef SOURCES_I2C_PAL_H_
31 #define SOURCES_I2C_PAL_H_
33 #include "i2c_pal_cfg.h"
72 #if defined(I2C_OVER_SWI2C)
81 swi2c_pin_t *sdaReadPin;
82 swi2c_pin_t *sclReadPin;
83 }extension_swi2c_for_i2c_t;
145 #if defined(__cplusplus)
436 #if defined(__cplusplus)
status_t I2C_SlaveReceiveData(const i2c_instance_t *const instance, uint8_t *rxBuff, uint32_t rxSize)
Perform a non-blocking receive transaction on the I2C bus.
status_t I2C_MasterAbortTransfer(const i2c_instance_t *const instance)
Abort a non-blocking I2C Master transmission or reception.
status_t I2C_SlaveGetTransferStatus(const i2c_instance_t *const instance, uint32_t *bytesRemaining)
Return the current status of the I2C slave transfer.
status_t I2C_SlaveSendData(const i2c_instance_t *const instance, const uint8_t *txBuff, uint32_t txSize)
Perform a non-blocking send transaction on the I2C bus.
i2c_pal_transfer_type_t
Defines the mechanism to update the rx or tx buffers Implements : i2c_pal_transfer_type_t_Class.
status_t I2C_SlaveAbortTransfer(const i2c_instance_t *const instance)
Abort a non-blocking I2C slave transmission or reception.
status_t I2C_GetDefaultSlaveConfig(i2c_slave_t *config)
Gets the default configuration structure for slave.
i2c_master_callback_t callback
status_t I2C_SlaveReceiveDataBlocking(const i2c_instance_t *const instance, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
Perform a blocking receive transaction on the I2C bus.
status_t I2C_SlaveSendDataBlocking(const i2c_instance_t *const instance, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
Perform a blocking send transaction on the I2C bus.
status_t I2C_MasterSendData(const i2c_instance_t *const instance, const uint8_t *txBuff, uint32_t txSize, bool sendStop)
Perform a non-blocking send transaction on the I2C bus.
Defines the configuration structure for I2C slave Implements: i2c_slave_t_Class.
i2c_operating_mode_t operatingMode
status_t I2C_SlaveSetRxBuffer(const i2c_instance_t *const instance, uint8_t *rxBuff, uint32_t rxSize)
Provide a buffer for receiving data.
void(* i2c_master_callback_t)(i2c_master_event_t event, void *userData)
status_t I2C_MasterSendDataBlocking(const i2c_instance_t *const instance, const uint8_t *txBuff, uint32_t txSize, bool sendStop, uint32_t timeout)
Perform a blocking send transaction on the I2C bus.
status_t I2C_MasterInit(const i2c_instance_t *const instance, const i2c_master_t *config)
Initializes the I2C module in master mode.
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
status_t I2C_MasterGetTransferStatus(const i2c_instance_t *const instance, uint32_t *bytesRemaining)
Return the current status of the I2C master transfer.
i2c_pal_transfer_type_t transferType
Structure storing PAL instance information.
status_t I2C_GetDefaultMasterConfig(i2c_master_t *config)
Gets the default configuration structure for master.
status_t I2C_MasterSetSlaveAddress(const i2c_instance_t *const instance, const uint16_t address, const bool is10bitAddr)
Set the slave address for the I2C communication.
i2c_operating_mode_t operatingMode
status_t I2C_MasterReceiveDataBlocking(const i2c_instance_t *const instance, uint8_t *rxBuff, uint32_t rxSize, bool sendStop, uint32_t timeout)
Perform a blocking receive transaction on the I2C bus.
Defines the configuration structure for I2C master Implements : i2c_master_t_Class.
i2c_slave_callback_t callback
i2c_operating_mode_t
Defines the operation mode of the i2c pal Implements : i2c_operating_mode_t_Class.
status_t I2C_MasterGetBaudRate(const i2c_instance_t *const instance, uint32_t *baudRate)
Get the master baud rate for the I2C communication.
status_t I2C_SlaveSetTxBuffer(const i2c_instance_t *const instance, const uint8_t *txBuff, uint32_t txSize)
Provide a buffer for transmitting data.
status_t I2C_SlaveDeinit(const i2c_instance_t *const instance)
De-initializes the i2c slave module.
void(* i2c_slave_callback_t)(i2c_slave_event_t event, void *userData)
status_t I2C_MasterReceiveData(const i2c_instance_t *const instance, uint8_t *rxBuff, uint32_t rxSize, bool sendStop)
Perform a non-blocking receive transaction on the I2C bus.
status_t I2C_SlaveInit(const i2c_instance_t *const instance, const i2c_slave_t *config)
Initializes the I2C module in slave mode.
status_t I2C_MasterSetBaudRate(const i2c_instance_t *const instance, const i2c_master_t *config, uint32_t baudRate)
Set the master baud rate for the I2C communication.
status_t I2C_MasterDeinit(const i2c_instance_t *const instance)
De-initializes the I2C master module.
Defines the extension structure for the I2C over FLEXIO Implements : extension_flexio_for_i2c_t_Class...
i2c_pal_transfer_type_t transferType