33 # include <HardwareSerial.h> 64 : m_buffer( (uint8_t *)buffer )
65 , m_bufferSize( bufferSize )
90 begin([](
void *p,
const void *b,
int s)->
int {
return Serial.write((
const uint8_t *)b, s); },
91 [](
void *p,
void *b,
int s)->
int {
return Serial.readBytes((uint8_t *)b, s); });
102 begin([](
void *p,
const void *b,
int s)->
int {
return Serial1.write((
const uint8_t *)b, s); },
103 [](
void *p,
void *b,
int s)->
int {
return Serial1.readBytes((uint8_t *)b, s); });
107 #ifdef HAVE_HWSERIAL2 115 begin([](
void *p,
const void *b,
int s)->
int {
return Serial2.write((
const uint8_t *)b, s); },
116 [](
void *p,
void *b,
int s)->
int {
return Serial2.readBytes((uint8_t *)b, s); });
120 #ifdef HAVE_HWSERIAL3 128 begin([](
void *p,
const void *b,
int s)->
int {
return Serial3.write((
const uint8_t *)b, s); },
129 [](
void *p,
void *b,
int s)->
int {
return Serial3.readBytes((uint8_t *)b, s); });
148 int write(
char* buf,
int size);
168 int run_rx(uint16_t timeout = 0);
174 int run_tx(uint16_t timeout = 0);
240 IPacket pkt((
char *)pdata, size);
242 if ( m_onReceive ) m_onReceive( pkt );
250 uint8_t *m_buffer =
nullptr;
255 int m_bufferSize = 0;
258 uint16_t m_sendTimeout = 0;
261 uint8_t m_window = 3;
264 void (*m_onReceive)(
IPacket &pkt) =
nullptr;
267 static void onReceiveInternal(
void *handle, uint16_t uid, uint8_t *pdata,
int size);
int run_tx(uint16_t timeout=0)
hdlc_crc_t
Definition: tiny_hdlc.h:33
Tiny protocol Arduino API.
If default is specified HDLC will auto select CRC option.
Definition: tiny_hdlc.h:35
Definition: TinyProtocolFd.h:275
Definition: TinyLightProtocol.h:39
struct tiny_fd_data_t * tiny_fd_handle_t
Definition: tiny_fd.h:50
void setReceiveCallback(void(*on_receive)(IPacket &pkt)=nullptr)
Definition: TinyProtocolFd.h:215
virtual void onReceive(uint8_t *pdata, int size)
Definition: TinyProtocolFd.h:238
int(* read_block_cb_t)(void *pdata, void *buffer, int size)
Definition: tiny_types.h:139
IProtoFd(void *buffer, int bufferSize)
Definition: TinyProtocolFd.h:62
void beginToSerial3()
Definition: TinyProtocolFd.h:126
void setWindowSize(uint8_t window)
Definition: TinyProtocolFd.h:223
Definition: TinyPacket.h:46
void beginToSerial2()
Definition: TinyProtocolFd.h:113
Definition: TinyProtocolFd.h:53
int run_rx(uint16_t timeout=0)
int(* write_block_cb_t)(void *pdata, const void *buffer, int size)
Definition: tiny_types.h:128
void beginToSerial()
Definition: TinyProtocolFd.h:88
Definition: TinyProtocolFd.h:288
Tiny Protocol Full Duplex API.
void beginToSerial1()
Definition: TinyProtocolFd.h:100
ProtoFdD(int size)
Definition: TinyProtocolFd.h:295
void setSendTimeout(uint16_t timeout)
Definition: TinyProtocolFd.h:229
void begin(write_block_cb_t writecb, read_block_cb_t readcb)
int write(char *buf, int size)