WizziLab's serial protocol library
Dependents: modem_ref_helper_for_v5_3_217 modem_ref_helper
Diff: WizziCom.h
- Revision:
- 1:ca1c9bfb1cf4
- Parent:
- 0:95b73d0b37b7
- Child:
- 4:a37e42de1ba7
--- a/WizziCom.h Wed Apr 26 12:29:35 2017 +0000 +++ b/WizziCom.h Wed May 03 11:30:22 2017 +0000 @@ -129,12 +129,14 @@ uint8_t buf[1]; } wizzi_com_tx_buf_t; +uint8_t wizzicom_type_to_flow(uint8_t packet_type); +uint8_t wizzicom_flow_to_type(uint8_t flow_id); class WizziCom { - typedef void (*WizziComCallback)(WizziCom* com, WizziComPacket_t* packet); + typedef void (*WizziComCallback)(WizziCom*, WizziComPacket_t*); private: - uint8_t _state; + volatile uint8_t _state; wizzi_com_rx_msg_t _msg; uint16_t _skipped_bytes; uint8_t _tx_seq; @@ -154,7 +156,7 @@ Queue<wizzi_com_tx_buf_t, 8> _tx_queue; Queue<WizziComPacket_t, 8> _rx_queue; - Callback<void(WizziCom*, WizziComPacket_t*)> _callback[WIZZICOM_PKT_QTY+1]; + Callback<void(WizziCom*, WizziComPacket_t*)> _callback[WIZZICOM_PKT_QTY+1]; void _rx_isr(); void _irq_in_isr(); @@ -163,7 +165,6 @@ wizzi_com_tx_buf_t* _new_msg(wizzi_com_tx_msg_t* msg); void _post_msg(wizzi_com_tx_msg_t* msg); void _new_pkt(WizziComPacket_t* pkt); - uint8_t _flow_to_type(uint8_t flow_id); void _parse_packet_header(void); void _parse_packet_body(void); void _thread_rx(void); @@ -185,6 +186,8 @@ void reset(void); void send(WizziComPacketType type, uint8_t length, uint8_t* data); void send(WizziComPacket_t* packet); + + uint8_t type_to_flow(WizziComPacketType packet_type); }; #endif // _D7A_COM_H_ \ No newline at end of file