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

Very basic transport to send/receive messages via virtual USB CDC port. More...

#include <erpc_usb_cdc_transport.hpp>

+ Inheritance diagram for erpc::UsbCdcTransport:
+ Collaboration diagram for erpc::UsbCdcTransport:

Public Member Functions

 UsbCdcTransport (serial_handle_t serialHandle, serial_manager_config_t *serialConfig, serial_port_usb_cdc_config_t *usbCdcConfig, uint8_t *usbRingBuffer, uint32_t usbRingBufferLength)
 Constructor. More...
 
virtual ~UsbCdcTransport (void)
 Destructor.
 
virtual erpc_status_t init (void)
 Initialize USB CDC peripheral configuration structure with values specified in UsbCdcTransport constructor. More...
 
void rx_cb (void)
 Function called from Serial Manager Rx Callback to unblock the receive function. More...
 
void tx_cb (void)
 Function called from Serial Manager Tx Callback to unblock the send function. 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

Semaphore m_rxSemaphore
 
Semaphore m_txSemaphore
 
- 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 virtual USB CDC port.

Constructor & Destructor Documentation

UsbCdcTransport::UsbCdcTransport ( serial_handle_t  serialHandle,
serial_manager_config_t *  serialConfig,
serial_port_usb_cdc_config_t *  usbCdcConfig,
uint8_t *  usbRingBuffer,
uint32_t  usbRingBufferLength 
)

Constructor.

Parameters
[in]serialHandlePointer to point to a memory space of size #SERIAL_MANAGER_HANDLE_SIZE allocated by the caller, see serial manager header file.
[in]serialConfigPointer to user-defined configuration structure allocated by the caller, see serial manager header file.
[in]usbCdcConfigPointer to serial port usb config structure allocated by the caller, see serial manager header file.
[in]usbRingBufferPointer to point serial manager ring buffer allocated by the caller, see serial manager header file.
[in]usbRingBufferLengthSerial manager ring buffer size.

Member Function Documentation

erpc_status_t UsbCdcTransport::init ( void  )
virtual

Initialize USB CDC peripheral configuration structure with values specified in UsbCdcTransport constructor.

Return values
kErpcStatus_InitFailedWhen USB CDC init function failed.
kErpcStatus_SuccessWhen USB CDC init function was executed successfully.
void UsbCdcTransport::rx_cb ( void  )

Function called from Serial Manager Rx Callback to unblock the receive function.

Unblocks the receive function.

void UsbCdcTransport::tx_cb ( void  )

Function called from Serial Manager Tx Callback to unblock the send function.

Unblocks the send function.

Member Data Documentation

Semaphore erpc::UsbCdcTransport::m_rxSemaphore
protected

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

Semaphore erpc::UsbCdcTransport::m_txSemaphore
protected

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


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