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

WiMODLR_BASE_PLUS.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32
33
34 #ifndef ARDUINO_WIMODLR_BASE_PLUS_H_
35 #define ARDUINO_WIMODLR_BASE_PLUS_H_
36
37
38 //------------------------------------------------------------------------------
39 //
40 // Section Includes Files
41 //
42 //------------------------------------------------------------------------------
43
44 //-----------------------------------------------------------------------------
45 // Include files needed by this module
46 //-----------------------------------------------------------------------------
47 #include "Arduino.h"
48 /************
49 * BUG in ardunino.h ?
50 * -> https://stackoverflow.com/questions/41093090/esp8266-error-macro-min-passed-3-arguments-but-takes-just-2
51 */
52
53 #include <string.h>
54
55 #include "utils/WMDefs.h"
56 #include "utils/ComSLIP.h"
57 #include "HCI/WiMODLRHCI.h"
58
59 #include "SAP/WiMOD_SAP_DEVMGMT_PLUS.h"
60 #include "SAP/WiMOD_SAP_RadioLink.h"
61 #include "SAP/WiMOD_SAP_Generic.h"
62 #include "SAP/WiMOD_SAP_RLT.h"
63 #include "SAP/WiMOD_SAP_SensorApp.h"
64 #include "SAP/WiMOD_SAP_RemoteCtrl.h"
65 //#include "SAP/WiMOD_SAP_HWTest.h"
66
67 #include "utils/FreqCalc_SX1280.h"
68
69
70 /*
71 * C++11 supports a better way for function pointers / function objects
72 * But C++11 mode is not supported by all platforms.
73 */
74 #ifdef WIMOD_USE_CPP11
75 #include <functional>
76 #endif
77 //-----------------------------------------------------------------------------
78 // common defines
79 //-----------------------------------------------------------------------------
81 #define WIMOD_LR_BASE_PLUS_SERIAL_BAUDRATE 115200
82
83 #define WiMOD_LR_BASE_PLUS_TX_BUFFER_SIZE 100
84 //-----------------------------------------------------------------------------
86 // types for callback functions
87 //-----------------------------------------------------------------------------
88
89
90 //-----------------------------------------------------------------------------
91 // API class declaration for the WiMOD LR BASE Stack
92 //
93 // note: this is NOT compliant with the WiMOD LoRaWAN Stack
94 //-----------------------------------------------------------------------------
95
103 class WiMODLRBASE_PLUS : public TWiMODLRHCI {
104 public:
105 /*explicit*/ WiMODLRBASE_PLUS(Stream& s);
106 ~WiMODLRBASE_PLUS(void);
107
108 void begin(void);
109 void end(void);
110
111 /*
112 * DevMgmt SAP
113 */
114 bool Ping(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
115 bool Reset(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
116 bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfo* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
117 bool GetFirmwareInfo(TWiMODLR_DevMgmt_FwInfo* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
118 bool GetSystemStatus(TWiMODLR_DevMgmt_SystemStatusPlus* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
119 bool GetRtc(UINT32* rtcTime,TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
120 bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
121
122 bool GetRadioConfig(TWiMODLR_DevMgmt_RadioConfigPlus* radioCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
123 bool SetRadioConfig(const TWiMODLR_DevMgmt_RadioConfigPlus* radioCfg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
124 bool ResetRadioConfig(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
125
126 bool GetOperationMode(TWiMOD_OperationMode* opMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
127 bool SetOperationMode(const TWiMOD_OperationMode opMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
128
129 bool SetRadioMode(const TRadioCfg_RadioMode radioMode, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
130
131 bool SetAesKey(const UINT8* key, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
132 bool GetAesKey(UINT8* key, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
133
134 bool SetRtcAlarm(const TWiMODLR_DevMgmt_RtcAlarm* rtcAlarm, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
135 bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm* rtcAlarm, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
136 bool ClearRtcAlarm(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
137
138 void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb);
139 void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb);
140
141 bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig* hciConfig, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
142 bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig& hciConfig, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
143
144
145 /*
146 * Radio Link SAP
147 */
148 bool SendUData(const TWiMODLR_RadioLink_Msg* txMsg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
149 bool SendCData(const TWiMODLR_RadioLink_Msg* txMsg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
150
151 bool SetAckData(const TWiMODLR_RadioLink_Msg* txMsg, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
152
153 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_Msg* radioLinkMsg);
154 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_CdataInd* cDataTxInfo);
155 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RadioLink_UdataInd* cDataTxInfo);
156 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_AckTxInd_Msg* txAckIndInfo);
157
158 void RegisterUDataRxClient(TRadioLinkUDataRxIndicationCallback cb);
159 void RegisterUDataTxClient(TRadioLinkUDataTxIndicationCallback cb);
160 void RegisterRawDataRxClient(TRadioLinkRawDataRxIndicationCallback cb);
161 void RegisterCDataRxClient(TRadioLinkCDataRxIndicationCallback cb);
162 void RegisterCDataTxClient(TRadioLinkCDataTxIndicationCallback cb);
163 void RegisterAckRxClient(TRadioLinkAckRxIndicationCallback cb);
164 void RegisterAckRxTimeoutClient(TRadioLinkAckRxTimeoutIndicationCallback cb);
165 void RegisterAckTxCallback(TRadioLinkAckTxIndicationCallback cb);
166
167
168 /*
169 * Generic Cmd
170 */
171 bool ExecuteGenericCmd(TWiMODLR_Generic_CmdInfo* info, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
172
173 /*
174 * Radio Link Test
175 */
176 bool StartRadioLinkTest(const TWiMODLR_RLT_Parameter* params, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
177 bool StopRadioLinkTest(TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
178 void RegisterRltStatusClient(TRltStatusIndicationCallback cb);
179 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RLT_Status* statusData);
180
181 /*
182 * SensorApp
183 */
184 bool SetSensorAppConfig(const TWiMODLR_SensorApp_Config* config, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
185 bool GetSensorAppConfig(TWiMODLR_SensorApp_Config* config, TWiMODLRResultCodes* hciResult = NULL, UINT8* rspStatus = NULL);
186 void RegisterSensorAppAckIndClient(TSensorAppAckIndicationCallback cb);
187 void RegisterSensorAppDataIndClient(TSensorAppSensorDataIndicationCallback cb);
188 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_SensorApp_SensorData* sensorData);
189 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_SensorApp_AckSensorData* sensorAckData);
190
191 /*
192 * RemoteCtrl
193 */
194 void RegisterBtnPressedClient(TRemoteCtrlBtnPressedIndicationCallback cb);
195 bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_RemoteCtrl_BtnPressed* btnInfo);
196
197 //
198 // /*
199 // * Hardware Test SAP
200 // */
203 //
204 //
205 void calcFreqToRegister(uint32_t freq, uint8_t* msb, uint8_t* mid, uint8_t* lsb);
206 uint32_t calcRegisterToFreq(uint8_t msb, uint8_t mid, uint8_t lsb);
207
208
209 TWiMODLRResultCodes GetLastHciResult(void);
210 UINT8 GetLastResponseStatus(void);
211
212 protected:
213
214 bool copyResultInfos(TWiMODLRResultCodes* hciResult, UINT8* rspStatus, UINT8 successValue);
215
216
217 virtual void ProcessUnexpectedRxMessage(TWiMODLR_HCIMessage& rxMsg);
218
219 WiMOD_SAP_DevMgmt_Plus SapDevMgmt;
220 WiMOD_SAP_RadioLink SapRadioLink;
221 WiMOD_SAP_Generic SapGeneric;
222 WiMOD_SAP_RLT SapRLT;
223 WiMOD_SAP_SensorApp SapSensor;
224 WiMOD_SAP_RemoteCtrl SapRemoteCtrl;
226 // WiMOD_SAP_HWTest SapHwTest; /*!< Service Access Point for 'HW Test' */
227 private:
229 UINT8 txBuffer[WiMOD_LR_BASE_PLUS_TX_BUFFER_SIZE];
230
231 UINT8 localStatusRsp;
232 bool cmdResult;
233
234 TWiMODLRResultCodes localHciRes;
235
236 TWiMODLRResultCodes lastHciRes;
237 UINT8 lastStatusRsp;
239 };
240
241
242 #endif /* ARDUINO_WIMODLR_BASE_PLUS_H_ */
WiMOD_SAP_Generic
Implementation for the ServiceAccessPoint DeviceManagement.
Definition: WiMOD_SAP_Generic.h:78
WiMODLRBASE_PLUS::GetSystemStatus
bool GetSystemStatus(TWiMODLR_DevMgmt_SystemStatusPlus *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the bas SystemStatus info from WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:340
WiMODLRBASE_PLUS::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: WiMODLR_BASE_PLUS.cpp:805
WiMODLRBASE_PLUS::Ping
bool Ping(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Ping Cmd - Checks serial connetion to WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:190
WiMODLRBASE_PLUS::RegisterAckRxTimeoutClient
void RegisterAckRxTimeoutClient(TRadioLinkAckRxTimeoutIndicationCallback cb)
Register a callback function for the Ack Timeout Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1750
WiMODLRBASE_PLUS::RegisterCDataRxClient
void RegisterCDataRxClient(TRadioLinkCDataRxIndicationCallback cb)
Register a callback function for the RX C-Data Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1607
WiMODLRBASE_PLUS::SetRtc
bool SetRtc(const UINT32 rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current RTC values to WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:426
WiMODLRBASE_PLUS::GetHciConfig
bool GetHciConfig(TWiMODLR_DevMgmt_HciConfig *hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current HCI configuration of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:991
WiMODLRBASE_PLUS::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: WiMODLR_BASE_PLUS.cpp:1809
WiMODLRBASE_PLUS::StopRadioLinkTest
bool StopRadioLinkTest(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to stop a running Radio Link Test.
Definition: WiMODLR_BASE_PLUS.cpp:2129
TWiMODLR_DevMgmt_RadioConfigPlus
Structure containing the radio (stack) config parameters of the WiMOD (only for LR-BASE)
Definition: WiMOD_SAP_DEVMGMT_PLUS_IDs.h:292
WiMOD_SAP_RLT
Implementation for the ServiceAccessPoint RadioLinkTest (LR-Base firmware only)
Definition: WiMOD_SAP_RLT.h:95
WiMODLRBASE_PLUS::SapRadioLink
WiMOD_SAP_RadioLink SapRadioLink
Definition: WiMODLR_BASE_PLUS.h:223
WiMODLRBASE_PLUS::GetSensorAppConfig
bool GetSensorAppConfig(TWiMODLR_SensorApp_Config *config, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to get the current config of the integrated Sensor App feature of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:2387
WiMODLRBASE_PLUS::RegisterPowerUpIndicationClient
void RegisterPowerUpIndicationClient(TDevMgmtPowerUpCallback cb)
Register a callback function for the PowerUp Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:916
WiMODLRBASE_PLUS::RegisterBtnPressedClient
void RegisterBtnPressedClient(TRemoteCtrlBtnPressedIndicationCallback cb)
Register a callback function for the RemoteCtrl Btn Pressed Indication.
Definition: WiMODLR_BASE_PLUS.cpp:2638
WiMODLRBASE_PLUS::SetRadioConfig
bool SetRadioConfig(const TWiMODLR_DevMgmt_RadioConfigPlus *radioCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current configuration for the radio of the WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:523
WiMODLRBASE_PLUS::GetFirmwareInfo
bool GetFirmwareInfo(TWiMODLR_DevMgmt_FwInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the basic FirmwareInfo from WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:301
WiMODLRBASE_PLUS::RegisterAckTxCallback
void RegisterAckTxCallback(TRadioLinkAckTxIndicationCallback cb)
Register a callback function for the TX Ack Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1794
TWiMODLRHCI
Internal helper class for processing SLIP frames.
Definition: WiMODLRHCI.h:235
TRadioLinkUDataRxIndicationCallback
void(* TRadioLinkUDataRxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:115
WiMODLRBASE_PLUS::GetLastResponseStatus
UINT8 GetLastResponseStatus(void)
Gets the value of the last status response value of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:1919
WiMODLRBASE_PLUS::SetAckData
bool SetAckData(const TWiMODLR_RadioLink_Msg *txMsg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets additional user payload for the next ack frame to send.
Definition: WiMODLR_BASE_PLUS.cpp:1447
WiMODLRBASE_PLUS::GetRtc
bool GetRtc(UINT32 *rtcTime, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current RTC data info from WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:387
WiMODLRBASE_PLUS::RegisterSensorAppDataIndClient
void RegisterSensorAppDataIndClient(TSensorAppSensorDataIndicationCallback cb)
Register a callback function for the SensorAppData Indication.
Definition: WiMODLR_BASE_PLUS.cpp:2479
TWiMODLR_RadioLink_Msg
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_RadioLink_IDs.h:160
WiMODLRBASE_PLUS::GetDeviceInfo
bool GetDeviceInfo(TWiMODLR_DevMgmt_DevInfo *info, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the basic DeviceInfo from WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:262
WiMODLRBASE_PLUS::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: WiMODLR_BASE_PLUS.cpp:1979
TWiMODLR_DevMgmt_FwInfo
Basic information about the current firmware of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:220
TRadioLinkAckRxIndicationCallback
void(* TRadioLinkAckRxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:130
WiMODLRBASE_PLUS::WiMODLRBASE_PLUS
WiMODLRBASE_PLUS(Stream &s)
Constructor.
Definition: WiMODLR_BASE_PLUS.cpp:72
TWiMODLR_AckTxInd_Msg
Structure containing information about an acknowledgment transmission.
Definition: WiMOD_SAP_RadioLink_IDs.h:243
TWiMODLR_HCIMessage
basic low level HCI message structure used for all serial messages to/from WiMOD
Definition: WiMODLRHCI.h:120
TWiMODLR_DevMgmt_RtcAlarm
Structure containing the RTC Alarm config parameters of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:484
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
WiMODLRBASE_PLUS::SetAesKey
bool SetAesKey(const UINT8 *key, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the security 128bit AES key to use for RF communication.
Definition: WiMODLR_BASE_PLUS.cpp:711
WiMODLRBASE_PLUS::GetRadioConfig
bool GetRadioConfig(TWiMODLR_DevMgmt_RadioConfigPlus *radioCfg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current configuration of the radio of the WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:473
TWiMODLR_SensorApp_Config
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_SensorApp_IDs.h:121
TWiMODLR_DevMgmt_SystemStatusPlus
Basic information about system status of the WiMOD.
Definition: WiMOD_SAP_DEVMGMT_PLUS_IDs.h:331
FreqCalc_SX1280.h
TWiMODLR_SensorApp_AckSensorData
Structure containing the data of an Ack of the SensorApp.
Definition: WiMOD_SAP_SensorApp_IDs.h:164
WiMODLRBASE_PLUS::SendUData
bool SendUData(const TWiMODLR_RadioLink_Msg *txMsg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit U-Data to peer module via RF link.
Definition: WiMODLR_BASE_PLUS.cpp:1091
WiMODLRBASE_PLUS::RegisterRltStatusClient
void RegisterRltStatusClient(TRltStatusIndicationCallback cb)
Register a callback function for RLT updates.
Definition: WiMODLR_BASE_PLUS.cpp:2186
TWiMODLR_RLT_Status
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_RLT_IDs.h:114
TWiMODLR_SensorApp_SensorData
Structure containing SensorApp Data information.
Definition: WiMOD_SAP_SensorApp_IDs.h:137
WiMODLRBASE_PLUS::SapDevMgmt
WiMOD_SAP_DevMgmt_Plus SapDevMgmt
Definition: WiMODLR_BASE_PLUS.h:222
TWiMODLR_RLT_Parameter
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_RLT_IDs.h:102
TRadioLinkRawDataRxIndicationCallback
void(* TRadioLinkRawDataRxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:121
WiMODLRBASE_PLUS::SetHciConfig
bool SetHciConfig(TWiMODLR_DevMgmt_HciConfig &hciConfig, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets a new HCI configuration of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:1033
TRadioLinkCDataTxIndicationCallback
void(* TRadioLinkCDataTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:127
TRemoteCtrlBtnPressedIndicationCallback
void(* TRemoteCtrlBtnPressedIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RemoteCtrl.h:81
WiMODLRBASE_PLUS::SapRemoteCtrl
WiMOD_SAP_RemoteCtrl SapRemoteCtrl
Definition: WiMODLR_BASE_PLUS.h:227
TRadioCfg_RadioMode
TRadioCfg_RadioMode
general operation mode of the radio part (only for LR-BASE)
Definition: WiMOD_SAP_DEVMGMT_IDs.h:255
WiMODLRBASE_PLUS::convert
bool convert(TWiMODLR_HCIMessage &RxMsg, TWiMODLR_RadioLink_Msg *radioLinkMsg)
Convert a received low level HCI-Msg to a high-level RadioLink-Msg.
Definition: WiMODLR_BASE_PLUS.cpp:1218
ComSLIP.h
WiMODLRBASE_PLUS::RegisterSensorAppAckIndClient
void RegisterSensorAppAckIndClient(TSensorAppAckIndicationCallback cb)
Register a callback function for the SensorAppAckData Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:2435
WiMODLRBASE_PLUS::ClearRtcAlarm
bool ClearRtcAlarm(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Clears pending RTC Alarms of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:876
WiMODLRBASE_PLUS::SetSensorAppConfig
bool SetSensorAppConfig(const TWiMODLR_SensorApp_Config *config, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to configure the integrated Sensor App feature of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:2327
TSensorAppAckIndicationCallback
void(* TSensorAppAckIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_SensorApp.h:84
WiMODLRBASE_PLUS::SetOperationMode
bool SetOperationMode(const TWiMOD_OperationMode opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Sets the current operation mode of the WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:645
TRadioLinkCDataRxIndicationCallback
void(* TRadioLinkCDataRxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:124
WiMODLRBASE_PLUS::end
void end(void)
De-Setup internal things.
Definition: WiMODLR_BASE_PLUS.cpp:126
TWiMODLR_DevMgmt_DevInfo
Structure containing basic information about the WiMOD device.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:172
WiMODLRBASE_PLUS::GetLastHciResult
TWiMODLRResultCodes GetLastHciResult(void)
Gets the value of the last local HCI TX status.
Definition: WiMODLR_BASE_PLUS.cpp:1874
WiMOD_SAP_RLT.h
WiMOD_SAP_RemoteCtrl
Implementation for the ServiceAccessPoint RadioLink (LR-Base firmware only)
Definition: WiMOD_SAP_RemoteCtrl.h:96
WiMODLRBASE_PLUS::RegisterCDataTxClient
void RegisterCDataTxClient(TRadioLinkCDataTxIndicationCallback cb)
Register a callback function for the TX C-Data Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1654
TSensorAppSensorDataIndicationCallback
void(* TSensorAppSensorDataIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_SensorApp.h:87
WiMODLRBASE_PLUS::GetAesKey
bool GetAesKey(UINT8 *key, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the used security 128bit AES key.
Definition: WiMODLR_BASE_PLUS.cpp:750
WiMODLRBASE_PLUS
Main class representing the interface to the WiMOD running the firmware WiMODLR-BASE_PLUS.
Definition: WiMODLR_BASE_PLUS.h:103
WiMODLRBASE_PLUS::SapGeneric
WiMOD_SAP_Generic SapGeneric
Definition: WiMODLR_BASE_PLUS.h:224
WiMODLRBASE_PLUS::~WiMODLRBASE_PLUS
~WiMODLRBASE_PLUS(void)
Destructor.
Definition: WiMODLR_BASE_PLUS.cpp:94
WiMODLRBASE_PLUS::StartRadioLinkTest
bool StartRadioLinkTest(const TWiMODLR_RLT_Parameter *params, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to start the integrated Radio Link Test feature of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:2066
TRadioLinkAckRxTimeoutIndicationCallback
void(* TRadioLinkAckRxTimeoutIndicationCallback)(void)
Definition: WiMOD_SAP_RadioLink.h:133
WiMOD_SAP_DEVMGMT_PLUS.h
WiMOD_SAP_RadioLink.h
TWiMODLRResultCodes
TWiMODLRResultCodes
Result codes for the local serial communication itself.
Definition: WiMODLRHCI.h:149
WiMODLRBASE_PLUS::Reset
bool Reset(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Reset Cmd - Do a local reboot of the WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:223
WiMOD_SAP_RemoteCtrl.h
WiMOD_SAP_Generic.h
WiMODLRBASE_PLUS::calcRegisterToFreq
uint32_t calcRegisterToFreq(uint8_t msb, uint8_t mid, uint8_t lsb)
Convert a frequency registers to frequency in Hz.
Definition: WiMODLR_BASE_PLUS.cpp:1825
TWiMODLR_RemoteCtrl_BtnPressed
Structure containing a general RadioLink HCI message.
Definition: WiMOD_SAP_RemoteCtrl_IDs.h:86
TWiMODLR_DevMgmt_HciConfig
HCI Configuration Parameters.
Definition: WiMOD_SAP_DEVMGMT_IDs.h:519
WiMODLRBASE_PLUS::RegisterUDataTxClient
void RegisterUDataTxClient(TRadioLinkUDataTxIndicationCallback cb)
Register a callback function for the TX U-Data Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1539
WiMOD_SAP_SensorApp
Implementation for the ServiceAccessPoint SensorApp (LR-Base_PLUS firmware only)
Definition: WiMOD_SAP_SensorApp.h:101
TDevMgmtRtcAlarmCallback
void(* TDevMgmtRtcAlarmCallback)(void)
Definition: WiMOD_SAP_DEVMGMT.h:96
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
WiMODLRBASE_PLUS::SetRadioMode
bool SetRadioMode(const TRadioCfg_RadioMode radioMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
SetRadioMode - Set the current radio mode of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:673
WiMODLRBASE_PLUS::ResetRadioConfig
bool ResetRadioConfig(TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Resets the current configuration to defaults.
Definition: WiMODLR_BASE_PLUS.cpp:563
WiMODLRBASE_PLUS::SendCData
bool SendCData(const TWiMODLR_RadioLink_Msg *txMsg, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Tries to send transmit C-Data to peer module via RF link.
Definition: WiMODLR_BASE_PLUS.cpp:1153
WiMODLRBASE_PLUS::SapSensor
WiMOD_SAP_SensorApp SapSensor
Definition: WiMODLR_BASE_PLUS.h:226
WiMODLRBASE_PLUS::begin
void begin(void)
Setup internal things.
Definition: WiMODLR_BASE_PLUS.cpp:117
WiMODLRBASE_PLUS::RegisterRtcAlarmIndicationClient
void RegisterRtcAlarmIndicationClient(TDevMgmtRtcAlarmCallback cb)
Register a callback function for the RTC Alarm Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:952
WiMODLRBASE_PLUS::GetOperationMode
bool GetOperationMode(TWiMOD_OperationMode *opMode, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets the current operation mode of the WiMOD module.
Definition: WiMODLR_BASE_PLUS.cpp:604
WiMOD_SAP_DevMgmt_Plus
Implementation for the ServiceAccessPoint DeviceManagement.
Definition: WiMOD_SAP_DEVMGMT_PLUS.h:54
WiMODLRBASE_PLUS::RegisterAckRxClient
void RegisterAckRxClient(TRadioLinkAckRxIndicationCallback cb)
Register a callback function for the RX Ack (+data) Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1702
WiMODLRBASE_PLUS::GetRtcAlarm
bool GetRtcAlarm(TWiMODLR_DevMgmt_RtcAlarm *rtcAlarm, TWiMODLRResultCodes *hciResult=NULL, UINT8 *rspStatus=NULL)
Gets information about the RTC alarm feature of the WiMOD.
Definition: WiMODLR_BASE_PLUS.cpp:847
TWiMODLR_RadioLink_CdataInd
Structure containing information about a C-Data indication (TX only)
Definition: WiMOD_SAP_RadioLink_IDs.h:221
WiMOD_SAP_RadioLink
Implementation for the ServiceAccessPoint RadioLink (LR-Base firmware only)
Definition: WiMOD_SAP_RadioLink.h:151
TRadioLinkAckTxIndicationCallback
void(* TRadioLinkAckTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:136
WiMODLRBASE_PLUS::SapRLT
WiMOD_SAP_RLT SapRLT
Definition: WiMODLR_BASE_PLUS.h:225
WiMOD_SAP_SensorApp.h
TRltStatusIndicationCallback
void(* TRltStatusIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RLT.h:80
TRadioLinkUDataTxIndicationCallback
void(* TRadioLinkUDataTxIndicationCallback)(TWiMODLR_HCIMessage &rxMsg)
Definition: WiMOD_SAP_RadioLink.h:118
WiMODLRBASE_PLUS::RegisterUDataRxClient
void RegisterUDataRxClient(TRadioLinkUDataRxIndicationCallback cb)
Register a callback function for the RX U-Data Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1496