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 
61 #include "SAP/WiMOD_SAP_Generic.h"
62 #include "SAP/WiMOD_SAP_RLT.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 
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 
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 
160  void RegisterRawDataRxClient(TRadioLinkRawDataRxIndicationCallback 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);
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);
189  bool convert(TWiMODLR_HCIMessage& RxMsg, TWiMODLR_SensorApp_AckSensorData* sensorAckData);
190 
191  /*
192  * RemoteCtrl
193  */
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 
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 
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
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
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
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
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
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
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
WiMOD_SAP_DEVMGMT_PLUS.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
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
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
WiMODLRBASE_PLUS::RegisterUDataRxClient
void RegisterUDataRxClient(TRadioLinkUDataRxIndicationCallback cb)
Register a callback function for the RX U-Data Indication - optional -.
Definition: WiMODLR_BASE_PLUS.cpp:1496