Firmware
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Transport_node Class Referenceabstract
Inheritance diagram for Transport_node:
UART_node UDP_node

Public Member Functions

virtual int init ()
 
virtual uint8_t close ()
 
ssize_t read (uint8_t *topic_ID, char out_buffer[], size_t buffer_len)
 
ssize_t write (const uint8_t topic_ID, char buffer[], size_t length)
 write a buffer More...
 
ssize_t get_header_length ()
 Get the Length of struct Header to make headroom for the size of struct Header along with payload.
 

Protected Member Functions

virtual ssize_t node_read (void *buffer, size_t len)=0
 
virtual ssize_t node_write (void *buffer, size_t len)=0
 
virtual bool fds_OK ()=0
 
uint16_t crc16_byte (uint16_t crc, const uint8_t data)
 
uint16_t crc16 (uint8_t const *buffer, size_t len)
 

Protected Attributes

uint32_t rx_buff_pos
 
char rx_buffer [1024] = {}
 

Member Function Documentation

§ write()

ssize_t Transport_node::write ( const uint8_t  topic_ID,
char  buffer[],
size_t  length 
)

write a buffer

Parameters
topic_ID
bufferbuffer to write: it must leave get_header_length() bytes free at the beginning. This will be

filled with the header. length does not include get_header_length(). So buffer looks like this:

| header (leave free) | payload data |

| get_header_length() bytes | length bytes |

Parameters
lengthbuffer length excluding header length
Returns
length on success, <0 on error

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