Demo HCI Implementation for WiMOD-LR Devices  V2.0.3
WiMOD_SAP_RadioLink_ProLink.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 
33 
34 /*
35  * THIS IS AN EXAMPLE IMPLEMENTATION ACCORDING THE THE HCI SPEC: V1.3
36  * FOR FIRMWARE: LoRaWAN PROLINK
37  *
38  * SEE FILE: ProLink_LoRaWAN_EndNode_Modem_HCI_Spec_v1_3.pdf for detailed information
39  */
40 
41 
42 
43 #ifndef ARDUINO_SAP_WIMOD_SAP_RADIOLINK_PROLINK_H_
44 #define ARDUINO_SAP_WIMOD_SAP_RADIOLINK_PROLINK_H_
45 
46 //------------------------------------------------------------------------------
47 //
48 // Section Includes Files
49 //
50 //------------------------------------------------------------------------------
51 
53 #include "WiMOD_SAP_RadioLink.h"
54 
55 //------------------------------------------------------------------------------
56 //
57 // Section class
58 //
59 //------------------------------------------------------------------------------
60 
61 
66 public:
67  WiMOD_SAP_RadioLink_ProLink(TWiMODLRHCI* hci, UINT8* buffer, UINT16 bufferSize);
68  virtual ~WiMOD_SAP_RadioLink_ProLink(void);
69 
70  /* currently not supported */
71  virtual TWiMODLRResultCodes SendCData(const TWiMODLR_RadioLink_Msg* txMsg, UINT8* statusRsp);
72  virtual bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_CdataInd* cDataTxInfo);
73  virtual bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_AckTxInd_Msg* txAckIndInfo);
74 
75  virtual bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_Msg* radioLinkMsg) { return WiMOD_SAP_RadioLink::convert(RxMsg, radioLinkMsg); };
76  virtual bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_UdataInd* uDataTxInfo) { return WiMOD_SAP_RadioLink::convert(RxMsg, uDataTxInfo); };
77 
78  virtual TWiMODLRResultCodes SetAckData(const TWiMODLR_RadioLink_Msg* txMsg, UINT8* statusRsp);
79 
80 
81  /* currently not supported */
82 // virtual void RegisterRawDataRxClient(TRadioLinkRawDataRxIndicationCallback cb);
83 // virtual void RegisterCDataRxClient(TRadioLinkCDataRxIndicationCallback cb);
84 // virtual void RegisterCDataTxClient(TRadioLinkCDataTxIndicationCallback cb);
85 // virtual void RegisterAckRxClient(TRadioLinkAckRxIndicationCallback cb);
86 // virtual void RegisterAckRxTimeoutClient(TRadioLinkAckRxTimeoutIndicationCallback cb);
87 // virtual void RegisterAckTxCallback(TRadioLinkAckTxIndicationCallback cb);
88 
89  virtual TWiMODLRResultCodes SetAesKey(const UINT8* key, UINT8* statusRsp);
90  virtual TWiMODLRResultCodes GetAesKey(UINT8* key, UINT8* statusRsp);
91 
93  virtual TWiMODLRResultCodes SetRadioConfig(const TWiMODLR_ProLinkRadioLink_RadioConfig* radioCfg, UINT8* statusRsp);
94  virtual TWiMODLRResultCodes ResetRadioConfig(UINT8* statusRsp);
95 
96  virtual void DispatchRadioLinkProLinkMessage(TWiMODLR_HCIMessage& rxMsg);
97 
98 protected:
99  virtual TWiMODLRResultCodes unsupportedCmd(UINT8* statusRsp);
100 
101 };
102 
103 
104 #endif /* ARDUINO_SAP_WIMOD_SAP_RADIOLINK_PROLINK_H_ */
TWiMODLRHCI
Internal helper class for processing SLIP frames.
Definition: WiMODLRHCI.h:235
WiMODLR_RESULT_TRANMIT_ERROR
@ WiMODLR_RESULT_TRANMIT_ERROR
Definition: WiMODLRHCI.h:154
TWiMODLR_AckTxInd_Msg
Structure containing information about an acknowledgment transmission.
Definition: WiMOD_SAP_RadioLink_IDs.h:243
TWiMODLR_HCIMessage
basic low level HCI message structure used for all serial messages to/from WiMOD
Definition: WiMODLRHCI.h:120
WiMODLR_RESULT_OK
@ WiMODLR_RESULT_OK
Definition: WiMODLRHCI.h:151
TWiMODLR_HCIMessage::Payload
UINT8 Payload[WIMODLR_HCI_MSG_PAYLOAD_SIZE]
Definition: WiMODLRHCI.h:132
WiMODLR_RESULT_PAYLOAD_PTR_ERROR
@ WiMODLR_RESULT_PAYLOAD_PTR_ERROR
Definition: WiMODLRHCI.h:153
TWiMODLRResultCodes
TWiMODLRResultCodes
Result codes for the local serial communication itself.
Definition: WiMODLRHCI.h:149