Host Communication Protocol
2.0
|
#include <fpc_com_chain.h>
Data Fields | |
bool | initialized |
uint32_t(* | crc_calc )(uint32_t start, const void *data, uint32_t size) |
fpc_com_chain_private_t | private_vars |
void * | session |
User session pointer. User private stuff, to be able to pass necessary info from the layer that calls hcp down to the user's TX and RX functions (phy_tx/rx), to enable multi threaded applications at the host side. More... | |
void * | context |
User context pointer. User private stuff, to be able to pass nessecary context to argument_allocator and argument_free. More... | |
HCP Layer | |
void *(* | argument_allocator )(fpc_hcp_cmd_t cmd, fpc_hcp_arg_t arg, uint16_t size, bool *free_data, void *context) |
void(* | argument_free )(fpc_hcp_cmd_t cmd, fpc_hcp_arg_data_t *arg_data, void *context) |
Application Layer | |
fpc_com_result_t(* | app_tx )(fpc_com_chain_t *chain) |
fpc_com_result_t(* | app_rx )(fpc_com_chain_t *chain) |
uint16_t(* | app_overhead_get )(uint16_t *offset) |
uint16_t | app_packet_size [2] |
uint16_t | app_mtu_size [2] |
uint8_t * | app_mtu_buffer [2] |
Transport Layer | |
fpc_com_result_t(* | tsp_tx )(fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain) |
fpc_com_result_t(* | tsp_rx )(fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain) |
uint16_t(* | tsp_overhead_get )(uint16_t *offset) |
Link Layer | |
uint16_t(* | link_overhead_get )(uint16_t *offset) |
fpc_com_channel_t | channel |
Physical Layer | |
fpc_com_result_t(* | phy_tx )(uint16_t size, const uint8_t *buffer, uint32_t timeout, void *session) |
fpc_com_result_t(* | phy_rx )(uint16_t size, uint8_t *buffer, uint32_t timeout, void *session) |
uint16_t | phy_mtu_size [2] |
uint8_t * | phy_mtu_buffer [2] |
uint32_t | phy_timeout_tx |
uint32_t | phy_timeout_rx |
Communication chain struct
Definition at line 50 of file fpc_com_chain.h.
uint8_t* fpc_com_chain::app_mtu_buffer[2] |
Application MTU buffers
Definition at line 83 of file fpc_com_chain.h.
uint16_t fpc_com_chain::app_mtu_size[2] |
Application MTU sizes
Definition at line 81 of file fpc_com_chain.h.
uint16_t(* fpc_com_chain::app_overhead_get) (uint16_t *offset) |
Application layer overhead get interface function
Definition at line 77 of file fpc_com_chain.h.
uint16_t fpc_com_chain::app_packet_size[2] |
Application packet sizes
Definition at line 79 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::app_rx) (fpc_com_chain_t *chain) |
Application layer receive interface function
Definition at line 75 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::app_tx) (fpc_com_chain_t *chain) |
Application layer transmit interface function
Definition at line 73 of file fpc_com_chain.h.
void*(* fpc_com_chain::argument_allocator) (fpc_hcp_cmd_t cmd, fpc_hcp_arg_t arg, uint16_t size, bool *free_data, void *context) |
Argument allocator interface function
Definition at line 59 of file fpc_com_chain.h.
void(* fpc_com_chain::argument_free) (fpc_hcp_cmd_t cmd, fpc_hcp_arg_data_t *arg_data, void *context) |
Argument free interface function
Definition at line 62 of file fpc_com_chain.h.
fpc_com_channel_t fpc_com_chain::channel |
Communication channel
Definition at line 105 of file fpc_com_chain.h.
void* fpc_com_chain::context |
User context pointer. User private stuff, to be able to pass nessecary context to argument_allocator and argument_free.
Definition at line 143 of file fpc_com_chain.h.
uint32_t(* fpc_com_chain::crc_calc) (uint32_t start, const void *data, uint32_t size) |
CRC calculation interface function
Definition at line 66 of file fpc_com_chain.h.
bool fpc_com_chain::initialized |
Initialization status
Definition at line 52 of file fpc_com_chain.h.
uint16_t(* fpc_com_chain::link_overhead_get) (uint16_t *offset) |
Link layer overhead get interface function
Definition at line 103 of file fpc_com_chain.h.
uint8_t* fpc_com_chain::phy_mtu_buffer[2] |
Physical MTU buffers
Definition at line 121 of file fpc_com_chain.h.
uint16_t fpc_com_chain::phy_mtu_size[2] |
Physical MTU sizes
Definition at line 119 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::phy_rx) (uint16_t size, uint8_t *buffer, uint32_t timeout, void *session) |
Physical layer receive interface function
Definition at line 116 of file fpc_com_chain.h.
uint32_t fpc_com_chain::phy_timeout_rx |
Physical receive timeout
Definition at line 125 of file fpc_com_chain.h.
uint32_t fpc_com_chain::phy_timeout_tx |
Physical transmit timeout
Definition at line 123 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::phy_tx) (uint16_t size, const uint8_t *buffer, uint32_t timeout, void *session) |
Physical layer transmit interface function
Definition at line 113 of file fpc_com_chain.h.
fpc_com_chain_private_t fpc_com_chain::private_vars |
Communication change private variables
Definition at line 129 of file fpc_com_chain.h.
void* fpc_com_chain::session |
User session pointer. User private stuff, to be able to pass necessary info from the layer that calls hcp down to the user's TX and RX functions (phy_tx/rx), to enable multi threaded applications at the host side.
Definition at line 137 of file fpc_com_chain.h.
uint16_t(* fpc_com_chain::tsp_overhead_get) (uint16_t *offset) |
Transport layer overhead get interface function
Definition at line 95 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::tsp_rx) (fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain) |
Transport layer receive interface function
Definition at line 93 of file fpc_com_chain.h.
fpc_com_result_t(* fpc_com_chain::tsp_tx) (fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain) |
Transport layer transmit interface function
Definition at line 91 of file fpc_com_chain.h.