| eRPC API Reference Rev. 1.8.1 NXP Semiconductors

- Main Page
- API Reference
- Classes
- Files

- File List
- File Members

erpc_rpmsg_tty_rtos_transport.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2020 NXP
4 * All rights reserved.
5 *
6 *
7 * SPDX-License-Identifier: BSD-3-Clause
8 */
9
10 #ifndef _EMBEDDED_RPC__RPMSG_LITE_TTY_RTOS_TRANSPORT_H_
11 #define _EMBEDDED_RPC__RPMSG_LITE_TTY_RTOS_TRANSPORT_H_
12
13 #include "erpc_crc16.h"
14 #include "erpc_message_buffer.h"
15 #include "erpc_rpmsg_lite_base_transport.h"
16
17 #include "rpmsg_lite.h"
18 #include "rpmsg_queue.h"
19
26 // Definitions
29
31 // Classes
33
34 namespace erpc {
41 class RPMsgTTYRTOSTransport : public RPMsgBaseTransport
42 {
43 public:
49 RPMsgTTYRTOSTransport(void);
50
54 virtual ~RPMsgTTYRTOSTransport(void);
55
71 virtual erpc_status_t init(uint32_t src_addr, uint32_t dst_addr, void *base_address, uint32_t length,
72 uint32_t rpmsg_link_id);
73
92 virtual erpc_status_t init(uint32_t src_addr, uint32_t dst_addr, void *base_address, uint32_t rpmsg_link_id,
93 void (*ready_cb)(void), char *nameservice_name);
94
106 virtual erpc_status_t receive(MessageBuffer *message);
107
116 virtual erpc_status_t send(MessageBuffer *message);
117
123 virtual void setCrc16(Crc16 *crcImpl);
124
125 protected:
126 uint32_t m_dst_addr;
127 rpmsg_queue_handle m_rpmsg_queue;
128 struct rpmsg_lite_endpoint *m_rpmsg_ept;
129 Crc16 *m_crcImpl;
130 };
131
132 } // namespace erpc
133
136 #endif // _EMBEDDED_RPC__RPMSG_LITE_TTY_RTOS_TRANSPORT_H_
erpc::RPMsgTTYRTOSTransport::m_dst_addr
uint32_t m_dst_addr
Definition: erpc_rpmsg_tty_rtos_transport.h:126
erpc::RPMsgTTYRTOSTransport
Transport that uses RPMsg zero copy RTOS API for interprocessor messaging.
Definition: erpc_rpmsg_tty_rtos_transport.h:41
erpc_status_t
enum _erpc_status erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:87
erpc::RPMsgTTYRTOSTransport::RPMsgTTYRTOSTransport
RPMsgTTYRTOSTransport(void)
Constructor.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:33
erpc_crc16.h
erpc::RPMsgTTYRTOSTransport::m_rpmsg_ept
struct rpmsg_lite_endpoint * m_rpmsg_ept
Definition: erpc_rpmsg_tty_rtos_transport.h:128
erpc::RPMsgTTYRTOSTransport::m_crcImpl
Crc16 * m_crcImpl
CRC object.
Definition: erpc_rpmsg_tty_rtos_transport.h:129
erpc::MessageBuffer
Represents a memory buffer containing a message.
Definition: erpc_message_buffer.h:37
erpc::RPMsgTTYRTOSTransport::send
virtual erpc_status_t send(MessageBuffer *message)
Function to send prepared message.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:264
erpc
Definition: erpc_arbitrated_client_manager.h:25
erpc::RPMsgTTYRTOSTransport::setCrc16
virtual void setCrc16(Crc16 *crcImpl)
This functions sets the CRC-16 implementation.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:75
erpc_rpmsg_lite_base_transport.h
erpc::Crc16
Class for compute crc16.
Definition: erpc_crc16.h:29
erpc_message_buffer.h
erpc::RPMsgTTYRTOSTransport::m_rpmsg_queue
rpmsg_queue_handle m_rpmsg_queue
Definition: erpc_rpmsg_tty_rtos_transport.h:127
erpc::RPMsgBaseTransport
Transport that other RPMsg transports inherits.
Definition: erpc_rpmsg_lite_base_transport.h:39
erpc::RPMsgTTYRTOSTransport::receive
virtual erpc_status_t receive(MessageBuffer *message)
Store incoming message to message buffer.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:228
erpc::RPMsgTTYRTOSTransport::~RPMsgTTYRTOSTransport
virtual ~RPMsgTTYRTOSTransport(void)
RPMsgRTOSTransport destructor.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:42
erpc::RPMsgTTYRTOSTransport::init
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.
Definition: erpc_rpmsg_tty_rtos_transport.cpp:81