Tiny protocol  0.9.3
Tiny communication protocol for microcontrollers
Public Attributes | List of all members
tiny_fd_init_t_ Struct Reference

#include <tiny_fd.h>

Public Attributes

write_block_cb_t write_func
 callback function to write bytes to the physical channel
 
read_block_cb_t read_func
 callback function to read bytes from the physical channel
 
void * pdata
 user data for block read/write functions
 
on_frame_cb_t on_frame_cb
 callback function to process incoming frames
 
on_frame_cb_t on_sent_cb
 Callback to get notification of sent frames.
 
void * buffer
 
uint16_t buffer_size
 maximum input buffer size
 
uint16_t send_timeout
 
uint16_t retry_timeout
 
uint8_t retries
 
hdlc_crc_t crc_type
 
uint8_t window_frames
 

Detailed Description

This structure is used for initialization of Tiny Full Duplex protocol.

Member Data Documentation

◆ buffer

void* tiny_fd_init_t_::buffer

buffer to store data during full-duplex protocol operating. The size should be TBD

◆ crc_type

hdlc_crc_t tiny_fd_init_t_::crc_type

crc field type to use on hdlc level. If HDLC_CRC_DEFAULT is passed, crc type will be selected automatically (depending on library configuration), but HDLC_CRC_16 has higher priority.

◆ retries

uint8_t tiny_fd_init_t_::retries

number retries to perform before timeout takes place

◆ retry_timeout

uint16_t tiny_fd_init_t_::retry_timeout

timeout for retry operation. It is valid and applicable to I-frames only. retry_timeout sets timeout in milliseconds. If zero value is specified, it is calculated as

◆ send_timeout

uint16_t tiny_fd_init_t_::send_timeout

timeout. Can be set to 0 during initialization. In this case timeout will be set to default. Timeout parameter sets timeout in milliseconds for blocking API functions: tiny_fd_send().

◆ window_frames

uint8_t tiny_fd_init_t_::window_frames

Number of frames in window, which confirmation may be deferred for. Must be at least 1. Maximum allowable value is 7. Extended HDLC format (with 127 window size) is not yet supported. Smaller values reduce channel throughput, while higher values require more RAM. It is not mandatory to have the same window_frames value on both endpoints.


The documentation for this struct was generated from the following file: