| 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::RPMsgTTYRTOSTransport Class Reference
Transport Layers » RPMsg TTY RTOS

Transport that uses RPMsg zero copy RTOS API for interprocessor messaging. More...

`#include <erpc_rpmsg_tty_rtos_transport.h>`

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

## Public Member Functions
| RPMsgTTYRTOSTransport (void)
| Constructor. More...
virtual | ~RPMsgTTYRTOSTransport (void)
| RPMsgRTOSTransport destructor.
virtual erpc_status_t | init (uint32_t src_addr, uint32_t dst_addr, void *base_address, uint32_t length, uint32_t rpmsg_link_id)
| This function call RPMsg rtos init function - as RPMsg master. More...
virtual erpc_status_t | init (uint32_t src_addr, uint32_t dst_addr, void *base_address, uint32_t rpmsg_link_id, void(*ready_cb)(void), char *nameservice_name)
| This function call RPMsg rtos init function - as RPMsg remote. More...
virtual erpc_status_t | receive (MessageBuffer *message)
| Store incoming message to message buffer. More...
virtual erpc_status_t | send (MessageBuffer *message)
| Function to send prepared message. More...
virtual void | setCrc16 (Crc16 *crcImpl)
| This functions sets the CRC-16 implementation. More...
Public Member Functions inherited from erpc::RPMsgBaseTransport
struct rpmsg_lite_instance * | get_rpmsg_lite_instance (void)
| This function returns pointer to instance of RPMSG lite. 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
uint32_t | m_dst_addr
rpmsg_queue_handle | m_rpmsg_queue
struct rpmsg_lite_endpoint * | m_rpmsg_ept
Crc16 * | m_crcImpl
| CRC object.

## Additional Inherited Members
Static Protected Attributes inherited from erpc::RPMsgBaseTransport
static struct rpmsg_lite_instance * | s_rpmsg
static uint8_t | s_initialized

## Detailed Description

Transport that uses RPMsg zero copy RTOS API for interprocessor messaging.

## Constructor & Destructor Documentation

RPMsgTTYRTOSTransport::RPMsgTTYRTOSTransport | ( | void |  | ) |

Constructor.

This function initializes object attributes.

## Member Function Documentation

erpc_status_t RPMsgTTYRTOSTransport::init | ( | uint32_t | src_addr,
|  | uint32_t | dst_addr,
|  | void * | base_address,
|  | uint32_t | length,
|  | uint32_t | rpmsg_link_id
| ) |  |
| virtual

This function call RPMsg rtos init function - as RPMsg master.

Parameters

  [in] | src_addr | Source address.
  [in] | dst_addr | Destination address.
  [in] | base_address | RPMsg base address in the shared memory.
  [in] | length | RPMsg shared memory region length.
  [in] | rpmsg_link_id | Selection between what cores the communication will occur.

Return values

  kErpcStatus_Success | When rpmsg init function was executed successfully.
  kErpcStatus_InitFailed | When rpmsg init function wasn't executed successfully.

erpc_status_t RPMsgTTYRTOSTransport::init | ( | uint32_t | src_addr,
|  | uint32_t | dst_addr,
|  | void * | base_address,
|  | uint32_t | rpmsg_link_id,
|  | void(*)(void) | ready_cb,
|  | char * | nameservice_name
| ) |  |
| virtual

This function call RPMsg rtos init function - as RPMsg remote.

Parameters

  [in] | src_addr | Source address.
  [in] | dst_addr | Destination address.
  [in] | base_address | RPMsg base address in the shared memory.
  [in] | rpmsg_link_id | Selection between what cores the communication will occur.
  [in] | ready_cb | Callback called after RPMsg init is done and the core is ready.
  [in] | nameservice_name | Name of the nameservice channel to be announced to the other core.

Return values

  kErpcStatus_Success | When rpmsg init function was executed successfully.
  kErpcStatus_InitFailed | When rpmsg init function wasn't executed successfully.

erpc_status_t RPMsgTTYRTOSTransport::receive | ( | MessageBuffer * | message | ) |
| virtual

Store incoming message to message buffer.

In loop while no message come.

Parameters

  [in] | message | Message buffer, to which will be stored incoming message.

Return values

  kErpcStatus_ReceiveFailed | Failed to receive message buffer.
  kErpcStatus_Success | Successfully received all data.

Implements erpc::Transport.

erpc_status_t RPMsgTTYRTOSTransport::send | ( | MessageBuffer * | message | ) |
| virtual

Function to send prepared message.

Parameters

  [in] | message | Pass message buffer to send.

Return values

  kErpcStatus_SendFailed | Failed to send message buffer.
  kErpcStatus_Success | Successfully sent all data.

Implements erpc::Transport.

void RPMsgTTYRTOSTransport::setCrc16 | ( | Crc16 * | crcImpl | ) |
| virtual

This functions sets the CRC-16 implementation.

Parameters

  [in] | crcImpl | Object containing crc-16 compute function.

Reimplemented from erpc::Transport.

## Member Data Documentation

uint32_t erpc::RPMsgTTYRTOSTransport::m_dst_addr
| protected

Destination address used by rpmsg.

rpmsg_queue_handle erpc::RPMsgTTYRTOSTransport::m_rpmsg_queue
| protected

Handle of RPMsg queue.

struct rpmsg_lite_endpoint* erpc::RPMsgTTYRTOSTransport::m_rpmsg_ept
| protected

Pointer to RPMsg Lite Endpoint structure.

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

- erpc_rpmsg_tty_rtos_transport.h
- erpc_rpmsg_tty_rtos_transport.cpp