#ifndef __PROTOCOL_H__ #define __PROTOCOL_H__ #include #include #define PKT_TYPE_BULK_FLAG 0x80 struct proto_rx_st { int packet_type; int is_bulk; int rxpos; int address; uint8_t argbuf[8]; int offset; const struct command_if_def *cmd_if; }; struct command_if_def { int packet_type_max; int payload_len[0]; }; extern volatile uint32_t decoding_error_cnt, protocol_error_cnt; extern volatile bool backchannel_frame; /* Callback */ void handle_command(int command, uint8_t *args); void receive_symbol(struct proto_rx_st *st, int symbol); void reset_receiver(struct proto_rx_st *st, const struct command_if_def *cmd_if); #endif