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

WiMOD_SAP_LORAWAN_ProLink.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32
33
34 #ifndef ARDUINO_SAP_WIMOD_SAP_LORAWAN_PROLINK_H_
35 #define ARDUINO_SAP_WIMOD_SAP_LORAWAN_PROLINK_H_
36
37 /*
38 * THIS IS AN EXAMPLE IMPLEMENTATION ACCORDING THE THE HCI SPEC: V2.0
39 * FOR FIRMWARE: ProLink_
40 *
41 * SEE FILE: ProLink_LoRaWAN_EndNode_Modem_HCI_Spec.pdf (version 2.0)
42 * for detailed information
43 *
44 */
45
46
47 //------------------------------------------------------------------------------
48 //
49 // Section Includes Files
50 //
51 //------------------------------------------------------------------------------
52
53 #include "WiMOD_SAP_LORAWAN.h"
54 #include "WiMOD_SAP_LORAWAN_ProLink_IDs.h"
55
56 /*
57 * C++11 supports a better way for function pointers / function objects
58 * But C++11 mode is not supported by all platforms.
59 */
60 #ifdef WIMOD_USE_CPP11
61 #include <functional>
62 #endif
63 //------------------------------------------------------------------------------
64 //
65 // Section defines
66 //
67 //------------------------------------------------------------------------------
68
72 typedef enum TProLinkLoRaWANregion
73 {
74 ProLink_LoRaWAN_Region_EU868,
75 ProLink_LoRaWAN_Region_US915,
76 ProLink_LoRaWAN_Region_IN865,
77 ProLink_LoRaWAN_Region_AU915,
78 ProLink_LoRaWAN_Region_AS923,
79 ProLink_LoRaWAN_Region_RU868,
81 ProLink_LoRaWAN_Region_proprietary_WW2G4,
82 } TProLinkLoRaWANregion;
83
84
85
86 //-----------------------------------------------------------------------------
87 //
88 // types for callback functions
89 //
90 //-----------------------------------------------------------------------------
91
92 // C++11 check
93 #ifdef WIMOD_USE_CPP11
94 /* C++11 function callback definitions */
95
97 typedef std::function<void (void)> TResetDevNonceIndicationCallback;
98
100 typedef std::function<void (void)> TLinkDisconnectIndicationCallback;
101
103 typedef std::function<void (TWiMODLR_HCIMessage& rxMsg)> TNwkDeviceTimeAnsIndicationCallback;
104
106 typedef std::function<void (TWiMODLR_HCIMessage& rxMsg)> TMCastDataIndicationCallback;
107
109 typedef std::function<void (TWiMODLR_HCIMessage& rxMsg)> TMCastInvalidDataIndicationCallback;
110
111 #else
112 /* pre C++11 function callback definitions */
113
115 typedef void (*TResetDevNonceIndicationCallback)(void);
116
118 typedef void (*TLinkDisconnectIndicationCallback)(void);
119
121 typedef void (*TNwkDeviceTimeAnsIndicationCallback)(TWiMODLR_HCIMessage& rxMsg);
122
124 typedef void (*TMCastDataIndicationCallback)(TWiMODLR_HCIMessage& rxMsg);
125
127 typedef void (*TMCastInvalidDataIndicationCallback)(TWiMODLR_HCIMessage& rxMsg);
128
129 #endif
130
131
132 //------------------------------------------------------------------------------
133 //
134 // Section class
135 //
136 //------------------------------------------------------------------------------
137
141 class WiMOD_SAP_LoRaWAN_ProLink : public WiMOD_SAP_LoRaWAN{
142 public:
143
144 WiMOD_SAP_LoRaWAN_ProLink(TWiMODLRHCI* hci, UINT8* buffer, UINT16 bufferSize);
145 virtual ~WiMOD_SAP_LoRaWAN_ProLink(void);
146
147
148 virtual void setRegion(TProLinkLoRaWANregion regionalSetting);
149
150 TWiMODLRResultCodes SetDeviceNonce(const UINT16 devNonce, UINT8* statusRsp);
151 TWiMODLRResultCodes GetDeviceNonce(UINT16* devNonce, UINT8* statusRsp);
152
153 TWiMODLRResultCodes SetJoinNonce(const UINT16 joinNonce, UINT8* statusRsp);
154 TWiMODLRResultCodes GetJoinNonce(UINT16* joinNonce, UINT8* statusRsp);
155
156 TWiMODLRResultCodes SendNwkTimeRequest(TWiMODLORAWAN_DevTimeReqInfo* devTimeInfo, UINT8* statusRsp);
157
158 TWiMODLRResultCodes SendUData(TWiMODProLinkLORAWAN_TX_Data* data, UINT8* statusRsp);
159 TWiMODLRResultCodes SendCData(TWiMODProLinkLORAWAN_TX_Data* data, UINT8* statusRsp);
160
161
162 void RegisterResetDevNonceIndicationClient(TResetDevNonceIndicationCallback cb);
163 void RegisterLinkDisconnectIndicationClient(TLinkDisconnectIndicationCallback cb);
164 void RegisterDeviceTimeAnsIndicationClient(TNwkDeviceTimeAnsIndicationCallback cb);
165 void RegisterMulticastDataIndicationClient(TMCastDataIndicationCallback cb);
166 void RegisterMulticastInvalidDataIndicationClient(TMCastInvalidDataIndicationCallback cb);
167
168
169 // TWiMODLRResultCodes GetLinkAdrReqConfig(TWiMODLORAWAN_LinkAdrReqConfig* linkAdrReqCfg, UINT8* statusRsp);
170 // TWiMODLRResultCodes SetLinkAdrReqConfig(TWiMODLORAWAN_LinkAdrReqConfig& linkAdrReqCfg, UINT8* statusRsp);
171
172 TWiMODLRResultCodes SetMulticastConfig(TWiMODLORAWAN_McastConfig& mcastCfg, UINT8* statusRsp);
173 TWiMODLRResultCodes GetMulticastConfig(TWiMODLORAWAN_McastConfig* mcastCfg, UINT8* statusRsp);
174 TWiMODLRResultCodes RemoveMulticastConfig(const UINT8 mcastIndex, UINT8* statusRsp);
175
176 virtual TWiMODLRResultCodes SetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig* data, UINT8* statusRsp);
177 virtual TWiMODLRResultCodes GetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig* data, UINT8* statusRsp);
178
179
180 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_DevTimeAnsInfo* info);
181 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_McastData* mcastData);
182 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_McastNoData* mcastErrData);
183
184 // bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_JoinNwkTxIndData* indicationData) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, indicationData); };
185 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_Data* loraWanRxData) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, loraWanRxData); };
186 // bool convert(TWiMODLR_HCIMessage& rxMsg, TWiMODLORAWAN_SendDataTxInd_Data* sendIndData) {return WiMOD_SAP_LoRaWAN::convert(rxMsg, indicationData); };
187 bool convert(TWiMODLR_HCIMessage& rxMsg, TWiMODLORAWAN_TxIndData* sendIndData) {return WiMOD_SAP_LoRaWAN::convert(rxMsg, sendIndData); };
188 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_MacCmdData* loraWanMacCmdData) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, loraWanMacCmdData); };
189 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_JoinedNwkData* joinedNwkData) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, joinedNwkData); };
190 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_RX_ACK_Data* ackData) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, ackData); };
191 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLORAWAN_NoData_Data* info) {return WiMOD_SAP_LoRaWAN::convert(RxMsg, info); };
192
193
194
195 void DispatchProLinkLoRaWANMessage(TWiMODLR_HCIMessage& rxMsg);
196 protected:
198 TResetDevNonceIndicationCallback ResetDevNonceCallback;
199 TLinkDisconnectIndicationCallback LinkDisconnectCallback;
200 TNwkDeviceTimeAnsIndicationCallback DeviceTimeAnsCallback;
201 TMCastDataIndicationCallback MulticastRxDataCallback;
202 TMCastInvalidDataIndicationCallback MulticastRxInvalidDataCallback;
203
204 TProLinkLoRaWANregion ProLink_region;
206 private:
208
210
211 };
212
213
214 #endif /* ARDUINO_SAP_WIMOD_SAP_LORAWAN_PROLINK_H_ */
TWiMODLORAWAN_DevTimeAnsInfo
info data structure for LoRa device time request MAC command
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:114
ProLink_LoRaWAN_Region_AU915
@ ProLink_LoRaWAN_Region_AU915
Definition: WiMOD_SAP_LORAWAN_ProLink.h:77
TWiMODLORAWAN_RX_JoinedNwkData
Structure containing data of the joined network indication.
Definition: WiMOD_SAP_LORAWAN_IDs.h:551
TWiMODLORAWAN_RX_Data
Structure containing RX (user) payload data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:514
WiMOD_SAP_LORAWAN_ProLink_IDs.h
TWiMODLORAWAN_McastData::LoRaWANPort
UINT8 LoRaWANPort
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:146
TWiMODLORAWAN_McastNoData
Structure containing a MultiCast Data.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:176
ProLink_LoRaWAN_Region_AS923
@ ProLink_LoRaWAN_Region_AS923
Definition: WiMOD_SAP_LORAWAN_ProLink.h:78
TWiMODProLinkLORAWAN_RadioStackConfig::SubBandMask2
UINT8 SubBandMask2
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:203
TLinkDisconnectIndicationCallback
void(* TLinkDisconnectIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:118
TWiMODLORAWAN_NoData_Data
Structure containing infos of a NoData Indication message.
Definition: WiMOD_SAP_LORAWAN_IDs.h:648
TWiMODLORAWAN_McastConfig::NwkSKey
UINT8 NwkSKey[WiMODLORAWAN_NWK_SESSION_KEY_LEN]
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:130
ProLink_LoRaWAN_Region_US915
@ ProLink_LoRaWAN_Region_US915
Definition: WiMOD_SAP_LORAWAN_ProLink.h:75
TWiMODLORAWAN_TxIndData
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:472
WiMOD_SAP_LoRaWAN_ProLink::RegisterLinkDisconnectIndicationClient
void RegisterLinkDisconnectIndicationClient(TLinkDisconnectIndicationCallback cb)
Register a callback function for the event "Link Disconnect Indication".
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:780
TWiMODProLinkLORAWAN_TX_Data::Payload
UINT8 Payload[WiMODLORAWAN_APP_PAYLOAD_LEN]
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:95
WiMOD_SAP_LoRaWAN_ProLink::GetRadioStackConfig
virtual TWiMODLRResultCodes GetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig *data, UINT8 *statusRsp)
Gets the current radio config parameter set of the WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:340
TWiMODLRHCI
Internal helper class for processing SLIP frames.
Definition: WiMODLRHCI.h:235
TWiMODLORAWAN_McastData
Structure containing a MultiCast Data.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:139
TWiMODProLinkLORAWAN_RadioStackConfig::WrongParamErrCode
UINT8 WrongParamErrCode
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:206
WiMOD_SAP_LoRaWAN_ProLink::WiMOD_SAP_LoRaWAN_ProLink
WiMOD_SAP_LoRaWAN_ProLink(TWiMODLRHCI *hci, UINT8 *buffer, UINT16 bufferSize)
Constructor.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:80
TWiMODLORAWAN_McastConfig::AppSKey
UINT8 AppSKey[WiMODLORAWAN_APP_SESSION_KEY_LEN]
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:131
WiMODLR_RESULT_TRANMIT_ERROR
@ WiMODLR_RESULT_TRANMIT_ERROR
Definition: WiMODLRHCI.h:154
WiMOD_SAP_LoRaWAN_ProLink::SendNwkTimeRequest
TWiMODLRResultCodes SendNwkTimeRequest(TWiMODLORAWAN_DevTimeReqInfo *devTimeInfo, UINT8 *statusRsp)
SendNwkTimeRequest Cmd - Sends a network device time request to WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:485
TWiMODLORAWAN_McastData::RxSlot
UINT8 RxSlot
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:156
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
WiMOD_SAP_LoRaWAN_ProLink::SendCData
TWiMODLRResultCodes SendCData(TWiMODProLinkLORAWAN_TX_Data *data, UINT8 *statusRsp)
Tries to send transmit C-Data to network server via RF link.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:445
TWiMODLORAWAN_McastData::DeviceAddress
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:144
TWiMODLORAWAN_McastData::RSSI
INT8 RSSI
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:154
TNwkDeviceTimeAnsIndicationCallback
void(* TNwkDeviceTimeAnsIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:121
WiMOD_SAP_LORAWAN.h
WiMOD_SAP_LoRaWAN_ProLink::~WiMOD_SAP_LoRaWAN_ProLink
virtual ~WiMOD_SAP_LoRaWAN_ProLink(void)
Destructor.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:110
TWiMODLR_HCIMessage::Length
UINT16 Length
Definition: WiMODLRHCI.h:123
TWiMODLR_HCIMessage::MsgID
UINT8 MsgID
Definition: WiMODLRHCI.h:129
TWiMODProLinkLORAWAN_TX_Data::Port
UINT8 Port
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:93
WiMOD_SAP_LoRaWAN_ProLink::SendUData
TWiMODLRResultCodes SendUData(TWiMODProLinkLORAWAN_TX_Data *data, UINT8 *statusRsp)
Tries to send transmit U-Data to network server via RF link.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:396
TWiMODLORAWAN_McastData::StatusFormat
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:142
TWiMODProLinkLORAWAN_RadioStackConfig::HeaderMacCmdCapacity
UINT8 HeaderMacCmdCapacity
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:199
TWiMODLORAWAN_RX_ACK_Data
Data structure for received Acknowledgment data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:602
TWiMODLR_HCIMessage::Payload
UINT8 Payload[WIMODLR_HCI_MSG_PAYLOAD_SIZE]
Definition: WiMODLRHCI.h:132
TWiMODLORAWAN_McastData::DataRateIndex
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:153
WiMOD_SAP_LoRaWAN_ProLink::GetJoinNonce
TWiMODLRResultCodes GetJoinNonce(UINT16 *joinNonce, UINT8 *statusRsp)
Gets the current Join NONCE value of the WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:239
TMCastDataIndicationCallback
void(* TMCastDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:124
TWiMODProLinkLORAWAN_RadioStackConfig::DataRateIndex
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:193
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
TWiMODLORAWAN_McastData::AppPayload
UINT8 AppPayload[WiMODLORAWAN_APP_PAYLOAD_LEN]
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:148
TWiMODLORAWAN_DevTimeAnsInfo::GpsTime
UINT32 GpsTime
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:117
TWiMODLORAWAN_McastNoData::StatusFormat
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:179
WiMOD_SAP_LoRaWAN_ProLink::RegisterMulticastDataIndicationClient
void RegisterMulticastDataIndicationClient(TMCastDataIndicationCallback cb)
Register a callback function for the event "RX Multicast Data Indication".
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:809
WiMOD_SAP_LoRaWAN_ProLink::SetJoinNonce
TWiMODLRResultCodes SetJoinNonce(const UINT16 joinNonce, UINT8 *statusRsp)
SetJoinNonce Cmd - Sets the Join NONCE value of WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:208
TWiMODProLinkLORAWAN_RadioStackConfig
Radio stack configuration related to to LoRaWAN specific options.
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:191
WiMOD_SAP_LoRaWAN_ProLink::RegisterResetDevNonceIndicationClient
void RegisterResetDevNonceIndicationClient(TResetDevNonceIndicationCallback cb)
Register a callback function for the event "Reset DeviceNonce Indication".
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:764
ProLink_LoRaWAN_Region_IN865
@ ProLink_LoRaWAN_Region_IN865
Definition: WiMOD_SAP_LORAWAN_ProLink.h:76
TNwkDeviceTimeAnsIndicationCallback
void(* TNwkDeviceTimeAnsIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN.h:148
TWiMODProLinkLORAWAN_RadioStackConfig::BandIndex
UINT8 BandIndex
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:198
TWiMODLORAWAN_McastNoData::DeviceAddress
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:183
TWiMODProLinkLORAWAN_TX_Data::ChannelBlockTime
UINT32 ChannelBlockTime
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:97
TWiMODLORAWAN_DevTimeReqInfo
info data structure for LoRa device time request MAC command
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:104
TWiMODLORAWAN_McastData::SNR
INT8 SNR
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:155
WiMODLR_RESULT_PAYLOAD_PTR_ERROR
@ WiMODLR_RESULT_PAYLOAD_PTR_ERROR
Definition: WiMODLRHCI.h:153
TWiMODProLinkLORAWAN_RadioStackConfig::TXPowerLevel
UINT8 TXPowerLevel
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:194
TWiMODProLinkLORAWAN_RadioStackConfig::SubBandMask1
UINT8 SubBandMask1
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:202
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
TWiMODProLinkLORAWAN_RadioStackConfig::Options
UINT8 Options
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:195
TWiMODLORAWAN_McastConfig
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:121
TWiMODProLinkLORAWAN_RadioStackConfig::Retransmissions
UINT8 Retransmissions
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:197
TWiMODLORAWAN_McastNoData::ErrorCode
UINT8 ErrorCode
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:181
TResetDevNonceIndicationCallback
void(* TResetDevNonceIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:142
WiMOD_SAP_LoRaWAN_ProLink::convert
bool convert(TWiMODLR_HCIMessage &RxMsg, TWiMODLORAWAN_DevTimeAnsInfo *info)
Convert a received low level HCI-Msg to a high-level DevicetimeAnswser structure.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:525
WiMOD_SAP_LoRaWAN_ProLink
Implementation for the ServiceAccessPoint LoRaWAN (End Node Modem firmware only)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:141
WiMOD_SAP_LoRaWAN_ProLink::GetDeviceNonce
TWiMODLRResultCodes GetDeviceNonce(UINT16 *devNonce, UINT8 *statusRsp)
Gets the current device NONCE value of the WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:169
TWiMODLORAWAN_RX_MacCmdData
Structure containing a received MAC command.
Definition: WiMOD_SAP_LORAWAN_IDs.h:534
TResetDevNonceIndicationCallback
void(* TResetDevNonceIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:115
TWiMODLORAWAN_McastData::ChannelIndex
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:152
TWiMODLRResultCodes
TWiMODLRResultCodes
Result codes for the local serial communication itself.
Definition: WiMODLRHCI.h:149
WiMOD_SAP_LoRaWAN_ProLink::RegisterMulticastInvalidDataIndicationClient
void RegisterMulticastInvalidDataIndicationClient(TMCastInvalidDataIndicationCallback cb)
Register a callback function for the event "RX Invalid Multicast Data".
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:825
TWiMODLORAWAN_McastConfig::MulticastStatus
UINT8 MulticastStatus
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:127
TWiMODProLinkLORAWAN_TX_Data::Length
UINT8 Length
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:94
WiMOD_SAP_LoRaWAN_ProLink::RegisterDeviceTimeAnsIndicationClient
void RegisterDeviceTimeAnsIndicationClient(TNwkDeviceTimeAnsIndicationCallback cb)
Register a callback function for the event "Nwk DeviceTime Answer Indication".
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:795
WiMOD_SAP_LoRaWAN
Implementation for the ServiceAccessPoint LoRaWAN (End Node Modem firmware only)
Definition: WiMOD_SAP_LORAWAN.h:189
WiMOD_SAP_LoRaWAN::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: WiMOD_SAP_LORAWAN.cpp:489
TWiMODLORAWAN_McastData::OptionalInfoAvaiable
bool OptionalInfoAvaiable
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:157
TMCastInvalidDataIndicationCallback
void(* TMCastInvalidDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_LORAWAN_ProLink.h:127
TWiMODLORAWAN_DevTimeReqInfo::ChannelBlockTime
UINT32 ChannelBlockTime
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:107
TLinkDisconnectIndicationCallback
void(* TLinkDisconnectIndicationCallback)(void)
Definition: WiMOD_SAP_LORAWAN.h:145
WiMOD_SAP_LoRaWAN_ProLink::SetDeviceNonce
TWiMODLRResultCodes SetDeviceNonce(const UINT16 devNonce, UINT8 *statusRsp)
SetDeviceNonce Cmd - Sets the device NONCE of WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:138
ProLink_LoRaWAN_Region_RU868
@ ProLink_LoRaWAN_Region_RU868
Definition: WiMOD_SAP_LORAWAN_ProLink.h:79
WiMOD_SAP_LoRaWAN_ProLink::SetRadioStackConfig
virtual TWiMODLRResultCodes SetRadioStackConfig(TWiMODProLinkLORAWAN_RadioStackConfig *data, UINT8 *statusRsp)
Sets a new radio config parameter set of the WiMOD.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:280
WiMOD_SAP_LoRaWAN_ProLink::setRegion
virtual void setRegion(TProLinkLoRaWANregion regionalSetting)
Setup regional settings for the LoRaWAN Firmware of the WiMOD module.
Definition: WiMOD_SAP_LORAWAN_ProLink.cpp:123
TWiMODLORAWAN_McastConfig::DeviceAddress
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_ProLink_IDs.h:124
WiMODLR_RESULT_PAYLOAD_LENGTH_ERROR
@ WiMODLR_RESULT_PAYLOAD_LENGTH_ERROR
Definition: WiMODLRHCI.h:152