eRPC API Reference
Rev. 1.12.0
NXP Semiconductors
|
Very basic transport to send/receive messages via SPI. More...
#include <erpc_spi_slave_transport.hpp>
Public Member Functions | |
SpiSlaveTransport (SPI_Type *spiBaseAddr, uint32_t baudRate, uint32_t srcClock_Hz) | |
Constructor. More... | |
virtual | ~SpiSlaveTransport (void) |
Destructor. | |
virtual erpc_status_t | init (void) |
Initialize SPI peripheral configuration structure with values specified in SpiTransport constructor. More... | |
void | transfer_cb (void) |
Function called from SPI_SlaveUserCallback when SPI 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 | |
SPI_Type * | m_spiBaseAddr |
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 SPI.
SpiSlaveTransport::SpiSlaveTransport | ( | SPI_Type * | spiBaseAddr, |
uint32_t | baudRate, | ||
uint32_t | srcClock_Hz | ||
) |
Constructor.
[in] | spiBaseAddr | DSPI peripheral base address. |
[in] | baudRate | Baudrate. |
[in] | srcClock_Hz | Source clock. |
|
virtual |
Initialize SPI peripheral configuration structure with values specified in SpiTransport constructor.
kErpcStatus_Success | Always returns success status. |
void SpiSlaveTransport::transfer_cb | ( | void | ) |
Function called from SPI_SlaveUserCallback when SPI transfer is completed.
Unblocks the send/receive function.
|
protected |
Base address of SPI peripheral used in this transport layer
|
protected |
Baud rate of SPI peripheral used in this transport layer
|
protected |
Source clock of SPI peripheral used in this transport layer
|
protected |
the SPI peripheral init status flag
|
protected |
Semaphore used by RTOS to block task until the sending/receiving is not complete