| Demo HCI Implementation for WiMOD-LR Devices V2.0.3

WiMODProLink.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32
33 /*
34 * THIS IS AN EXAMPLE IMPLEMENTATION ACCORDING THE THE HCI SPEC: V1.3
35 * FOR FIRMWARE: LoRaWAN PROLINK
36 *
37 * SEE FILE: ProLink_LoRaWAN_EndNode_Modem_HCI_Spec_v1_3.pdf for detailed information
38 */
39
40 #ifndef ARDUINO_WIMODPROLINK_H_
41 #define ARDUINO_WIMODPROLINK_H_
42
43 //------------------------------------------------------------------------------
44 //
45 // Section Includes Files
46 //
47 //------------------------------------------------------------------------------
48
49 #include "Arduino.h"
50 /************
51 * BUG in ardunino.h ?
52 * -> https://stackoverflow.com/questions/41093090/esp8266-error-macro-min-passed-3-arguments-but-takes-just-2
53 */
54 #undef min
55 #undef max
56
57 #include <string.h>
58
59 #include "SAP/WiMOD_SAP_LORAWAN_ProLink.h"
60 #include "SAP/WiMOD_SAP_DEVMGMT_ProLink.h"
61 #include "SAP/WiMOD_SAP_RadioLink_ProLink.h"
62
63 #include "SAP/WiMOD_SAP_Generic.h"
64 #include "utils/ComSLIP.h"
65 #include "HCI/WiMODLRHCI.h"
66 #include "utils/FreqCalc_SX127x.h"
67
68 //-----------------------------------------------------------------------------
69 // common defines
70 //-----------------------------------------------------------------------------
72 #define WIMOD_PROLINK_SERIAL_BAUDRATE 115200
73
74 #define WiMOD_PROLINK_TX_BUFFER_SIZE 256
75 //-----------------------------------------------------------------------------
77 // types for callback functions
78 //-----------------------------------------------------------------------------
79
80
81
82 //-----------------------------------------------------------------------------
83 // API class declaration for the WiMOD ProLink LoRaWAN Stack
84 //
85 //-----------------------------------------------------------------------------
93 class WiMODProLink : public TWiMODLRHCI {
94 public:
95 /*explicit*/ WiMODProLink(Stream& s);
96 ~WiMODProLink(void);
97 void begin(TProLinkLoRaWANregion region = ProLink_LoRaWAN_Region_EU868);
98 void end(void);
99
101 void beginAndAutoSetup(void);
102 void autoSetupSupportedRegion(void);
104
105 /*
106 * DevMgmt SAP
107 */
108 bool Ping(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
109 bool Reset(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
110 bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfoLoRaWan* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
111 bool GetFirmwareInfo(TWiMODLR_DevMgmt_FwInfo* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
112 bool GetRtc(UINT32* rtcTime,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
113 bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
114
115 bool SetRtcAlarm(const TWiMODLR_DevMgmt_RtcAlarm* rtcAlarm, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
116 bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm* rtcAlarm, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
117 bool ClearRtcAlarm(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
118
119 bool GetOperationMode(TWiMOD_OperationMode* opMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
120 bool SetOperationMode(const TWiMOD_OperationMode opMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
121
122 void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb);
123 void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb);
124
125 bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig* hciConfig, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
126 bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig& hciConfig, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
127
128
129 bool GetRadioStack(TRadioStack_Mode* stackMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
130 bool SetRadioStack(const TRadioStack_Mode& stackMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
131
132
133 bool SetDeviceConfig(const TProLinkDeviceConfig& config, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
134 bool GetDeviceConfig(TProLinkDeviceConfig* config, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
135 bool ResetDeviceConfig(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
136
137 bool GetDeviceStatus(TProLinkDeviceStatus* devStatus, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
138
139 /*
140 * LoRaWAN SAP
141 */
142 bool ActivateDevice(TWiMODLORAWAN_ActivateDeviceData& activationData,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
143 bool ReactivateDevice(UINT32* devAdr, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
144 bool SetJoinParameter(TWiMODLORAWAN_JoinParams& joinParams, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
145 bool JoinNetwork(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
146
147 void RegisterJoinTxIndicationClient(TJoinTxIndicationCallback cb);
148
149 bool
150 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_Data* loraWanRxData);
151 bool
152 convert(TWiMODLR_HCIMessage& rxMsg, TWiMODLORAWAN_TxIndData* sendIndData);
153
154 bool
155 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_MacCmdData* loraWanMacCmdData);
156
157 bool
158 convert(TWiMODLR_HCIMessage& RxMsg,TWiMODLORAWAN_RX_JoinedNwkData* joinedNwkData);
159
160 bool
161 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_ACK_Data* ackData);
162
163 bool
164 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_NoData_Data* info);
165
166 void
167 RegisterNoDataIndicationClient(TNoDataIndicationCallback cb);
168
169 void
170 RegisterTxCDataIndicationClient(TTxCDataIndicationCallback cb);
171
172 void
173 RegisterTxUDataIndicationClient(TTxUDataIndicationCallback cb);
174
175 void
176 RegisterRxUDataIndicationClient(TRxUDataIndicationCallback cb);
177
178 void
179 RegisterRxCDataIndicationClient(TRxCDataIndicationCallback cb);
180
181 void
182 RegisterRxMacCmdIndicationClient(TRxMacCmdIndicationCallback cb);
183
184 void
185 RegisterJoinedNwkIndicationClient(TJoinedNwkIndicationCallback cb);
186
187 void
188 RegisterRxAckIndicationClient(TRxAckIndicationCallback cb);
189
190 bool SendUData(TWiMODProLinkLORAWAN_TX_Data* data, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
191 bool SendCData(TWiMODProLinkLORAWAN_TX_Data* data,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
192 bool SetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig* data,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
193 bool GetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig* data, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
194 bool DeactivateDevice(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
195 bool FactoryReset(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
196 bool SetDeviceEUI(const UINT8* deviceEUI, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
197 bool GetDeviceEUI(UINT8* deviceEUI, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
198 bool GetNwkStatus(TWiMODLORAWAN_NwkStatus_Data* nwkStatus, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL); // new implementation for spec. V1.14
199 bool SendMacCmd(const TWiMODLORAWAN_MacCmd* cmd, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
200 bool SetCustomConfig(const INT8 rfGain, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
201 bool GetCustomConfig(INT8* rfGain, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
202 bool GetSupportedBands(TWiMODLORAWAN_SupportedBands* supportedBands, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
203 bool GetTxPowerLimitConfig(TWiMODLORAWAN_TxPwrLimitConfig* txPwrLimitCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
204 bool SetTxPowerLimitConfig(TWiMODLORAWAN_TxPwrLimitConfig& txPwrLimitCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
205
206 bool SetBatteryLevelStatus(UINT8 battStatus, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
207
208 bool SetDeviceNonce(const UINT16 devNonce, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
209 bool GetDeviceNonce(UINT16* devNonce, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
210
211
212 bool SetMulticastConfig(TWiMODLORAWAN_McastConfig& mcastCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
213 bool GetMulticastConfig(TWiMODLORAWAN_McastConfig* mcastCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
214 bool RemoveMulticastConfig(const UINT8 mcastIndex, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
215
216 void
217 RegisterResetDevNonceIndicationClient(TResetDevNonceIndicationCallback cb);
218
219 bool SetJoinNonce(const UINT16 joinNonce, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
220 bool GetJoinNonce(UINT16* joinNonce, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
221
222 void
223 RegisterLinkDiconnectIndicationClient(TLinkDisconnectIndicationCallback cb);
224
225 bool SendNwkTimeRequest(TWiMODLORAWAN_DevTimeReqInfo* devTimeInfo, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
226
227 void
228 RegisterNwkTimeAnsIndicationClient(TNwkDeviceTimeAnsIndicationCallback cb);
229
230 void
231 RegisterMulticastDataIndicationClient(TMCastDataIndicationCallback cb);
232
233 void
234 RegisterMulticastInvalidDataIndicationClient(TMCastInvalidDataIndicationCallback cb);
235
236 bool
237 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_DevTimeAnsInfo* info);
238 bool
239 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_McastData* mcastData);
240 bool
241 convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_McastNoData* mcastErrData);
242
243
244 /*
245 * proprietary RadioLink SAP (LR-BASE)
246 */
247 bool GetRadioLinkRadioConfig(TWiMODLR_ProLinkRadioLink_RadioConfig* radioCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
248 bool SetRadioLinkRadioConfig(const TWiMODLR_ProLinkRadioLink_RadioConfig* radioCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
249 bool ResetRadioLinkRadioConfig(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
250
251 bool SetRadioLinkAesKey(const UINT8* key, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
252 bool GetRadioLinkAesKey( UINT8* key,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
253
254 bool SendRadioLinkUData(const TWiMODLR_RadioLink_Msg* data,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
255
256 void RegisterRadioLinkRxUDataIndicationClient(TRadioLinkUDataRxIndicationCallback cb);
257
258 void RegisterRadioLinkTxUDataIndicationClient(TRadioLinkUDataTxIndicationCallback cb);
259
260 void calcFreqToRegister(uint32_t freq, uint8_t* msb, uint8_t* mid, uint8_t* lsb);
261 uint32_t calcRegisterToFreq(uint8_t msb, uint8_t mid, uint8_t lsb);
262
263 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_Msg* radioLinkMsg);
264 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_UdataInd* uDataTxInfo);
265
266
267 /*
268 * Generic Cmd
269 */
270 bool ExecuteGenericCmd(TWiMODLR_Generic_CmdInfo* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
271
272 /*
273 * Info & QuickStart Cmds
274 */
275 void PrintBasicDeviceInfo(Stream& s);
276 void ConnectViaOTAA(const uint8_t* appEUI = NULL, const uint8_t* appKey = NULL);
277 void ConvertAppEuiStrToArray(char* appEuiStr, uint8_t* appEuiArray);
278 void ConvertAppKeyStrToArray(char* appKeyStr, uint8_t* appKeyArray);
279
280 void ConvertNwkSKeyStrToArray(char* nwkSKeyStr, uint8_t* nwkSKeyArray);
281 void ConvertAppSKeyStrToArray(char* appSKeyStr, uint8_t* appSKeyArray);
282
283 TWiMODLRResultCodes GetLastHciResult(void);
284 UINT8 GetLastResponseStatus(void);
285
286 protected:
287 WiMOD_SAP_DevMgmt_ProLink SapDevMgmt;
288 WiMOD_SAP_LoRaWAN_ProLink SapLoRaWan;
289 WiMOD_SAP_RadioLink_ProLink SapRadioLink;
290 WiMOD_SAP_Generic SapGeneric;
293 virtual void ProcessUnexpectedRxMessage(TWiMODLR_HCIMessage& rxMsg);
294
295
296 bool copyLoRaWanResultInfos(TWiMODLRResultCodes* hciResult, UINT8* rspStatus);
297 bool copyDevMgmtResultInfos(TWiMODLRResultCodes* hciResult, UINT8* rspStatus);
298 bool copyProLinkRadioLinkResultInfos(TWiMODLRResultCodes* hciResult, UINT8* rspStatus);
299 private:
301 UINT8 txBuffer[WiMOD_PROLINK_TX_BUFFER_SIZE];
302
303 UINT8 localStatusRsp;
304 bool cmdResult;
305 TWiMODLRResultCodes localHciRes;
306
307 TWiMODLRResultCodes lastHciRes;
308 UINT8 lastStatusRsp;
310 };
311
312
313
314
315
316
317
318
319
320
321 #endif /* ARDUINO_WIMODPROLINK_H_ */
WiMOD_SAP_Generic
Implementation for the ServiceAccessPoint DeviceManagement.
Definition: WiMOD_SAP_Generic.h:78
TJoinedNwkIndicationCallback
void(* TJoinedNwkIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:154
WiMODProLink::SapGeneric
WiMOD_SAP_Generic SapGeneric
Definition: WiMODProLink.h:293
TWiMODLORAWAN_DevTimeAnsInfo
info data structure for LoRa device time request MAC command
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:114
TProLinkDeviceStatus
Definition: WiMOD_SAP_DEVMGMT_ProLink_IDs.h:94
WiMODProLink::GetLastResponseStatus
UINT8 GetLastResponseStatus(void)
Gets the last response code of the WiMOD of the last executed command.
Definition: WiMODProLink.cpp:3605
WiMODProLink::SendRadioLinkUData
bool SendRadioLinkUData(const TWiMODLR_RadioLink_Msg *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit U-Data to a peer using proprietary LoRa mode.
Definition: WiMODProLink.cpp:3341
TWiMODLORAWAN_RX_JoinedNwkData
Structure containing data of the joined network indication.
Definition: WiMOD_SAP_LORAWAN_IDs.h:551
TRxUDataIndicationCallback
void(* TRxUDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:166
TWiMODLORAWAN_RX_Data
Structure containing RX (user) payload data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:514
WiMOD_SAP_DEVMGMT_ProLink.h
WiMODProLink::GetRadioStackConfig
bool GetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current radio config parameter set of the WiMOD.
Definition: WiMODProLink.cpp:2329
WiMODProLink::RegisterPowerUpIndicationClient
void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb)
Register a callback function for the PowerUp Indication - optional -.
Definition: WiMODProLink.cpp:797
WiMODProLink::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: WiMODProLink.cpp:546
WiMODProLink::SetJoinParameter
bool SetJoinParameter(TWiMODLORAWAN_JoinParams &joinParams, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the parameters used for the OTAA activation procedure.
Definition: WiMODProLink.cpp:1342
WiMODProLink::GetRadioLinkRadioConfig
bool GetRadioLinkRadioConfig(TWiMODLR_ProLinkRadioLink_RadioConfig *radioCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the current RadioConfig used for the proprietary LoRa communication feature.
Definition: WiMODProLink.cpp:3153
WiMODProLink::ConvertAppSKeyStrToArray
void ConvertAppSKeyStrToArray(char *appSKeyStr, uint8_t *appSKeyArray)
Converts a string containing an AppSKey string into a given byte array.
Definition: WiMODProLink.cpp:377
TWiMODLORAWAN_McastNoData
Structure containing a MultiCast Data.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:176
TWiMODLORAWAN_NoData_Data
Structure containing infos of a NoData Indication message.
Definition: WiMOD_SAP_LORAWAN_IDs.h:648
TWiMODLORAWAN_TxIndData
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:472
TWiMODLRHCI
Internal helper class for processing SLIP frames.
Definition: WiMODLRHCI.h:235
TRadioLinkUDataRxIndicationCallback
void(* TRadioLinkUDataRxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:115
TWiMODLORAWAN_McastData
Structure containing a MultiCast Data.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:139
WiMODProLink::GetNwkStatus
bool GetNwkStatus(TWiMODLORAWAN_NwkStatus_Data *nwkStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current status of the network "connection".
Definition: WiMODProLink.cpp:2523
WiMODProLink::GetDeviceConfig
bool GetDeviceConfig(TProLinkDeviceConfig *config, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the common Device config of the WiMOD (only ProLink firmware)
Definition: WiMODProLink.cpp:1095
WiMODProLink::SetTxPowerLimitConfig
bool SetTxPowerLimitConfig(TWiMODLORAWAN_TxPwrLimitConfig &txPwrLimitCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set a single TX limit for a single sub-band.
Definition: WiMODProLink.cpp:2683
WiMODProLink::SetDeviceEUI
bool SetDeviceEUI(const UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new DeviceEUI (aka. IEEE-Address) to the WiMOD.
Definition: WiMODProLink.cpp:2438
WiMODProLink::Reset
bool Reset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset Cmd - Reboots the WiMOD module.
Definition: WiMODProLink.cpp:467
TWiMODLR_RadioLink_Msg
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_RadioLink_IDs.h:160
TWiMODLORAWAN_NwkStatus_Data
Structure containing all data about LoRaWAN network status.
Definition: WiMOD_SAP_LORAWAN_IDs.h:619
TWiMODLR_DevMgmt_FwInfo
Basic information about the current firmware of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:220
WiMODProLink::RegisterRxUDataIndicationClient
void RegisterRxUDataIndicationClient(TRxUDataIndicationCallback cb)
Register a callback function for the event "RX U-Data Indication".
Definition: WiMODProLink.cpp:2049
WiMODProLink::SetJoinNonce
bool SetJoinNonce(const UINT16 joinNonce, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set the Join Nonce for the next Join OTAA procedure.
Definition: WiMODProLink.cpp:2872
WiMODProLink::RegisterTxUDataIndicationClient
void RegisterTxUDataIndicationClient(TTxUDataIndicationCallback cb)
Register a callback function for the event "TX U Data Indication".
Definition: WiMODProLink.cpp:2028
TWiMODLR_DevMgmt_DevInfoLoRaWan
Structure containing basic information about the WiMOD device.
Definition: WiMOD_SAP_DEVMGMT_Lorawan_IDs.h:64
TWiMODLR_HCIMessage
basic low level HCI message structure used for all serial messages to/from WiMOD
Definition: WiMODLRHCI.h:120
TWiMODLR_DevMgmt_RtcAlarm
Structure containing the RTC Alarm config parameters of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:484
TWiMODLORAWAN_SupportedBands
data structure for supported bands
Definition: WiMOD_SAP_LORAWAN_IDs.h:663
WiMODProLink::ConvertAppKeyStrToArray
void ConvertAppKeyStrToArray(char *appKeyStr, uint8_t *appKeyArray)
Converts a string containing an App Key string into a given byte array.
Definition: WiMODProLink.cpp:338
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
WiMODProLink::RegisterJoinTxIndicationClient
void RegisterJoinTxIndicationClient(TJoinTxIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODProLink.cpp:1447
WiMODProLink::Ping
bool Ping(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Ping Cmd - Checks the serial connection to the WiMOD module.
Definition: WiMODProLink.cpp:443
TWiMODLORAWAN_JoinParams
JOIN data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:450
WiMODProLink::RegisterRadioLinkRxUDataIndicationClient
void RegisterRadioLinkRxUDataIndicationClient(TRadioLinkUDataRxIndicationCallback cb)
Register a callback function for the event "RX U-Data Indication".
Definition: WiMODProLink.cpp:3399
WiMODProLink::GetRtc
bool GetRtc(UINT32 *rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current RTC data info from WiMOD module.
Definition: WiMODProLink.cpp:593
WiMODProLink::RegisterMulticastDataIndicationClient
void RegisterMulticastDataIndicationClient(TMCastDataIndicationCallback cb)
Register a callback function for the event "MultiCast Data (Rx) Indication".
Definition: WiMODProLink.cpp:3099
WiMODProLink::RegisterMulticastInvalidDataIndicationClient
void RegisterMulticastInvalidDataIndicationClient(TMCastInvalidDataIndicationCallback cb)
Register a callback function for the event "Invalid MultiCast Data (RX) Indication".
Definition: WiMODProLink.cpp:3120
WiMODProLink::end
void end(void)
Shut shut down function.
Definition: WiMODProLink.cpp:128
WiMODProLink::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: WiMODProLink.cpp:1500
WiMODProLink::GetRadioStack
bool GetRadioStack(TRadioStack_Mode *stackMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the active Radio Stack Mode of the WiMOD (only ProLink firmware)
Definition: WiMODProLink.cpp:964
WiMODProLink::SapLoRaWan
WiMOD_SAP_LoRaWAN_ProLink SapLoRaWan
Definition: WiMODProLink.h:291
WiMODProLink::RegisterRxCDataIndicationClient
void RegisterRxCDataIndicationClient(TRxCDataIndicationCallback cb)
Register a callback function for the event "RX C-Data Indication".
Definition: WiMODProLink.cpp:2070
WiMODProLink::RegisterJoinedNwkIndicationClient
void RegisterJoinedNwkIndicationClient(TJoinedNwkIndicationCallback cb)
Register a callback function for the event "Joined Nwk Indication".
Definition: WiMODProLink.cpp:2112
WiMODProLink::RemoveMulticastConfig
bool RemoveMulticastConfig(const UINT8 mcastIndex, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Remove a single Multicast configuration from module.
Definition: WiMODProLink.cpp:2827
WiMODProLink::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: WiMODProLink.cpp:687
TTxUDataIndicationCallback
void(* TTxUDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:163
TWiMODLORAWAN_TxPwrLimitConfig
data structure for TX Power Limits
Definition: WiMOD_SAP_LORAWAN_IDs.h:674
TRxAckIndicationCallback
void(* TRxAckIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:175
WiMODProLink::SetRadioStack
bool SetRadioStack(const TRadioStack_Mode &stackMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the active Radio Stack Mode of the WiMOD (only ProLink firmware)
Definition: WiMODProLink.cpp:1001
TWiMODLORAWAN_RX_ACK_Data
Data structure for received Acknowledgment data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:602
TMCastDataIndicationCallback
void(* TMCastDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:124
WiMODProLink::GetJoinNonce
bool GetJoinNonce(UINT16 *joinNonce, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the Join Nonce that will be used for next Join OTAA procedure.
Definition: WiMODProLink.cpp:2895
WiMODProLink::RegisterResetDevNonceIndicationClient
void RegisterResetDevNonceIndicationClient(TResetDevNonceIndicationCallback cb)
Register a callback function for the event "Reset DevNonce Indication".
Definition: WiMODProLink.cpp:2851
WiMODProLink::GetMulticastConfig
bool GetMulticastConfig(TWiMODLORAWAN_McastConfig *mcastCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get a single Multicase configuration from module.
Definition: WiMODProLink.cpp:2803
WiMODProLink::SetRtc
bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current RTC values to WiMOD module.
Definition: WiMODProLink.cpp:632
WiMODProLink
Main class representing the interface to the WiMOD running the firmware ProLink LoRaWAN Modem.
Definition: WiMODProLink.h:93
TProLinkLoRaWANregion
TProLinkLoRaWANregion
LoRaWAN Region support.
Definition: WiMOD_SAP_LORAWAN_ProLink.h:72
ProLink_LoRaWAN_Region_EU868
@ ProLink_LoRaWAN_Region_EU868
Definition: WiMOD_SAP_LORAWAN_ProLink.h:74
WiMODProLink::calcRegisterToFreq
uint32_t calcRegisterToFreq(uint8_t msb, uint8_t mid, uint8_t lsb)
Convert a frequency registers to frequency in Hz.
Definition: WiMODProLink.cpp:3378
ComSLIP.h
TRxMacCmdIndicationCallback
void(* TRxMacCmdIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:172
WiMODProLink::SendNwkTimeRequest
bool SendNwkTimeRequest(TWiMODLORAWAN_DevTimeReqInfo *devTimeInfo, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Send a Network Time Request /DevTimeRequest via MAC Cmd to LNS.
Definition: WiMODProLink.cpp:2941
WiMODProLink::SetRadioStackConfig
bool SetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new radio config parameter set of the WiMOD.
Definition: WiMODProLink.cpp:2290
WiMODProLink::RegisterNwkTimeAnsIndicationClient
void RegisterNwkTimeAnsIndicationClient(TNwkDeviceTimeAnsIndicationCallback cb)
Register a callback function for the event "DeviceTimeAnser Indication".
Definition: WiMODProLink.cpp:2966
TWiMODProLinkLORAWAN_RadioStackConfig
Radio stack configuration related to to LoRaWAN specific options.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:191
WiMODProLink::RegisterNoDataIndicationClient
void RegisterNoDataIndicationClient(TNoDataIndicationCallback cb)
Register a callback function for the event "TX Join Indication".
Definition: WiMODProLink.cpp:1933
WiMODProLink::JoinNetwork
bool JoinNetwork(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Start joining the network via the OTAA procedure. Asynchronous process.
Definition: WiMODProLink.cpp:1411
WiMOD_SAP_RadioLink_ProLink
Implementation for the ServiceAccessPoint RadioLink (LR-Base firmware only)
Definition: WiMOD_SAP_RadioLink_ProLink.h:65
WiMODProLink::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: WiMODProLink.cpp:3506
WiMODProLink::SapDevMgmt
WiMOD_SAP_DevMgmt_ProLink SapDevMgmt
Definition: WiMODProLink.h:290
WiMODProLink::GetDeviceInfo
bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfoLoRaWan *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetDeviceInfo Cmd - Gets the basic device information of the WiMOD.
Definition: WiMODProLink.cpp:504
WiMODProLink::GetCustomConfig
bool GetCustomConfig(INT8 *rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the current offet for tx power level; expert level only.
Definition: WiMODProLink.cpp:2612
TNwkDeviceTimeAnsIndicationCallback
void(* TNwkDeviceTimeAnsIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:148
TTxCDataIndicationCallback
void(* TTxCDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:160
WiMODProLink::RegisterTxCDataIndicationClient
void RegisterTxCDataIndicationClient(TTxCDataIndicationCallback cb)
Register a callback function for the event "TX C-Data Indication".
Definition: WiMODProLink.cpp:1980
WiMODProLink::GetDeviceEUI
bool GetDeviceEUI(UINT8 *deviceEUI, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the DeviceEUI (aka. IEEE-Address) of the WiMOD.
Definition: WiMODProLink.cpp:2475
WiMODProLink::ResetRadioLinkRadioConfig
bool ResetRadioLinkRadioConfig(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset the RadioConfig for the proprietary LoRa communication feature to defaults.
Definition: WiMODProLink.cpp:3205
WiMODProLink::SetMulticastConfig
bool SetMulticastConfig(TWiMODLORAWAN_McastConfig &mcastCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set a (new) Configuration for Multicast Mode.
Definition: WiMODProLink.cpp:2778
WiMODProLink::GetHciConfig
bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig *hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current HCI configuration of the WiMOD.
Definition: WiMODProLink.cpp:874
WiMODProLink::GetDeviceStatus
bool GetDeviceStatus(TProLinkDeviceStatus *devStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
GetDeviceStatus Cmd - Gets the basic information about the device status of the WiMOD.
Definition: WiMODProLink.cpp:1161
WiMODProLink::RegisterRxAckIndicationClient
void RegisterRxAckIndicationClient(TRxAckIndicationCallback cb)
Register a callback function for the event "RX ACK (data) Indication".
Definition: WiMODProLink.cpp:2133
TWiMODLORAWAN_DevTimeReqInfo
info data structure for LoRa device time request MAC command
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:104
TWiMODLORAWAN_MacCmd
LoRaWAN MAC command structure.
Definition: WiMOD_SAP_LORAWAN_IDs.h:590
WiMODProLink::ClearRtcAlarm
bool ClearRtcAlarm(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Clears pending RTC Alarms of the WiMOD.
Definition: WiMODProLink.cpp:759
WiMODProLink::SendMacCmd
bool SendMacCmd(const TWiMODLORAWAN_MacCmd *cmd, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Send a MAC command to the server; expert level only.
Definition: WiMODProLink.cpp:2564
TWiMODProLinkLORAWAN_TX_Data
Structure containing all data necessary to transmitting a data message.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:91
WiMOD_SAP_LORAWAN_ProLink.h
WiMODProLink::SendCData
bool SendCData(TWiMODProLinkLORAWAN_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit C-Data to network server via RF link.
Definition: WiMODProLink.cpp:2243
TWiMODLORAWAN_McastConfig
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:121
WiMODProLink::SetCustomConfig
bool SetCustomConfig(const INT8 rfGain, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Setup a custom config for tx power settings; expert level only.
Definition: WiMODProLink.cpp:2589
TJoinTxIndicationCallback
void(* TJoinTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:151
TNoDataIndicationCallback
void(* TNoDataIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:157
WiMODProLink::DeactivateDevice
bool DeactivateDevice(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Deactivate the device (logical disconnect from lora network)
Definition: WiMODProLink.cpp:2361
WiMODProLink::FactoryReset
bool FactoryReset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset all internal settings to default values (incl. DevEUI !!!)
Definition: WiMODProLink.cpp:2394
TRxCDataIndicationCallback
void(* TRxCDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:169
WiMODProLink::RegisterRadioLinkTxUDataIndicationClient
void RegisterRadioLinkTxUDataIndicationClient(TRadioLinkUDataTxIndicationCallback cb)
Register a callback function for the TX U-Data Indication - optional -.
Definition: WiMODProLink.cpp:3443
WiMODProLink::SetBatteryLevelStatus
bool SetBatteryLevelStatus(UINT8 battStatus, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set the Battery Level Status.
Definition: WiMODProLink.cpp:2709
TResetDevNonceIndicationCallback
void(* TResetDevNonceIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:142
WiMOD_SAP_LoRaWAN_ProLink
Implementation for the ServiceAccessPoint LoRaWAN (End Node Modem firmware only)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:141
TWiMODLORAWAN_RX_MacCmdData
Structure containing a received MAC command.
Definition: WiMOD_SAP_LORAWAN_IDs.h:534
WiMODProLink::RegisterLinkDiconnectIndicationClient
void RegisterLinkDiconnectIndicationClient(TLinkDisconnectIndicationCallback cb)
Register a callback function for the event "Link Disconnect Indication".
Definition: WiMODProLink.cpp:2920
WiMODProLink::GetDeviceNonce
bool GetDeviceNonce(UINT16 *devNonce, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the Device Nonce / DevNonce that will be used for next Join OTAA procedure.
Definition: WiMODProLink.cpp:2755
WiMODProLink::SetDeviceNonce
bool SetDeviceNonce(const UINT16 devNonce, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set the Device Nonce / DevNonce for the next Join OTAA procedure.
Definition: WiMODProLink.cpp:2732
TWiMODLRResultCodes
TWiMODLRResultCodes
Result codes for the local serial communication itself.
Definition: WiMODLRHCI.h:149
TRadioStack_Mode
TRadioStack_Mode
Radio Stack Mode(only for ProLink)
Definition: WiMOD_SAP_DEVMGMT_ProLink_IDs.h:71
WiMODProLink::SetHciConfig
bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig &hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new HCI configuration of the WiMOD.
Definition: WiMODProLink.cpp:916
WiMOD_SAP_Generic.h
WiMODProLink::SetRadioLinkAesKey
bool SetRadioLinkAesKey(const UINT8 *key, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets an AES encryption key for the proprietary LoRa communication feature.
Definition: WiMODProLink.cpp:3259
WiMODProLink::ReactivateDevice
bool ReactivateDevice(UINT32 *devAdr, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Re-Activates the device via the ABP procedure.
Definition: WiMODProLink.cpp:1296
TWiMODLORAWAN_ActivateDeviceData
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:439
WiMODProLink::WiMODProLink
WiMODProLink(Stream &s)
Constructor.
Definition: WiMODProLink.cpp:69
TProLinkDeviceConfig
Definition: WiMOD_SAP_DEVMGMT_ProLink_IDs.h:82
WiMODProLink::GetLastHciResult
TWiMODLRResultCodes GetLastHciResult(void)
Gets the last HCI result code from the last executed command.
Definition: WiMODProLink.cpp:3559
TWiMODLR_DevMgmt_HciConfig
HCI Configuration Parameters.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:519
WiMODProLink::GetRtcAlarm
bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets information about the RTC alarm feature of the WiMOD.
Definition: WiMODProLink.cpp:730
TWiMODLRHCI::begin
virtual void begin(void)
Init function of the generic HCI message handler.
Definition: WiMODLRHCI.cpp:92
WiMODProLink::RegisterRxMacCmdIndicationClient
void RegisterRxMacCmdIndicationClient(TRxMacCmdIndicationCallback cb)
Register a callback function for the event "RX MAC Cmd Indication".
Definition: WiMODProLink.cpp:2091
TDevMgmtRtcAlarmCallback
void(* TDevMgmtRtcAlarmCallback)(void)
Definition: WiMOD_SAP_DEVMGMT.h:96
WiMOD_SAP_RadioLink_ProLink.h
TDevMgmtPowerUpCallback
void(* TDevMgmtPowerUpCallback)(void)
Definition: WiMOD_SAP_DEVMGMT.h:93
TWiMODLR_RadioLink_UdataInd
Structure containing information about a U-Data indication (TX only)
Definition: WiMOD_SAP_RadioLink_IDs.h:232
WiMODProLink::SapRadioLink
WiMOD_SAP_RadioLink_ProLink SapRadioLink
Definition: WiMODProLink.h:292
WiMODProLink::calcFreqToRegister
void calcFreqToRegister(uint32_t freq, uint8_t *msb, uint8_t *mid, uint8_t *lsb)
Convert a frequency in Hz to the corresponding low level register values.
Definition: WiMODProLink.cpp:3362
WiMODProLink::ActivateDevice
bool ActivateDevice(TWiMODLORAWAN_ActivateDeviceData &activationData, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Activates the device via the ABP procedure.
Definition: WiMODProLink.cpp:1229
WiMODProLink::GetRadioLinkAesKey
bool GetRadioLinkAesKey(UINT8 *key, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current AES encryption of the proprietary LoRa communication feature.
Definition: WiMODProLink.cpp:3289
TMCastInvalidDataIndicationCallback
void(* TMCastInvalidDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:127
WiMODProLink::GetSupportedBands
bool GetSupportedBands(TWiMODLORAWAN_SupportedBands *supportedBands, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the supported bands of this firmware.
Definition: WiMODProLink.cpp:2637
WiMODProLink::ConvertAppEuiStrToArray
void ConvertAppEuiStrToArray(char *appEuiStr, uint8_t *appEuiArray)
Converts a string containing an App EUI string into a given byte array.
Definition: WiMODProLink.cpp:319
WiMODProLink::GetTxPowerLimitConfig
bool GetTxPowerLimitConfig(TWiMODLORAWAN_TxPwrLimitConfig *txPwrLimitCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Get the configured TX limits for all sub-bands.
Definition: WiMODProLink.cpp:2660
WiMODProLink::ConvertNwkSKeyStrToArray
void ConvertNwkSKeyStrToArray(char *nwkSKeyStr, uint8_t *nwkSKeyArray)
Converts a string containing an NwkSKey string into a given byte array.
Definition: WiMODProLink.cpp:357
WiMODProLink::ResetDeviceConfig
bool ResetDeviceConfig(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Resets the settings about the common stack features of the WiMOD module (ProLink firmware)
Definition: WiMODProLink.cpp:1120
FreqCalc_SX127x.h
WiMODProLink::SetRadioLinkRadioConfig
bool SetRadioLinkRadioConfig(const TWiMODLR_ProLinkRadioLink_RadioConfig *radioCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Set a new RadioConfig to be used for the proprietary LoRa communication feature.
Definition: WiMODProLink.cpp:3180
WiMODProLink::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: WiMODProLink.cpp:262
WiMODProLink::RegisterRtcAlarmIndicationClient
void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb)
Register a callback function for the RTC Alarm Indication - optional -.
Definition: WiMODProLink.cpp:835
TLinkDisconnectIndicationCallback
void(* TLinkDisconnectIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:145
TWiMODLR_ProLinkRadioLink_RadioConfig
Structure containing the radio (stack) config parameters of the proprietary LR-BASE stack (only for P...
Definition: WiMOD_SAP_RadioLink_ProLink_IDs.h:226
WiMODProLink::~WiMODProLink
~WiMODProLink(void)
Desctructor.
Definition: WiMODProLink.cpp:89
WiMODProLink::SetDeviceConfig
bool SetDeviceConfig(const TProLinkDeviceConfig &config, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the common Device config features of the WiMOD (only ProLink firmware)
Definition: WiMODProLink.cpp:1045
TRadioLinkUDataTxIndicationCallback
void(* TRadioLinkUDataTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:118
WiMOD_SAP_DevMgmt_ProLink
Implementation for the ServiceAccessPoint DeviceManagement.
Definition: WiMOD_SAP_DEVMGMT_ProLink.h:64
WiMODProLink::SendUData
bool SendUData(TWiMODProLinkLORAWAN_TX_Data *data, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit U-Data to network server via RF link.
Definition: WiMODProLink.cpp:2185