| eRPC API Reference Rev. 1.8.1 NXP Semiconductors

- Main Page
- API Reference
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | List of all members
erpc::UsbCdcTransport Class Reference
Transport Layers » USB CDC

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

`#include <erpc_usb_cdc_transport.h>`

Inheritance diagram for erpc::UsbCdcTransport:
[legend]
Collaboration diagram for erpc::UsbCdcTransport:
[legend]

## 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)
| Codec destructor.
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...
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
Crc16 * | m_crcImpl
Mutex | m_sendLock
| Mutex protecting send.
Mutex | m_receiveLock
| Mutex protecting receive.

## Additional Inherited Members

## 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] | serialHandle | Pointer to point to a memory space of size #SERIAL_MANAGER_HANDLE_SIZE allocated by the caller, see serial manager header file.
  [in] | serialConfig | Pointer to user-defined configuration structure allocated by the caller, see serial manager header file.
  [in] | usbCdcConfig | Pointer to serial port usb config structure allocated by the caller, see serial manager header file.
  [in] | usbRingBuffer | Pointer to point serial manager ring buffer allocated by the caller, see serial manager header file.
  [in] | usbRingBufferLength | Serial 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_InitFailed | When USB CDC init function failed.
  kErpcStatus_Success | When 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:

- erpc_usb_cdc_transport.h
- erpc_usb_cdc_transport.cpp