diff --git a/_lo_ra_w_a_n_8h_source.html b/_lo_ra_w_a_n_8h_source.html
index 052ff3d4..1500798f 100644
--- a/_lo_ra_w_a_n_8h_source.html
+++ b/_lo_ra_w_a_n_8h_source.html
@@ -634,7 +634,7 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
887 uint8_t adrLimitExp = RADIOLIB_LW_ADR_ACK_LIMIT_EXP;
888 uint8_t adrDelayExp = RADIOLIB_LW_ADR_ACK_DELAY_EXP;
- 890 uint8_t txPowerCur = 0;
+ 890 uint8_t txPowerSteps = 0;
891 uint8_t txPowerMax = 0;
893 uint32_t aFCntDown = 0;
@@ -646,179 +646,176 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
-
- 903 uint16_t activeMode = RADIOLIB_LW_MODE_NONE;
+
+ 903 bool adrEnabled =
true;
-
- 906 bool adrEnabled =
true;
-
-
- 909 bool dutyCycleEnabled =
false;
- 910 uint32_t dutyCycle = 0;
-
-
- 913 bool dwellTimeEnabledUp =
false;
- 914 uint16_t dwellTimeUp = 0;
- 915 bool dwellTimeEnabledDn =
false;
- 916 uint16_t dwellTimeDn = 0;
-
-
-
-
-
-
-
-
-
-
-
+
+ 906 bool dutyCycleEnabled =
false;
+ 907 uint32_t dutyCycle = 0;
+
+
+ 910 bool dwellTimeEnabledUp =
false;
+ 911 uint16_t dwellTimeUp = 0;
+ 912 bool dwellTimeEnabledDn =
false;
+ 913 uint16_t dwellTimeDn = 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+ 930 LoRaWANChannel_t currentChannels[2] = { RADIOLIB_LW_CHANNEL_NONE, RADIOLIB_LW_CHANNEL_NONE };
-
- 933 LoRaWANChannel_t currentChannels[2] = { RADIOLIB_LW_CHANNEL_NONE, RADIOLIB_LW_CHANNEL_NONE };
+
+ 933 uint8_t dataRates[2] = { RADIOLIB_LW_DATA_RATE_UNUSED, RADIOLIB_LW_DATA_RATE_UNUSED };
-
- 936 uint8_t dataRates[2] = { RADIOLIB_LW_DATA_RATE_UNUSED, RADIOLIB_LW_DATA_RATE_UNUSED };
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+ 948 RadioLibTime_t rxDelays[2] = { RADIOLIB_LW_RECEIVE_DELAY_1_MS, RADIOLIB_LW_RECEIVE_DELAY_2_MS };
-
- 951 RadioLibTime_t rxDelays[2] = { RADIOLIB_LW_RECEIVE_DELAY_1_MS, RADIOLIB_LW_RECEIVE_DELAY_2_MS };
+
+ 951 uint8_t battLevel = 0xFF;
-
- 954 uint8_t battLevel = 0xFF;
+
+ 954 bool isMACPayload =
false;
-
- 957 bool isMACPayload =
false;
+
+
-
-
+
+ 960 int16_t downlinkCommon();
-
- 963 int16_t downlinkCommon();
+
+ 963 uint32_t generateMIC(uint8_t* msg,
size_t len, uint8_t* key);
-
- 966 uint32_t generateMIC(uint8_t* msg,
size_t len, uint8_t* key);
-
-
-
- 970 bool verifyMIC(uint8_t* msg,
size_t len, uint8_t* key);
-
-
-
- 974 int16_t setPhyProperties(uint8_t dir);
-
-
-
-
- 979 int16_t setupChannelsDyn(
bool joinRequest =
false);
-
-
-
- 983 int16_t setupChannelsFix(uint8_t subBand);
+
+
+ 967 bool verifyMIC(uint8_t* msg,
size_t len, uint8_t* key);
+
+
+
+ 971 int16_t setPhyProperties(uint8_t dir);
+
+
+
+
+ 976 int16_t setupChannelsDyn(
bool joinRequest =
false);
+
+
+
+ 980 int16_t setupChannelsFix(uint8_t subBand);
+
+
+ 983 int16_t processCFList(uint8_t* cfList);
-
- 986 int16_t processCFList(uint8_t* cfList);
+
+ 986 int16_t selectChannels();
-
- 989 int16_t selectChannels();
+
+ 989 int16_t findDataRate(uint8_t dr,
DataRate_t* dataRate);
-
- 992 int16_t findDataRate(uint8_t dr,
DataRate_t* dataRate);
+
+ 992 int16_t restoreChannels();
-
- 995 int16_t restoreChannels();
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+ 1005 bool applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);
-
- 1008 bool applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);
+
+ 1008 bool applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);
-
- 1011 bool applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);
-
-
- 1014 uint8_t getMacPayloadLength(uint8_t cid);
-
- 1022 void setCSMA(uint8_t backoffMax, uint8_t difsSlots,
bool enableCSMA =
false);
+
+ 1011 uint8_t getMacPayloadLength(uint8_t cid);
+
+ 1019 void setCSMA(uint8_t backoffMax, uint8_t difsSlots,
bool enableCSMA =
false);
+
+
+
-
-
+
+
-
-
+
+ 1028 void processAES(uint8_t* in,
size_t len, uint8_t* key, uint8_t* out, uint32_t fCnt, uint8_t dir, uint8_t ctrId,
bool counter);
-
- 1031 void processAES(uint8_t* in,
size_t len, uint8_t* key, uint8_t* out, uint32_t fCnt, uint8_t dir, uint8_t ctrId,
bool counter);
+
+ 1031 static uint16_t checkSum16(uint8_t *key, uint16_t keyLen);
-
- 1034 static uint16_t checkSum16(uint8_t *key, uint16_t keyLen);
-
-
- 1037 template<
typename T>
- 1038 static T ntoh(uint8_t* buff,
size_t size = 0);
-
-
- 1041 template<
typename T>
- 1042 static void hton(uint8_t* buff, T val,
size_t size = 0);
-
-
-
+
+ 1034 template<
typename T>
+ 1035 static T ntoh(uint8_t* buff,
size_t size = 0);
+
+
+ 1038 template<
typename T>
+ 1039 static void hton(uint8_t* buff, T val,
size_t size = 0);
+
+
+
LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:498
int16_t setBufferNonces(uint8_t *persistentBuffer)
Fill the internal buffer that holds the LW base parameters with a supplied buffer.
Definition: LoRaWAN.cpp:56
-int16_t setDatarate(uint8_t drUp)
Set uplink datarate. This should not be used when ADR is enabled.
Definition: LoRaWAN.cpp:1925
-int16_t uplink(const char *str, uint8_t fPort, bool isConfirmed=false, LoRaWANEvent_t *event=NULL)
Send a message to the server.
Definition: LoRaWAN.cpp:849
-uint8_t maxPayloadDwellTime()
Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...
Definition: LoRaWAN.cpp:2005
-int16_t beginABP(uint32_t addr, uint8_t *fNwkSIntKey, uint8_t *sNwkSIntKey, uint8_t *nwkSEncKey, uint8_t *appSKey, bool force=false, uint8_t initialDr=RADIOLIB_LW_DATA_RATE_UNUSED)
Join network by performing activation by personalization. In this procedure, all necessary configurat...
Definition: LoRaWAN.cpp:728
-void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)
Toggle adherence to dutyCycle limits to on or off.
Definition: LoRaWAN.cpp:1966
-RadioLibTime_t timeUntilUplink()
Returns time in milliseconds until next uplink is available under dutyCycle limits.
Definition: LoRaWAN.cpp:1987
-void setDeviceStatus(uint8_t battLevel)
Set device status.
Definition: LoRaWAN.cpp:1619
-RadioLibTime_t dutyCycleInterval(RadioLibTime_t msPerHour, RadioLibTime_t airtime)
Calculate the minimum interval to adhere to a certain dutyCycle. This interval is based on the ToA of...
Definition: LoRaWAN.cpp:1977
-void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)
Toggle adherence to dwellTime limits to on or off.
Definition: LoRaWAN.cpp:1996
-uint32_t getAFCntDown()
Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.
Definition: LoRaWAN.cpp:1635
-RadioLibTime_t getLastToA()
Get the Time-on-air of the last uplink message.
Definition: LoRaWAN.cpp:2813
+int16_t setDatarate(uint8_t drUp)
Set uplink datarate. This should not be used when ADR is enabled.
Definition: LoRaWAN.cpp:1927
+int16_t uplink(const char *str, uint8_t fPort, bool isConfirmed=false, LoRaWANEvent_t *event=NULL)
Send a message to the server.
Definition: LoRaWAN.cpp:844
+uint8_t maxPayloadDwellTime()
Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...
Definition: LoRaWAN.cpp:2007
+int16_t beginABP(uint32_t addr, uint8_t *fNwkSIntKey, uint8_t *sNwkSIntKey, uint8_t *nwkSEncKey, uint8_t *appSKey, bool force=false, uint8_t initialDr=RADIOLIB_LW_DATA_RATE_UNUSED)
Join network by performing activation by personalization. In this procedure, all necessary configurat...
Definition: LoRaWAN.cpp:724
+void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)
Toggle adherence to dutyCycle limits to on or off.
Definition: LoRaWAN.cpp:1968
+RadioLibTime_t timeUntilUplink()
Returns time in milliseconds until next uplink is available under dutyCycle limits.
Definition: LoRaWAN.cpp:1989
+void setDeviceStatus(uint8_t battLevel)
Set device status.
Definition: LoRaWAN.cpp:1621
+RadioLibTime_t dutyCycleInterval(RadioLibTime_t msPerHour, RadioLibTime_t airtime)
Calculate the minimum interval to adhere to a certain dutyCycle. This interval is based on the ToA of...
Definition: LoRaWAN.cpp:1979
+void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)
Toggle adherence to dwellTime limits to on or off.
Definition: LoRaWAN.cpp:1998
+uint32_t getAFCntDown()
Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.
Definition: LoRaWAN.cpp:1637
+RadioLibTime_t getLastToA()
Get the Time-on-air of the last uplink message.
Definition: LoRaWAN.cpp:2815
int16_t restore(uint16_t checkSum, uint16_t lwMode, uint8_t lwClass, uint8_t freqPlan)
Restore session by loading information from persistent storage.
Definition: LoRaWAN.cpp:129
-int16_t saveSession()
Save the current state of the session to the session buffer.
Definition: LoRaWAN.cpp:809
+int16_t saveSession()
Save the current state of the session to the session buffer.
Definition: LoRaWAN.cpp:804
uint8_t * getBufferNonces()
Returns the pointer to the internal buffer that holds the LW base parameters.
Definition: LoRaWAN.cpp:52
-int16_t sendReceive(const char *strUp, uint8_t fPort, uint8_t *dataDown, size_t *lenDown, bool isConfirmed=false, LoRaWANEvent_t *eventUp=NULL, LoRaWANEvent_t *eventDown=NULL)
Send a message to the server and wait for a downlink during Rx1 and/or Rx2 window.
Definition: LoRaWAN.cpp:1599
-int16_t beginOTAA(uint64_t joinEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey, bool force=false, uint8_t joinDr=RADIOLIB_LW_DATA_RATE_UNUSED)
Join network by performing over-the-air activation. By this procedure, the device will perform an exc...
Definition: LoRaWAN.cpp:452
+int16_t sendReceive(const char *strUp, uint8_t fPort, uint8_t *dataDown, size_t *lenDown, bool isConfirmed=false, LoRaWANEvent_t *eventUp=NULL, LoRaWANEvent_t *eventDown=NULL)
Send a message to the server and wait for a downlink during Rx1 and/or Rx2 window.
Definition: LoRaWAN.cpp:1601
+int16_t beginOTAA(uint64_t joinEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey, bool force=false, uint8_t joinDr=RADIOLIB_LW_DATA_RATE_UNUSED)
Join network by performing over-the-air activation. By this procedure, the device will perform an exc...
Definition: LoRaWAN.cpp:449
uint8_t * getBufferSession()
Returns the pointer to the internal buffer that holds the LW session parameters.
Definition: LoRaWAN.cpp:74
void wipe()
Wipe internal persistent parameters. This will reset all counters and saved variables,...
Definition: LoRaWAN.cpp:47
-int16_t setTxPower(int8_t txPower)
Configure TX power of the radio module.
Definition: LoRaWAN.cpp:2026
-int16_t getMacDeviceTimeAns(uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)
Returns the network time after requesting a DeviceTime MAC command. Returns 'true' if a network respo...
Definition: LoRaWAN.cpp:2792
-uint32_t getNFCntDown()
Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.
Definition: LoRaWAN.cpp:1631
-uint64_t getDevAddr()
Returns the DevAddr of the device, regardless of OTAA or ABP mode.
Definition: LoRaWAN.cpp:2809
-int16_t downlink(uint8_t *data, size_t *len, LoRaWANEvent_t *event=NULL)
Wait for downlink from the server in either RX1 or RX2 window.
Definition: LoRaWAN.cpp:1273
+int16_t setTxPower(int8_t txPower)
Configure TX power of the radio module.
Definition: LoRaWAN.cpp:2028
+int16_t getMacDeviceTimeAns(uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)
Returns the network time after requesting a DeviceTime MAC command. Returns 'true' if a network respo...
Definition: LoRaWAN.cpp:2794
+uint32_t getNFCntDown()
Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.
Definition: LoRaWAN.cpp:1633
+uint64_t getDevAddr()
Returns the DevAddr of the device, regardless of OTAA or ABP mode.
Definition: LoRaWAN.cpp:2811
+int16_t downlink(uint8_t *data, size_t *len, LoRaWANEvent_t *event=NULL)
Wait for downlink from the server in either RX1 or RX2 window.
Definition: LoRaWAN.cpp:1268
int16_t setBufferSession(uint8_t *persistentBuffer)
Fill the internal buffer that holds the LW session parameters with a supplied buffer.
Definition: LoRaWAN.cpp:81
LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band, uint8_t subBand=0)
Default constructor.
Definition: LoRaWAN.cpp:30
uint8_t rx1DrOffset
Offset between TX and RX1 (such that RX1 has equal or lower DR)
Definition: LoRaWAN.h:502
-uint32_t getFCntUp()
Returns the last uplink's frame counter; also 0 if no uplink occured yet.
Definition: LoRaWAN.cpp:1624
-int16_t sendMacCommandReq(uint8_t cid)
Add a MAC command to the uplink queue. Only LinkCheck and DeviceTime are available to the user....
Definition: LoRaWAN.cpp:2090
-int16_t getMacLinkCheckAns(uint8_t *margin, uint8_t *gwCnt)
Returns the quality of connectivity after requesting a LinkCheck MAC command. Returns 'true' if a net...
Definition: LoRaWAN.cpp:2781
-void setADR(bool enable=true)
Toggle ADR to on or off.
Definition: LoRaWAN.cpp:1962
+uint32_t getFCntUp()
Returns the last uplink's frame counter; also 0 if no uplink occured yet.
Definition: LoRaWAN.cpp:1626
+int16_t sendMacCommandReq(uint8_t cid)
Add a MAC command to the uplink queue. Only LinkCheck and DeviceTime are available to the user....
Definition: LoRaWAN.cpp:2092
+int16_t getMacLinkCheckAns(uint8_t *margin, uint8_t *gwCnt)
Returns the quality of connectivity after requesting a LinkCheck MAC command. Returns 'true' if a net...
Definition: LoRaWAN.cpp:2783
+void setADR(bool enable=true)
Toggle ADR to on or off.
Definition: LoRaWAN.cpp:1964
LoRaWANChannel_t rx2
RX2 channel properties - may be changed by MAC command.
Definition: LoRaWAN.h:505
-void resetFCntDown()
Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...
Definition: LoRaWAN.cpp:1639
-bool isJoined()
Whether there is an ongoing session active.
Definition: LoRaWAN.cpp:805
+void resetFCntDown()
Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...
Definition: LoRaWAN.cpp:1641
+bool isJoined()
Whether there is an ongoing session active.
Definition: LoRaWAN.cpp:800
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:54
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition: TypeDef.h:579
Structure to save information about LoRaWAN band.
Definition: LoRaWAN.h:379