eRPC API Reference
Rev. 1.12.0
NXP Semiconductors
|
Very basic transport to send/receive messages via I2C. More...
#include <erpc_i2c_slave_transport.hpp>
Public Member Functions | |
I2cSlaveTransport (I2C_Type *i2cBaseAddr, uint32_t baudRate, uint32_t srcClock_Hz) | |
Constructor. More... | |
virtual | ~I2cSlaveTransport (void) |
Destructor. | |
virtual erpc_status_t | init (void) |
Initialize I2C peripheral configuration structure with values specified in I2cTransport constructor. More... | |
void | transfer_cb (void) |
Function called from I2C_SlaveUserCallback when I2C transfer is completed. More... | |
Public Member Functions inherited from erpc::FramedTransport | |
FramedTransport (void) | |
Constructor. | |
virtual | ~FramedTransport (void) |
FramedTransport destructor. | |
virtual uint8_t | reserveHeaderSize (void) override |
Size of data placed in MessageBuffer before serializing eRPC data. More... | |
virtual erpc_status_t | receive (MessageBuffer *message) override |
Receives an entire message. More... | |
virtual erpc_status_t | send (MessageBuffer *message) override |
Function to send prepared message. More... | |
virtual void | setCrc16 (Crc16 *crcImpl) override |
This functions sets the CRC-16 implementation. More... | |
virtual Crc16 * | getCrc16 (void) override |
This functions gets the CRC-16 object. More... | |
Public Member Functions inherited from erpc::Transport | |
Transport (void) | |
Constructor. | |
virtual | ~Transport (void) |
Transport destructor. | |
virtual bool | hasMessage (void) |
Poll for an incoming message. More... | |
Protected Attributes | |
I2C_Type * | m_i2cBaseAddr |
uint32_t | m_baudRate |
uint32_t | m_srcClock_Hz |
bool | m_isInited |
Semaphore | m_txrxSemaphore |
Protected Attributes inherited from erpc::FramedTransport | |
Crc16 * | m_crcImpl |
Mutex | m_sendLock |
Mutex protecting send. | |
Mutex | m_receiveLock |
Mutex protecting receive. | |
Additional Inherited Members | |
Protected Member Functions inherited from erpc::FramedTransport | |
virtual erpc_status_t | underlyingSend (MessageBuffer *message, uint32_t size, uint32_t offset) |
Adds ability to framed transport to overwrite MessageBuffer when sending data. More... | |
virtual erpc_status_t | underlyingReceive (MessageBuffer *message, uint32_t size, uint32_t offset) |
Adds ability to framed transport to overwrite MessageBuffer when receiving data. More... | |
Very basic transport to send/receive messages via I2C.
I2cSlaveTransport::I2cSlaveTransport | ( | I2C_Type * | i2cBaseAddr, |
uint32_t | baudRate, | ||
uint32_t | srcClock_Hz | ||
) |
Constructor.
[in] | i2cBaseAddr | I2C peripheral base address. |
[in] | baudRate | Baudrate. |
[in] | srcClock_Hz | Source clock. |
|
virtual |
Initialize I2C peripheral configuration structure with values specified in I2cTransport constructor.
kErpcStatus_Success | Always returns success status. |
void I2cSlaveTransport::transfer_cb | ( | void | ) |
Function called from I2C_SlaveUserCallback when I2C transfer is completed.
Unblocks the send/receive function.
|
protected |
Base address of I2C peripheral used in this transport layer
|
protected |
Baud rate of I2C peripheral used in this transport layer
|
protected |
Source clock of I2C peripheral used in this transport layer
|
protected |
the I2C peripheral init status flag
|
protected |
Semaphore used by RTOS to block task until the sending/receiving is not complete