Demo HCI Implementation for WiMOD-LR Devices  V2.0.3
WiMODLRHCI.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 
33 
34 #ifndef ARDUINO_WIMODLRHCI_H_
35 #define ARDUINO_WIMODLRHCI_H_
36 
37 //------------------------------------------------------------------------------
38 //
39 // Section Includes Files
40 //
41 //------------------------------------------------------------------------------
42 
43 
44 #include "utils/WMDefs.h"
45 
46 #include <string.h>
47 
48 #include "utils/ComSLIP.h"
49 
50 #include "Arduino.h"
51 
52 /*
53  * C++11 supports a better way for function pointers / function objects
54  * But C++11 mode is not supported by all platforms.
55  */
56 #ifdef WIMOD_USE_CPP11
57 #include <functional>
58 #endif
59 
60 //------------------------------------------------------------------------------
61 //
62 // Serial Baudrate
63 //
64 //------------------------------------------------------------------------------
66 #define WIMODLR_SERIAL_BAUDRATE 115200
67 
69 #define WIMODLR_RESPOMSE_TIMEOUT_MS 1000;
70 
71 //------------------------------------------------------------------------------
72 //
73 // HCI Message Declaration
74 //
75 //------------------------------------------------------------------------------
77 
78 // message header size: 2 bytes for SapID + MsgID
79 #define WIMODLR_HCI_MSG_HEADER_SIZE 2
80 
81 // message payload size
82 #define WIMODLR_HCI_MSG_PAYLOAD_SIZE 280
83 
84 // frame check sequence field size: 2 bytes for CRC16
85 #define WIMODLR_HCI_MSG_FCS_SIZE 2
86 
87 // visible max. buffer size for lower SLIP layer
88 #define WIMODLR_HCI_RX_MESSAGE_SIZE (WIMODLR_HCI_MSG_HEADER_SIZE\
89  + WIMODLR_HCI_MSG_PAYLOAD_SIZE\
90  + WIMODLR_HCI_MSG_FCS_SIZE)
91 
92 
93 #define WiMODLR_HCI_RSP_STATUS_POS 0x00
94 
95 #define WiMODLR_HCI_RSP_CMD_PAYLOAD_POS 0x01
96 
98 
99 
100 //------------------------------------------------------------------------------
101 //
102 // Wake up sequence
103 //
104 //------------------------------------------------------------------------------
106 
107 #define WIMODLR_NUMBER_OF_WAKEUP_CHARS 40
108 
110 
111 //------------------------------------------------------------------------------
112 //
113 // HCI Message
114 //
115 //------------------------------------------------------------------------------
116 
120 typedef struct TWiMODLR_HCIMessage
121 {
122  // Payload Length Information, not transmitted over UART interface !
123  UINT16 Length;
125  // Service Access Point Identifier
126  UINT8 SapID;
128  // Message Identifier
129  UINT8 MsgID;
131  // Payload Field
132  UINT8 Payload[WIMODLR_HCI_MSG_PAYLOAD_SIZE];
134  // Frame Check Sequence Field
135  UINT8 CRC16[WIMODLR_HCI_MSG_FCS_SIZE];
138 
139 
140 //------------------------------------------------------------------------------
141 //
142 // Definition of Result/Error Codes
143 //
144 //------------------------------------------------------------------------------
145 
150 {
158 
159 
160 
161 //------------------------------------------------------------------------------
162 //
163 // Error indicator callback
164 //
165 //------------------------------------------------------------------------------
166 
170 typedef enum TWiMODStackError
171 {
177 
178 
179 // C++11 check
180 #ifdef WIMOD_USE_CPP11
181  /* C++11 function callback definitions */
182 
183 
187  typedef std::function<void (TWiMODStackError)> TWiMODStackErrorClient;
188 
189 #else
190  /* pre C++11 function callback definitions */
191 
196 
197 #endif
198 
199 //------------------------------------------------------------------------------
200 //
201 // TWiMODLRHCIClient Class Declaration
202 //
203 //------------------------------------------------------------------------------
204 
209 {
210  public:
211  TWiMODLRHCIClient() {}
212  virtual ~TWiMODLRHCIClient() {}
213 
214 
215  // define handler for received indication messasges
222  virtual void ProcessRxMessage(const TWiMODLR_HCIMessage& /* rxMsg */) = 0;
223 };
224 
225 
226 //------------------------------------------------------------------------------
227 //
228 // TWiMODLRHCI Class Declaration
229 //
230 //------------------------------------------------------------------------------
231 
236 {
237  public:
238  /*explicit*/ TWiMODLRHCI(Stream& s);
239  ~TWiMODLRHCI(void);
240 
241  virtual void begin(void);
242  virtual void end(void);
243 
244 
245  TWiMODLRResultCodes SendHCIMessage(UINT8 dstSapID, UINT8 msgID, UINT8 rxMsgID, UINT8* payload, UINT16 length);
246  TWiMODLRResultCodes SendHCIMessageWithoutRx(UINT8 dstSapID, UINT8 msgID, UINT8* payload, UINT16 length);
247  void Process(void);
248  void SendWakeUpSequence(void);
249 
250  void RegisterStackErrorClient(TWiMODStackErrorClient cb);
251 // void RegisterRxMessageClient(TWiMODLRHCIClient* cb);
252 
253  const TWiMODLR_HCIMessage& GetRxMessage(void);
254 
255  // enable / disable wakeup sequence
256  void EnableWakeupSequence(bool flag);
257 
258 
259  protected:
260  TWiMODLRResultCodes PostMessage(UINT8 sapID, UINT8 msgID, UINT8* payload, UINT16 length);
261  TWiMODLRResultCodes SendPacket(UINT8* txData, UINT16 length);
262  bool WaitForResponse(UINT8 rxSapID, UINT8 rxMsgID);
263  UINT8* ProcessRxMessage(UINT8* rxBuffer, UINT16 length);
265  virtual void ProcessUnexpectedRxMessage(TWiMODLR_HCIMessage& rxMsg) = 0;
266  // @end_cond
267 
268  // receiver struct
272  typedef struct TReceiver
273  {
274 
275  bool Active;
276  bool Done;
277  UINT8 SapID;
278  UINT8 MsgID;
279  TWiMODLR_HCIMessage Message;
281 #ifdef WIMOD_USE_2ND_RXBUFFER
282  // only neccessary for non IRQ mode!
283  TWiMODLR_HCIMessage ExpectedRsponseMsg;
284 #endif
285  // Timeout (~1000ms)
286  int Timeout;
287  }TReceiver;
288 
290 
291  // receiver instance
292  TReceiver Rx;
293 
294 
295  // Stack error indicator callback
296  TWiMODStackErrorClient StackErrorClientCB;
297 
298 
300 
301  private:
302  virtual void DispatchRxMessage(TWiMODLR_HCIMessage& rxMsg);
303 
305  TWiMODLRHCIClient* RxMessageClient;
306 
307  Stream& serial;
308  TComSlip comSlip;
309 
310  TWiMODLR_HCIMessage TxMessage;
311 
312  bool wakeUp;
313 
315 };
316 
317 #endif /* ARDUINO_WIMODLRHCI_H_ */
318 
319 //------------------------------------------------------------------------------
320 // EOF
321 //------------------------------------------------------------------------------
WiMODGlobalLink24::GetCustomConfig
bool GetCustomConfig(INT8 *rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the current offet for tx power level; expert level only.
Definition: WiMODGlobalLink24.cpp:2161
TJoinedNwkIndicationCallback
void(* TJoinedNwkIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:154
WiMODGlobalLink24::GetRtc
bool GetRtc(UINT32 *rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current RTC data info from WiMOD module.
Definition: WiMODGlobalLink24.cpp:462
TWiMODLRHCI::SendHCIMessage
TWiMODLRResultCodes SendHCIMessage(UINT8 dstSapID, UINT8 msgID, UINT8 rxMsgID, UINT8 *payload, UINT16 length)
Generic function for transferring a HCI message to the WiMOD module.
Definition: WiMODLRHCI.cpp:124
WiMODGlobalLink24::ConvertAppSKeyStrToArray
void ConvertAppSKeyStrToArray(char *appSKeyStr, uint8_t *appSKeyArray)
Converts a string containing an AppSKey string into a given byte array.
Definition: WiMODGlobalLink24.cpp:217
WiMODLoRaWAN::Reset
bool Reset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset Cmd - Reboots the WiMOD module.
Definition: WiMODLoRaWAN.cpp:465
WiMODLoRaWAN::GetDeviceEUI
bool GetDeviceEUI(UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the DeviceEUI (aka. IEEE-Address) of the WiMOD.
Definition: WiMODLoRaWAN.cpp:2227
WiMODLoRaWAN::ConvertAppSKeyStrToArray
void ConvertAppSKeyStrToArray(char *appSKeyStr, uint8_t *appSKeyArray)
Converts a string containing an AppSKey string into a given byte array.
Definition: WiMODLoRaWAN.cpp:375
WiMODGlobalLink24::RegisterNoDataIndicationClient
void RegisterNoDataIndicationClient(TNoDataIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODGlobalLink24.cpp:1504
WiMODLoRaWAN::RegisterTxUDataIndicationClient
void RegisterTxUDataIndicationClient(TTxUDataIndicationCallback cb)
Register a callback function for the event "TX U Data Indication".
Definition: WiMODLoRaWAN.cpp:1786
WiMODLoRaWAN::RegisterRxMacCmdIndicationClient
void RegisterRxMacCmdIndicationClient(TRxMacCmdIndicationCallback cb)
Register a callback function for the event "RX MAC Cmd Indication".
Definition: WiMODLoRaWAN.cpp:1849
WiMODGlobalLink24::SendCData
bool SendCData(const TWiMODGlobalLink24_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit C-Data to network server via RF link.
Definition: WiMODGlobalLink24.cpp:1808
WiMODLoRaWAN::GetFirmwareInfo
bool GetFirmwareInfo(TWiMODLR_DevMgmt_FwInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetFirmwareInfo Cmd - Gets the basic information about the firmware of the WiMOD.
Definition: WiMODLoRaWAN.cpp:544
TRxUDataIndicationCallback
void(* TRxUDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:166
TLoRaWANregion
TLoRaWANregion
LoRaWAN Region support.
Definition: WiMOD_SAP_LORAWAN.h:79
WiMODLoRaWAN::RegisterNoDataIndicationClient
void RegisterNoDataIndicationClient(TNoDataIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODLoRaWAN.cpp:1691
WiMODLR_RESULT_SLIP_ENCODER_ERROR
@ WiMODLR_RESULT_SLIP_ENCODER_ERROR
Definition: WiMODLRHCI.h:155
WiMODLoRaWAN::GetCustomConfig
bool GetCustomConfig(INT8 *rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the current offet for tx power level; expert level only.
Definition: WiMODLoRaWAN.cpp:2361
WiMODGlobalLink24::SetRtc
bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current RTC values to WiMOD module.
Definition: WiMODGlobalLink24.cpp:500
WiMODLoRaWAN::DeactivateDevice
bool DeactivateDevice(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Deactivate the device (logical disconnect from lora network)
Definition: WiMODLoRaWAN.cpp:2114
WiMODLoRaWAN::GetLastHciResult
TWiMODLRResultCodes GetLastHciResult(void)
Gets the last HCI result code from the last executed command.
Definition: WiMODLoRaWAN.cpp:2621
TWiMODGlobalLink24_NwkStatus_Data
Definition: WiMOD_SAP_GlobalLink24.h:103
WiMODLoRaWAN::ClearRtcAlarm
bool ClearRtcAlarm(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Clears pending RTC Alarms of the WiMOD.
Definition: WiMODLoRaWAN.cpp:885
WiMODLoRaWAN::ConvertAppKeyStrToArray
void ConvertAppKeyStrToArray(char *appKeyStr, uint8_t *appKeyArray)
Converts a string containing an App Key string into a given byte array.
Definition: WiMODLoRaWAN.cpp:336
WiMODGlobalLink24::~WiMODGlobalLink24
~WiMODGlobalLink24(void)
Desctructor.
Definition: WiMODGlobalLink24.cpp:78
WiMODLoRaWAN::SetJoinParameter
bool SetJoinParameter(TWiMODLORAWAN_JoinParams &joinParams, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the parameters used for the OTAA activation procedure.
Definition: WiMODLoRaWAN.cpp:1225
WiMODLoRaWAN::SetRadioStackConfig
bool SetRadioStackConfig(TWiMODLORAWAN_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new radio config parameter set of the WiMOD.
Definition: WiMODLoRaWAN.cpp:2043
WiMODLoRaWAN::FactoryReset
bool FactoryReset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset all internal settings to default values (incl. DevEUI !!!)
Definition: WiMODLoRaWAN.cpp:2147
WiMODLoRaWAN::ConvertAppEuiStrToArray
void ConvertAppEuiStrToArray(char *appEuiStr, uint8_t *appEuiArray)
Converts a string containing an App EUI string into a given byte array.
Definition: WiMODLoRaWAN.cpp:317
TWiMODStackErrorClient
void(* TWiMODStackErrorClient)(TWiMODStackError)
Type definition for indicator callback for stack (internal) error.
Definition: WiMODLRHCI.h:195
WiMODLoRaWAN::SetDeviceEUI
bool SetDeviceEUI(const UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new DeviceEUI (aka. IEEE-Address) to the WiMOD.
Definition: WiMODLoRaWAN.cpp:2190
WiMODGlobalLink24::GetLastResponseStatus
UINT8 GetLastResponseStatus(void)
Gets the last response code of the WiMOD of the last executed command.
Definition: WiMODGlobalLink24.cpp:2412
TWiMODLRHCI
Internal helper class for processing SLIP frames.
Definition: WiMODLRHCI.h:235
TWiMODLR_HCIMessage::SapID
UINT8 SapID
Definition: WiMODLRHCI.h:126
WiMODGlobalLink24::ConvertAppEuiStrToArray
void ConvertAppEuiStrToArray(char *appEuiStr, uint8_t *appEuiArray)
Converts a string containing an App EUI string into a given byte array.
Definition: WiMODGlobalLink24.cpp:159
TWiMODGlobalLink24_NoData_Data
Definition: WiMOD_SAP_GlobalLink24.h:104
WiMODGlobalLink24::SetJoinParameter
bool SetJoinParameter(TWiMODGlobalLink24_JoinParams &joinParams, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the parameters used for the OTAA activation procedure.
Definition: WiMODGlobalLink24.cpp:1040
WiMODLoRaWAN::GetSupportedBands
bool GetSupportedBands(TWiMODLORAWAN_SupportedBands *supportedBands, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the supported bands of this firmware.
Definition: WiMODLoRaWAN.cpp:2386
WiMODLoRaWAN::SetRtcAlarm
bool SetRtcAlarm(const TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets and enables the RTC alarm feature of the WiMOD.
Definition: WiMODLoRaWAN.cpp:813
WiMODGlobalLink24::GetOperationMode
bool GetOperationMode(TWiMOD_OperationMode *opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current operation mode of the WiMOD module.
Definition: WiMODGlobalLink24.cpp:545
WiMODLR_RESULT_TRANMIT_ERROR
@ WiMODLR_RESULT_TRANMIT_ERROR
Definition: WiMODLRHCI.h:154
WiMODLoRaWAN::ActivateDevice
bool ActivateDevice(TWiMODLORAWAN_ActivateDeviceData &activationData, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Activates the device via the ABP procedure.
Definition: WiMODLoRaWAN.cpp:1112
WiMODGlobalLink24::RegisterRtcAlarmIndicationClient
void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb)
Register a callback function for the RTC Alarm Indication - optional -.
Definition: WiMODGlobalLink24.cpp:782
WiMODGlobalLink24::SetDeviceEUI
bool SetDeviceEUI(const UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new DeviceEUI (aka. IEEE-Address) to the WiMOD.
Definition: WiMODGlobalLink24.cpp:1995
WiMODLoRaWAN::RegisterTxCDataIndicationClient
void RegisterTxCDataIndicationClient(TTxCDataIndicationCallback cb)
Register a callback function for the event "TX C-Data Indication".
Definition: WiMODLoRaWAN.cpp:1738
WiMODGlobalLink24::RegisterJoinedNwkIndicationClient
void RegisterJoinedNwkIndicationClient(TJoinedNwkIndicationCallback cb)
Register a callback function for the event "Joined Nwk Indication".
Definition: WiMODGlobalLink24.cpp:1683
CRC16.h
TWiMODLR_DevMgmt_FwInfo
Basic information about the current firmware of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:220
WiMODLoRaWAN::GetSystemStatus
bool GetSystemStatus(TWiMODLR_DevMgmt_SystemStatusLorawan *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetSystemStatus Cmd - Gets the basic information about the system status of the WiMOD.
Definition: WiMODLoRaWAN.cpp:587
WiMODGlobalLink24::SendUData
bool SendUData(const TWiMODGlobalLink24_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit U-Data to network server via RF link.
Definition: WiMODGlobalLink24.cpp:1751
WiMODLoRaWAN::ConvertNwkSKeyStrToArray
void ConvertNwkSKeyStrToArray(char *nwkSKeyStr, uint8_t *nwkSKeyArray)
Converts a string containing an NwkSKey string into a given byte array.
Definition: WiMODLoRaWAN.cpp:355
WiMODGlobalLink24::RegisterTxUDataIndicationClient
void RegisterTxUDataIndicationClient(TTxUDataIndicationCallback cb)
Register a callback function for the event "TX U Data Indication".
Definition: WiMODGlobalLink24.cpp:1599
TWiMODGlobalLink24_RadioStackConfig
Definition: WiMOD_SAP_GlobalLink24.h:100
TWiMODLR_DevMgmt_DevInfoLoRaWan
Structure containing basic information about the WiMOD device.
Definition: WiMOD_SAP_DEVMGMT_Lorawan_IDs.h:64
WiMODGlobalLink24::ConvertNwkSKeyStrToArray
void ConvertNwkSKeyStrToArray(char *nwkSKeyStr, uint8_t *nwkSKeyArray)
Converts a string containing an NwkSKey string into a given byte array.
Definition: WiMODGlobalLink24.cpp:197
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
TWiMODGlobalLink24_ActivateDeviceData
Definition: WiMOD_SAP_GlobalLink24.h:93
TWiMODLR_DevMgmt_RtcAlarm
Structure containing the RTC Alarm config parameters of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:484
TWiMODGlobalLink24_RX_Data
Definition: WiMOD_SAP_GlobalLink24.h:97
TWiMODStackError
TWiMODStackError
Internal error reasons; not to be used in user code.
Definition: WiMODLRHCI.h:170
WiMODLoRaWAN::ConnectViaOTAA
void ConnectViaOTAA(const uint8_t *appEUI=NULL, const uint8_t *appKey=NULL)
do a jump start and use OTAA to connect to a Nwk server
Definition: WiMODLoRaWAN.cpp:260
WiMODLoRaWAN::SendMacCmd
bool SendMacCmd(const TWiMODLORAWAN_MacCmd *cmd, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Send a MAC command to the server; expert level only.
Definition: WiMODLoRaWAN.cpp:2315
WiMODLRHCI.h
TWiMOD_OperationMode
TWiMOD_OperationMode
This enum describes the possible operation modes of the WiMOD (only for LR-BASE).
Definition: WiMOD_SAP_DEVMGMT_IDs.h:440
WiMODGlobalLink24::GetDeviceEUI
bool GetDeviceEUI(UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the DeviceEUI (aka. IEEE-Address) of the WiMOD.
Definition: WiMODGlobalLink24.cpp:2031
TWiMODGlobalLink24_SupportedBands
Definition: WiMOD_SAP_GlobalLink24.h:105
WiMODGlobalLink24::DeactivateDevice
bool DeactivateDevice(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Deactivate the device (logical disconnect from lora network)
Definition: WiMODGlobalLink24.cpp:1923
WiMODLoRaWAN::convert
bool convert(TWiMODLR_HCIMessage &RxMsg, TWiMODLORAWAN_RX_Data *loraWanRxData)
Convert a received low level HCI-Msg to a high-level Rx Data structure.
Definition: WiMODLoRaWAN.cpp:1383
WiMODGlobalLink24::JoinNetwork
bool JoinNetwork(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Start joining the network via the OTAA procedure. Asynchronous process.
Definition: WiMODGlobalLink24.cpp:1108
WiMODLoRaWAN::GetDeviceInfo
bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfoLoRaWan *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetDeviceInfo Cmd - Gets the basic device information of the WiMOD.
Definition: WiMODLoRaWAN.cpp:502
TWiMODLRHCI::Process
void Process(void)
Handle the receiver path; process all incomming bytes from the WiMOD.
Definition: WiMODLRHCI.cpp:180
WiMODLoRaWAN::RegisterRtcAlarmIndicationClient
void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb)
Register a callback function for the RTC Alarm Indication - optional -.
Definition: WiMODLoRaWAN.cpp:961
WiMODGlobalLink24::RegisterTxCDataIndicationClient
void RegisterTxCDataIndicationClient(TTxCDataIndicationCallback cb)
Register a callback function for the event "TX C-Data Indication".
Definition: WiMODGlobalLink24.cpp:1551
WiMODGlobalLink24::GetNwkStatus
bool GetNwkStatus(TWiMODGlobalLink24_NwkStatus_Data *nwkStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current status of the network "connection".
Definition: WiMODGlobalLink24.cpp:2077
WiMODLoRaWAN::SetOperationMode
bool SetOperationMode(const TWiMOD_OperationMode opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current operation mode of the WiMOD module.
Definition: WiMODLoRaWAN.cpp:759
WiMODGlobalLink24::SetHciConfig
bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig &hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new HCI configuration of the WiMOD.
Definition: WiMODGlobalLink24.cpp:862
TWiMODLR_HCIMessage::Length
UINT16 Length
Definition: WiMODLRHCI.h:123
WiMODGlobalLink24::GetRadioStackConfig
bool GetRadioStackConfig(TWiMODGlobalLink24_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current radio config parameter set of the WiMOD.
Definition: WiMODGlobalLink24.cpp:1892
TWiMODLR_HCIMessage::MsgID
UINT8 MsgID
Definition: WiMODLRHCI.h:129
TWiMODGlobalLink24_TxIndData
Definition: WiMOD_SAP_GlobalLink24.h:95
TTxUDataIndicationCallback
void(* TTxUDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:163
WiMODLoRaWAN::RegisterRxCDataIndicationClient
void RegisterRxCDataIndicationClient(TRxCDataIndicationCallback cb)
Register a callback function for the event "RX C-Data Indication".
Definition: WiMODLoRaWAN.cpp:1828
WiMODLoRaWAN::ReactivateDevice
bool ReactivateDevice(UINT32 *devAdr, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Re-Activates the device via the ABP procedure.
Definition: WiMODLoRaWAN.cpp:1179
WiMODLoRaWAN::SetRtc
bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current RTC values to WiMOD module.
Definition: WiMODLoRaWAN.cpp:673
WiMODLoRaWAN::GetHciConfig
bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig *hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current HCI configuration of the WiMOD.
Definition: WiMODLoRaWAN.cpp:1000
TRxAckIndicationCallback
void(* TRxAckIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:175
TWiMODLRHCI::~TWiMODLRHCI
~TWiMODLRHCI(void)
Destructor.
Definition: WiMODLRHCI.cpp:80
WiMODLoRaWAN::JoinNetwork
bool JoinNetwork(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Start joining the network via the OTAA procedure. Asynchronous process.
Definition: WiMODLoRaWAN.cpp:1294
TWiMODGlobalLink24_TX_Data
Definition: WiMOD_SAP_GlobalLink24.h:96
WiMODGlobalLink24::SetRadioStackConfig
bool SetRadioStackConfig(TWiMODGlobalLink24_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new radio config parameter set of the WiMOD.
Definition: WiMODGlobalLink24.cpp:1854
TWiMODLR_HCIMessage::Payload
UINT8 Payload[WIMODLR_HCI_MSG_PAYLOAD_SIZE]
Definition: WiMODLRHCI.h:132
TWiMODLR_HCIMessage
struct TWiMODLR_HCIMessage TWiMODLR_HCIMessage
basic low level HCI message structure used for all serial messages to/from WiMOD
WiMODLoRaWAN::SetHciConfig
bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig &hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new HCI configuration of the WiMOD.
Definition: WiMODLoRaWAN.cpp:1042
WIMOD_STACK_ERR_UNKNOWN_RX_CMD_ID
@ WIMOD_STACK_ERR_UNKNOWN_RX_CMD_ID
Definition: WiMODLRHCI.h:174
TWiMODLRHCI::end
virtual void end(void)
shutdown function
Definition: WiMODLRHCI.cpp:107
TWiMODGlobalLink24_JoinParams
Definition: WiMOD_SAP_GlobalLink24.h:94
WiMODGlobalLink24::WiMODGlobalLink24
WiMODGlobalLink24(Stream &s)
Constructor.
Definition: WiMODGlobalLink24.cpp:69
ComSLIP.h
WiMODGlobalLink24::GetLastHciResult
TWiMODLRResultCodes GetLastHciResult(void)
Gets the last HCI result code from the last executed command.
Definition: WiMODGlobalLink24.cpp:2366
TRxMacCmdIndicationCallback
void(* TRxMacCmdIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:172
TWiMODLRHCI::SendWakeUpSequence
void SendWakeUpSequence(void)
: Send a sequence of dummy chars to give the WiMOD some time to wake up
Definition: WiMODLRHCI.cpp:201
WiMODGlobalLink24::RegisterRxAckIndicationClient
void RegisterRxAckIndicationClient(TRxAckIndicationCallback cb)
Register a callback function for the event "RX ACK (data) Indication".
Definition: WiMODGlobalLink24.cpp:1704
WiMODGlobalLink24::GetSupportedBands
bool GetSupportedBands(TWiMODGlobalLink24_SupportedBands *supportedBands, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the supported bands of this firmware.
Definition: WiMODGlobalLink24.cpp:2185
WiMODGlobalLink24::SetOperationMode
bool SetOperationMode(const TWiMOD_OperationMode opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current operation mode of the WiMOD module.
Definition: WiMODGlobalLink24.cpp:584
WiMODLoRaWAN::SetCustomConfig
bool SetCustomConfig(const INT8 rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Setup a custom config for tx power settings; expert level only.
Definition: WiMODLoRaWAN.cpp:2338
WiMODGlobalLink24::ReactivateDevice
bool ReactivateDevice(UINT32 *devAdr, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Re-Activates the device via the ABP procedure.
Definition: WiMODGlobalLink24.cpp:996
WiMODLoRaWAN::end
void end(void)
Shut shut down function.
Definition: WiMODLoRaWAN.cpp:127
WiMODLoRaWAN::GetOperationMode
bool GetOperationMode(TWiMOD_OperationMode *opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current operation mode of the WiMOD module.
Definition: WiMODLoRaWAN.cpp:719
WiMODLoRaWAN::RegisterRxAckIndicationClient
void RegisterRxAckIndicationClient(TRxAckIndicationCallback cb)
Register a callback function for the event "RX ACK (data) Indication".
Definition: WiMODLoRaWAN.cpp:1891
WiMODLoRaWAN::GetRadioStackConfig
bool GetRadioStackConfig(TWiMODLORAWAN_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current radio config parameter set of the WiMOD.
Definition: WiMODLoRaWAN.cpp:2082
TTxCDataIndicationCallback
void(* TTxCDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:160
WiMODGlobalLink24::convert
bool convert(TWiMODLR_HCIMessage &RxMsg, TWiMODGlobalLink24_RX_Data *globalLink24RxData)
Convert a received low level HCI-Msg to a high-level Rx Data structure.
Definition: WiMODGlobalLink24.cpp:1196
WiMODGlobalLink24::end
void end(void)
Shut shut down function.
Definition: WiMODGlobalLink24.cpp:113
WiMODLoRaWAN::ExecuteGenericCmd
bool ExecuteGenericCmd(TWiMODLR_Generic_CmdInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Generic Execution Function for HCI commands that are currently not implemented.
Definition: WiMODLoRaWAN.cpp:2569
WiMODLoRaWAN::GetRtcAlarm
bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets information about the RTC alarm feature of the WiMOD.
Definition: WiMODLoRaWAN.cpp:856
WiMODGlobalLink24::RegisterRxUDataIndicationClient
void RegisterRxUDataIndicationClient(TRxUDataIndicationCallback cb)
Register a callback function for the event "RX U-Data Indication".
Definition: WiMODGlobalLink24.cpp:1620
WIMOD_STACK_ERR_UNKNOWN_RX_SAP_ID
@ WIMOD_STACK_ERR_UNKNOWN_RX_SAP_ID
Definition: WiMODLRHCI.h:173
WiMODLoRaWAN::begin
void begin(TLoRaWANregion region=LoRaWAN_Region_EU868)
This function must be called once before any other service can be used.
Definition: WiMODLoRaWAN.cpp:108
WiMODGlobalLink24.h
CRC16_Calc
UINT16 CRC16_Calc(UINT8 *data, UINT16 length, UINT16 initVal)
calculate CRC16
Definition: CRC16.cpp:134
WiMODGlobalLink24::GetDeviceInfo
bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfoLoRaWan *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetDeviceInfo Cmd - Gets the basic device information of the WiMOD.
Definition: WiMODGlobalLink24.cpp:342
WiMODLoRaWAN::Ping
bool Ping(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Ping Cmd - Checks the serial connection to the WiMOD module.
Definition: WiMODLoRaWAN.cpp:442
WiMODLR_RESULT_PAYLOAD_PTR_ERROR
@ WiMODLR_RESULT_PAYLOAD_PTR_ERROR
Definition: WiMODLRHCI.h:153
WiMODGlobalLink24::ClearRtcAlarm
bool ClearRtcAlarm(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Clears pending RTC Alarms of the WiMOD.
Definition: WiMODGlobalLink24.cpp:707
WiMODGlobalLink24::RegisterJoinTxIndicationClient
void RegisterJoinTxIndicationClient(TJoinTxIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODGlobalLink24.cpp:1143
WIMODLR_RESPOMSE_TIMEOUT_MS
#define WIMODLR_RESPOMSE_TIMEOUT_MS
Definition: WiMODLRHCI.h:69
WiMODGlobalLink24::SendMacCmd
bool SendMacCmd(const TWiMODGlobalLink24_MacCmd *cmd, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Send a MAC command to the server; expert level only.
Definition: WiMODGlobalLink24.cpp:2117
WiMODLoRaWAN::RegisterJoinTxIndicationClient
void RegisterJoinTxIndicationClient(TJoinTxIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODLoRaWAN.cpp:1330
WiMODGlobalLink24::RegisterRxCDataIndicationClient
void RegisterRxCDataIndicationClient(TRxCDataIndicationCallback cb)
Register a callback function for the event "RX C-Data Indication".
Definition: WiMODGlobalLink24.cpp:1641
WiMODLoRaWAN::RegisterJoinedNwkIndicationClient
void RegisterJoinedNwkIndicationClient(TJoinedNwkIndicationCallback cb)
Register a callback function for the event "Joined Nwk Indication".
Definition: WiMODLoRaWAN.cpp:1870
TJoinTxIndicationCallback
void(* TJoinTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:151
WiMODGlobalLink24::GetHciConfig
bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig *hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current HCI configuration of the WiMOD.
Definition: WiMODGlobalLink24.cpp:821
TNoDataIndicationCallback
void(* TNoDataIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:157
WiMODGlobalLink24::RegisterPowerUpIndicationClient
void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb)
Register a callback function for the PowerUp Indication - optional -.
Definition: WiMODGlobalLink24.cpp:744
TWiMODLR_HCIMessage::CRC16
UINT8 CRC16[WIMODLR_HCI_MSG_FCS_SIZE]
Definition: WiMODLRHCI.h:135
WiMODGlobalLink24::GetFirmwareInfo
bool GetFirmwareInfo(TWiMODLR_DevMgmt_FwInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetFirmwareInfo Cmd - Gets the basic information about the firmware of the WiMOD.
Definition: WiMODGlobalLink24.cpp:380
TRxCDataIndicationCallback
void(* TRxCDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:169
TWiMODLRResultCodes
TWiMODLRResultCodes
Result codes for the local serial communication itself.
Definition: WiMODLRHCI.h:149
CRC16_Check
bool CRC16_Check(UINT8 *data, UINT16 length, UINT16 initVal)
calculate & test CRC16
Definition: CRC16.cpp:222
WIMOD_STACK_ERR_UNKNOWN_RX_MESSAGE
@ WIMOD_STACK_ERR_UNKNOWN_RX_MESSAGE
Definition: WiMODLRHCI.h:172
CRC16_INIT_VALUE
#define CRC16_INIT_VALUE
initial value for CRC algorithem
Definition: CRC16.h:54
WiMODGlobalLink24::SetRtcAlarm
bool SetRtcAlarm(const TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets and enables the RTC alarm feature of the WiMOD.
Definition: WiMODGlobalLink24.cpp:637
WiMODGlobalLink24::SetCustomConfig
bool SetCustomConfig(const INT8 rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Setup a custom config for tx power settings; expert level only.
Definition: WiMODGlobalLink24.cpp:2139
WiMODGlobalLink24::GetSystemStatus
bool GetSystemStatus(TWiMODLR_DevMgmt_SystemStatusLorawan *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetSystemStatus Cmd - Gets the basic information about the system status of the WiMOD.
Definition: WiMODGlobalLink24.cpp:419
TComSlip
Class for handling SLIP encoding and decoding of HCI messages.
Definition: ComSLIP.h:68
TWiMODGlobalLink24_RX_MacCmdData
Definition: WiMOD_SAP_GlobalLink24.h:98
WiMODLR_RESULT_NO_RESPONSE
@ WiMODLR_RESULT_NO_RESPONSE
Definition: WiMODLRHCI.h:156
TWiMODLRHCIClient
Internal helper class for processing HCI frames.
Definition: WiMODLRHCI.h:208
WiMODGlobalLink24::SetBatteryLevelStatus
bool SetBatteryLevelStatus(UINT8 battStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set the Battry Level Status.
Definition: WiMODGlobalLink24.cpp:2254
WiMODLoRaWAN::SendCData
bool SendCData(const TWiMODLORAWAN_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit C-Data to network server via RF link.
Definition: WiMODLoRaWAN.cpp:1996
TWiMODLR_DevMgmt_HciConfig
HCI Configuration Parameters.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:519
TComSlipClient
Class definition for enabling OO inheritance.
Definition: ComSLIP.h:52
TWiMODLRHCI::begin
virtual void begin(void)
Init function of the generic HCI message handler.
Definition: WiMODLRHCI.cpp:92
TDevMgmtRtcAlarmCallback
void(* TDevMgmtRtcAlarmCallback)(void)
Definition: WiMOD_SAP_DEVMGMT.h:96
WiMODGlobalLink24::ConnectViaOTAA
void ConnectViaOTAA(const uint8_t *appEUI=NULL, const uint8_t *appKey=NULL)
do a jump start and use OTAA to connect to a Nwk server
Definition: WiMODGlobalLink24.cpp:139
TDevMgmtPowerUpCallback
void(* TDevMgmtPowerUpCallback)(void)
Definition: WiMOD_SAP_DEVMGMT.h:93
TWiMODLR_DevMgmt_SystemStatusLorawan
Basic information about system status of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_Lorawan_IDs.h:77
WiMODLoRaWAN::SetBatteryLevelStatus
bool SetBatteryLevelStatus(UINT8 battStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set the Battery Level Status.
Definition: WiMODLoRaWAN.cpp:2505
TWiMODLRHCI::TWiMODLRHCI
TWiMODLRHCI(Stream &s)
Constructor.
Definition: WiMODLRHCI.cpp:57
TWiMODGlobalLink24_RX_ACK_Data
Definition: WiMOD_SAP_GlobalLink24.h:102
WiMODLoRaWAN::GetRtc
bool GetRtc(UINT32 *rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current RTC data info from WiMOD module.
Definition: WiMODLoRaWAN.cpp:634
WiMODLoRaWAN::GetLastResponseStatus
UINT8 GetLastResponseStatus(void)
Gets the last response code of the WiMOD of the last executed command.
Definition: WiMODLoRaWAN.cpp:2667
WiMODGlobalLink24::RegisterRxMacCmdIndicationClient
void RegisterRxMacCmdIndicationClient(TRxMacCmdIndicationCallback cb)
Register a callback function for the event "RX MAC Cmd Indication".
Definition: WiMODGlobalLink24.cpp:1662
WiMODLoRaWAN::SendUData
bool SendUData(const TWiMODLORAWAN_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit U-Data to network server via RF link.
Definition: WiMODLoRaWAN.cpp:1938
WiMODGlobalLink24::begin
void begin(TLoRaWANregion region=LoRaWAN_Region_proprietary_WW2G4)
This function must be called once before any other service can be used.
Definition: WiMODGlobalLink24.cpp:98
WiMODGlobalLink24::Reset
bool Reset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset Cmd - Reboots the WiMOD module.
Definition: WiMODGlobalLink24.cpp:306
WiMODLoRaWAN::RegisterPowerUpIndicationClient
void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb)
Register a callback function for the PowerUp Indication - optional -.
Definition: WiMODLoRaWAN.cpp:923
WiMODGlobalLink24::ActivateDevice
bool ActivateDevice(TWiMODGlobalLink24_ActivateDeviceData &activationData, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Activates the device via the ABP procedure.
Definition: WiMODGlobalLink24.cpp:931
TWiMODGlobalLink24_RX_JoinedNwkData
Definition: WiMOD_SAP_GlobalLink24.h:99
WiMODGlobalLink24::ConvertAppKeyStrToArray
void ConvertAppKeyStrToArray(char *appKeyStr, uint8_t *appKeyArray)
Converts a string containing an App Key string into a given byte array.
Definition: WiMODGlobalLink24.cpp:178
WiMODGlobalLink24::GetRtcAlarm
bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets information about the RTC alarm feature of the WiMOD.
Definition: WiMODGlobalLink24.cpp:679
WiMODGlobalLink24::FactoryReset
bool FactoryReset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset all internal settings to default values (incl. DevEUI !!!)
Definition: WiMODGlobalLink24.cpp:1955
WiMODLoRaWAN::RegisterRxUDataIndicationClient
void RegisterRxUDataIndicationClient(TRxUDataIndicationCallback cb)
Register a callback function for the event "RX U-Data Indication".
Definition: WiMODLoRaWAN.cpp:1807
WiMODGlobalLink24::Ping
bool Ping(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Ping Cmd - Checks the serial connection to the WiMOD module.
Definition: WiMODGlobalLink24.cpp:284
TWiMODLRHCI::SendHCIMessageWithoutRx
TWiMODLRResultCodes SendHCIMessageWithoutRx(UINT8 dstSapID, UINT8 msgID, UINT8 *payload, UINT16 length)
Generic function for transferring a HCI message to the WiMOD module.
Definition: WiMODLRHCI.cpp:161
WiMODGlobalLink24::ExecuteGenericCmd
bool ExecuteGenericCmd(TWiMODLR_Generic_CmdInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Generic Execution Function for HCI commands that are currently not implemented.
Definition: WiMODGlobalLink24.cpp:2315
TWiMODGlobalLink24_MacCmd
Definition: WiMOD_SAP_GlobalLink24.h:101
WiMODLoRaWAN::GetNwkStatus
bool GetNwkStatus(TWiMODLORAWAN_NwkStatus_Data *nwkStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current status of the network "connection".
Definition: WiMODLoRaWAN.cpp:2274
WiMODLR_RESULT_PAYLOAD_LENGTH_ERROR
@ WiMODLR_RESULT_PAYLOAD_LENGTH_ERROR
Definition: WiMODLRHCI.h:152