43 #include "link/TinyLinkLayer.h" 44 #include "link/TinySerialFdLink.h" 45 #include "link/TinySerialHdlcLink.h" 52 #if CONFIG_TINYHAL_THREAD_SUPPORT == 1 62 explicit Proto(
bool multithread =
false);
72 bool begin(
int poolBuffers);
74 bool send(
const IPacket &message, uint32_t timeout);
76 IPacket *read(uint32_t timeout);
82 void addRxPool(
IPacket &message);
88 #if CONFIG_TINYHAL_THREAD_SUPPORT == 1 89 void setTxDelay( uint32_t delay );
91 int getLostRxFrames();
98 bool m_multithread =
false;
99 bool m_terminate =
true;
103 #if CONFIG_TINYHAL_THREAD_SUPPORT == 1 104 std::thread *m_sendThread =
nullptr;
105 std::thread *m_readThread =
nullptr;
106 uint32_t m_txDelay = 0;
107 int m_lostRxFrames = 0;
112 tiny_mutex_t m_mutex{};
114 void onRead(uint8_t addr, uint8_t *buf,
int len);
116 void onSend(uint8_t addr,
const uint8_t *buf,
int len);
118 static void onReadCb(
void *udata, uint8_t addr, uint8_t *buf,
int len);
120 static void onSendCb(
void *udata, uint8_t addr,
const uint8_t *buf,
int len);
122 #if CONFIG_TINYHAL_THREAD_SUPPORT == 1 140 ArduinoSerialFdLink &getLink();
143 ArduinoSerialFdLink m_layer;
151 ArduinoSerialHdlcLink &getLink();
154 ArduinoSerialHdlcLink m_layer;
Definition: TinyProtocol.h:170
This is Tiny protocol implementation for microcontrollers.
This is Tiny protocol implementation for microcontrollers.
Describes packet entity and provides API methods to manipulate the packet.
Definition: TinyPacket.h:56
This is Tiny protocol implementation for microcontrollers.
Definition: TinyProtocol.h:159
This is basic class for C++ Link Layer objects.
Definition: TinyLinkLayer.h:43
This is Tiny light protocol implementation for microcontrollers.
This is Tiny HAL implementation for microcontrollers.
Definition: TinySerialHdlcLink.h:71
Definition: TinySerial.cpp:22
Events group type used by Tiny Protocol implementation.
Definition: cpp_hal.h:60
Definition: TinySerialFdLink.h:72
Definition: TinyProtocol.h:59