|
tinyproto
|
This is Tiny Full-Duplex protocol implementation for microcontrollers. More...


Go to the source code of this file.
Classes | |
| struct | tiny_fd_init_t_ |
| This structure is used for initialization of Tiny Full Duplex protocol. More... | |
Macros | |
| #define | TINY_FD_PRIMARY_ADDR (0) |
| Address of primary stations to use with the protocol. More... | |
Typedefs | |
| typedef struct tiny_fd_data_t * | tiny_fd_handle_t |
| This handle points to service data, required for full-duplex functioning. | |
| typedef void(* | tiny_fd_log_frame_cb_t) (void *udata, tiny_fd_handle_t handle, tiny_fd_frame_direction_t direction, tiny_fd_frame_type_t frame_type, tiny_fd_frame_subtype_t frame_subtype, uint8_t ns, uint8_t nr, const uint8_t *data, int len) |
| tiny_fd_log_frame_cb_t is a callback function, which is called every time frame is sent or received. More... | |
| typedef struct tiny_fd_init_t_ | tiny_fd_init_t |
| This structure is used for initialization of Tiny Full Duplex protocol. | |
Enumerations | |
| enum | { TINY_FD_MODE_ABM = 0x00, TINY_FD_MODE_NRM = 0x01, TINY_FD_MODE_ARM = 0x02 } |
| enum | tiny_fd_frame_type_t { TINY_FD_FRAME_TYPE_I = 0x00, TINY_FD_FRAME_TYPE_S = 0x01, TINY_FD_FRAME_TYPE_U = 0x02 } |
| Enumeration of frame types used in Tiny Full Duplex protocol. More... | |
| enum | tiny_fd_frame_subtype_t { TINY_FD_FRAME_SUBTYPE_RR = 0x00, TINY_FD_FRAME_SUBTYPE_REJ = 0x08, TINY_FD_FRAME_SUBTYPE_UA = 0x60, TINY_FD_FRAME_SUBTYPE_FRMR = 0x84, TINY_FD_FRAME_SUBTYPE_RSET = 0x8C, TINY_FD_FRAME_SUBTYPE_SABM = 0x2C, TINY_FD_FRAME_SUBTYPE_SNRM = 0x80, TINY_FD_FRAME_SUBTYPE_DISC = 0x40 } |
| Enumeration of frame subtypes used in Tiny Full Duplex protocol. More... | |
| enum | tiny_fd_frame_direction_t { TINY_FD_FRAME_DIRECTION_IN = 0x00, TINY_FD_FRAME_DIRECTION_OUT = 0x01 } |
| Enumeration of frame directions used in Tiny Full Duplex protocol. More... | |
Functions | |
| int | tiny_fd_init (tiny_fd_handle_t *handle, tiny_fd_init_t *init) |
| Initialized communication for Tiny Full Duplex protocol. More... | |
| int | tiny_fd_get_status (tiny_fd_handle_t handle) |
| Returns status of the connection. More... | |
| int | tiny_fd_disconnect (tiny_fd_handle_t handle) |
| Sends DISC command to remote side. More... | |
| void | tiny_fd_close (tiny_fd_handle_t handle) |
| stops Tiny Full Duplex state machine More... | |
| int | tiny_fd_get_tx_data (tiny_fd_handle_t handle, void *data, int len, uint32_t timeout) |
| runs tx processing to fill specified buffer with data. More... | |
| int | tiny_fd_run_tx (tiny_fd_handle_t handle, write_block_cb_t write_func) |
sends tx data to the communication channel via user callback write_func(). More... | |
| int | tiny_fd_on_rx_data (tiny_fd_handle_t handle, const void *data, int len) |
| runs rx bytes processing for specified buffer. More... | |
| int | tiny_fd_run_rx (tiny_fd_handle_t handle, read_block_cb_t read_func) |
reads rx data from the communication channel via user callback read_func() More... | |
| int | tiny_fd_send_packet_to (tiny_fd_handle_t handle, uint8_t address, const void *buf, int len, uint32_t timeout) |
| Sends userdata over full-duplex protocol. More... | |
| int | tiny_fd_buffer_size_by_mtu (int mtu, int window) |
| Returns minimum required buffer size for specified parameters. More... | |
| int | tiny_fd_buffer_size_by_mtu_ex (uint8_t peers_count, int mtu, int tx_window, hdlc_crc_t crc_type, int rx_window) |
| Returns minimum required buffer size for specified parameters. More... | |
| int | tiny_fd_get_mtu (tiny_fd_handle_t handle) |
| returns max packet size in bytes. More... | |
| int | tiny_fd_send_to (tiny_fd_handle_t handle, uint8_t address, const void *buf, int len, uint32_t timeout) |
| Sends userdata over full-duplex protocol. More... | |
| void | tiny_fd_set_ka_timeout (tiny_fd_handle_t handle, uint32_t keep_alive) |
| Sets keep alive timeout in milliseconds. More... | |
| int | tiny_fd_register_peer (tiny_fd_handle_t handle, uint8_t address) |
| Registers remote peer with specified address. More... | |
| int | tiny_fd_send (tiny_fd_handle_t handle, const void *buf, int len, uint32_t timeout) |
| Sends userdata over full-duplex protocol to primary station. More... | |
| int | tiny_fd_send_packet (tiny_fd_handle_t handle, const void *buf, int len, uint32_t timeout) |
| Sends packet to primary station. More... | |
This is Tiny Full-Duplex protocol implementation for microcontrollers.
It is built on top of Tiny Protocol (hdlc/low_level/hdlc.c)
Tiny Protocol Full Duplex API
Implements full duplex asynchronous ballanced mode (ABM)
1.8.13