eRPC API Reference  Rev. 1.12.0
NXP Semiconductors
erpc::LPSpiSlaveTransport Class Reference

Very basic transport to send/receive messages via LPSPI. More...

#include <erpc_lpspi_slave_transport.hpp>

+ Inheritance diagram for erpc::LPSpiSlaveTransport:
+ Collaboration diagram for erpc::LPSpiSlaveTransport:

Public Member Functions

 LPSpiSlaveTransport (LPSPI_Type *lpspiBaseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
 Constructor. More...
 
virtual ~LPSpiSlaveTransport (void)
 Destructor.
 
virtual erpc_status_t init (void)
 Initialize LPSPI peripheral configuration structure with values specified in LPSpiTransport constructor. More...
 
void transfer_cb (void)
 Function called from LPSPI_SlaveUserCallback when LPSPI 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 Crc16getCrc16 (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

LPSPI_Type * m_lpspiBaseAddr
 
uint32_t m_baudRate
 
uint32_t m_srcClock_Hz
 
bool m_isInited
 
Semaphore m_txrxSemaphore
 
- Protected Attributes inherited from erpc::FramedTransport
Crc16m_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...
 

Detailed Description

Very basic transport to send/receive messages via LPSPI.

Constructor & Destructor Documentation

LPSpiSlaveTransport::LPSpiSlaveTransport ( LPSPI_Type *  lpspiBaseAddr,
uint32_t  baudRate,
uint32_t  srcClock_Hz 
)

Constructor.

Parameters
[in]lpspiBaseAddrLPSPI peripheral base address.
[in]baudRateBaudrate.
[in]srcClock_HzSource clock.

Member Function Documentation

erpc_status_t LPSpiSlaveTransport::init ( void  )
virtual

Initialize LPSPI peripheral configuration structure with values specified in LPSpiTransport constructor.

Return values
kErpcStatus_SuccessAlways returns success status.
void LPSpiSlaveTransport::transfer_cb ( void  )

Function called from LPSPI_SlaveUserCallback when LPSPI transfer is completed.

Unblocks the send/receive function.

Member Data Documentation

LPSPI_Type* erpc::LPSpiSlaveTransport::m_lpspiBaseAddr
protected

Base address of LPSPI peripheral used in this transport layer

uint32_t erpc::LPSpiSlaveTransport::m_baudRate
protected

Baud rate of LPSPI peripheral used in this transport layer

uint32_t erpc::LPSpiSlaveTransport::m_srcClock_Hz
protected

Source clock of LPSPI peripheral used in this transport layer

bool erpc::LPSpiSlaveTransport::m_isInited
protected

the LPSPI peripheral init status flag

Semaphore erpc::LPSpiSlaveTransport::m_txrxSemaphore
protected

Semaphore used by RTOS to block task until the sending/receiving is not complete


The documentation for this class was generated from the following files: