tinyproto
Public Member Functions | List of all members
tinyproto::SerialFdLink Class Reference
Inheritance diagram for tinyproto::SerialFdLink:
Inheritance graph
[legend]
Collaboration diagram for tinyproto::SerialFdLink:
Collaboration graph
[legend]

Public Member Functions

 SerialFdLink (char *dev)
 
bool begin (on_frame_read_cb_t onReadCb, on_frame_send_cb_t onSendCb, void *udata) override
 The method initializes the link layer protocol, and connects custom callbacks to link layer. More...
 
void end () override
 Stops link layer protocol.
 
- Public Member Functions inherited from tinyproto::ISerialLinkLayer< IFdLinkLayer, 32 >
 ISerialLinkLayer (char *dev, void *buffer, int size)
 
bool begin (on_frame_read_cb_t onReadCb, on_frame_send_cb_t onSendCb, void *udata) override
 
void end () override
 
void runRx () override
 
void runTx () override
 
void setSpeed (uint32_t speed)
 
- Public Member Functions inherited from tinyproto::IFdLinkLayer
 IFdLinkLayer (void *buffer, int size)
 
bool put (void *buf, int size, uint32_t timeout) override
 Puts new data for sending over the link layer. More...
 
void flushTx () override
 Flush tx operation if possible.
 
int getWindow ()
 
hdlc_crc_t getCrc ()
 
void setCrc (hdlc_crc_t crc)
 
void setWindow (int window)
 
void setBuffer (void *buffer, int size)
 
- Public Member Functions inherited from tinyproto::ILinkLayer
void setTimeout (uint32_t timeout)
 Sets timeout of Rx/Tx operations in milliseconds for the link layer protocol. More...
 
uint32_t getTimeout ()
 Returns current timeout of Rx/Tx operations.
 
int getMtu ()
 Returns current mtu for the link layer protocol in bytes.
 
void setMtu (int mtu)
 Set protocol mtu (maximum transmission unit) payload. More...
 
virtual ~ILinkLayer ()=default
 Default virtual destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from tinyproto::IFdLinkLayer
int parseData (const uint8_t *data, int size)
 
int getData (uint8_t *data, int size)
 

Member Function Documentation

◆ begin()

bool tinyproto::SerialFdLink::begin ( on_frame_read_cb_t  onReadCb,
on_frame_send_cb_t  onSendCb,
void *  udata 
)
overridevirtual

The method initializes the link layer protocol, and connects custom callbacks to link layer.

Once the new frame is received, onReadCb will be called, once frame is sent onSendCb will be called.

Parameters
onReadCbcallback to call when a frame is received. Remember that processing must be as quick as possible
onSendCbcallback to call when a frame is sent.
udatauser defined data, will be passed to callbacks
Returns
true if successful, false is initialization error happened.

Reimplemented from tinyproto::IFdLinkLayer.


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