From eb9ec6e5feec0cdafe79dceaa8f5c2b168709ba2 Mon Sep 17 00:00:00 2001
From: StevenCellist <47155822+StevenCellist@users.noreply.github.com>
Date: Sun, 21 Jul 2024 19:38:54 +0000
Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20907d9?=
 =?UTF-8?q?f9ef2eac847eef80a29523e3db6c11e9c82=20=F0=9F=9A=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 _lo_ra_w_a_n_8h_source.html         | 132 +++++++++++++++-------------
 class_lo_ra_w_a_n_node-members.html |   2 +-
 class_lo_ra_w_a_n_node.html         |  20 ++---
 class_lo_ra_w_a_n_node.js           |   2 +-
 functions_func_g.html               |   2 +-
 functions_g.html                    |   2 +-
 navtreeindex1.js                    |   2 +-
 search/all_6.js                     |   2 +-
 search/functions_6.js               |   2 +-
 9 files changed, 86 insertions(+), 80 deletions(-)

diff --git a/_lo_ra_w_a_n_8h_source.html b/_lo_ra_w_a_n_8h_source.html
index 11d55a68..971bc99f 100644
--- a/_lo_ra_w_a_n_8h_source.html
+++ b/_lo_ra_w_a_n_8h_source.html
@@ -602,7 +602,7 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
 <div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160; </div>
 <div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    int16_t <a class="code" href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">getMacDeviceTimeAns</a>(uint32_t* gpsEpoch, uint8_t* fraction, <span class="keywordtype">bool</span> returnUnix = <span class="keyword">true</span>);</div>
 <div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160; </div>
-<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    uint64_t <a class="code" href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">getDevAddr</a>();</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    uint32_t <a class="code" href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">getDevAddr</a>();</div>
 <div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160; </div>
 <div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <a class="code" href="group__typedefs.html#ga210f31dd2bff7fb80563275648a5bbbd">RadioLibTime_t</a> <a class="code" href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">getLastToA</a>();</div>
 <div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160; </div>
@@ -785,85 +785,91 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
 <div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;    <span class="comment">// restore all available channels from persistent storage</span></div>
 <div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;    int16_t restoreChannels();</div>
 <div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; </div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="comment">// push MAC command to queue, done by copy</span></div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    int16_t pushMacCommand(<a class="code" href="struct_lo_ra_w_a_n_mac_command__t.html">LoRaWANMacCommand_t</a>* cmd, <a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue);</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="comment">// parse a MAC command queue into a buffer (uplinks)</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    <span class="keywordtype">void</span> macQueueToBuff(<a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue, uint8_t* buffer);</div>
 <div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; </div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <span class="comment">// delete a specific MAC command from queue, indicated by the command ID</span></div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;    <span class="comment">// if a payload pointer is supplied, this returns the payload of the MAC command</span></div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    int16_t deleteMacCommand(uint8_t cid, <a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue, uint8_t* payload = NULL);</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; </div>
-<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    <span class="comment">// execute mac command, return the number of processed bytes for sequential processing</span></div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;    <span class="keywordtype">bool</span> execMacCommand(<a class="code" href="struct_lo_ra_w_a_n_mac_command__t.html">LoRaWANMacCommand_t</a>* cmd);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; </div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    <span class="comment">// apply a channel mask to a set of readily defined channels (dynamic bands only)</span></div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    <span class="keywordtype">bool</span> applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <span class="comment">// parse a MAC buffer into a command queue (downlinks)</span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;    <span class="keywordtype">void</span> macBufftoQueue(<a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue, uint8_t* buffer, uint8_t len);</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; </div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    <span class="comment">// push MAC command to queue, done by copy</span></div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    int16_t pushMacCommand(<a class="code" href="struct_lo_ra_w_a_n_mac_command__t.html">LoRaWANMacCommand_t</a>* cmd, <a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue);</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; </div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    <span class="comment">// delete a specific MAC command from queue, indicated by the command ID</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    <span class="comment">// if a payload pointer is supplied, this returns the payload of the MAC command</span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    int16_t deleteMacCommand(uint8_t cid, <a class="code" href="struct_lo_ra_w_a_n_mac_command_queue__t.html">LoRaWANMacCommandQueue_t</a>* queue, uint8_t* payload = NULL);</div>
 <div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; </div>
-<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    <span class="comment">// define or delete channels from a fixed set of channels (fixed bands only)</span></div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    <span class="keywordtype">bool</span> applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    <span class="comment">// execute mac command, return the number of processed bytes for sequential processing</span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    <span class="keywordtype">bool</span> execMacCommand(<a class="code" href="struct_lo_ra_w_a_n_mac_command__t.html">LoRaWANMacCommand_t</a>* cmd);</div>
 <div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; </div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;    <span class="comment">// get the payload length for a specific MAC command</span></div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;    uint8_t getMacPayloadLength(uint8_t cid);</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    </div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    <span class="keywordtype">void</span> setCSMA(uint8_t backoffMax, uint8_t difsSlots, <span class="keywordtype">bool</span> enableCSMA = <span class="keyword">false</span>);</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; </div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;    <span class="comment">// Performs CSMA as per LoRa Alliance Technical Recommendation 13 (TR-013).</span></div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;    <span class="keywordtype">void</span> performCSMA();</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; </div>
-<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    <span class="comment">// perform a single CAD operation for the under SF/CH combination. Returns either busy or otherwise.</span></div>
-<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    <span class="keywordtype">bool</span> performCAD();</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;    <span class="comment">// apply a channel mask to a set of readily defined channels (dynamic bands only)</span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;    <span class="keywordtype">bool</span> applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; </div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;    <span class="comment">// define or delete channels from a fixed set of channels (fixed bands only)</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    <span class="keywordtype">bool</span> applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; </div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;    <span class="comment">// get the payload length for a specific MAC command</span></div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    uint8_t getMacPayloadLength(uint8_t cid);</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;    </div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    <span class="keywordtype">void</span> setCSMA(uint8_t backoffMax, uint8_t difsSlots, <span class="keywordtype">bool</span> enableCSMA = <span class="keyword">false</span>);</div>
 <div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; </div>
-<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;    <span class="comment">// function to encrypt and decrypt payloads</span></div>
-<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    <span class="keywordtype">void</span> processAES(<span class="keyword">const</span> uint8_t* in, <span class="keywordtype">size_t</span> len, uint8_t* key, uint8_t* out, uint32_t fCnt, uint8_t dir, uint8_t ctrId, <span class="keywordtype">bool</span> counter);</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;    <span class="comment">// Performs CSMA as per LoRa Alliance Technical Recommendation 13 (TR-013).</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    <span class="keywordtype">void</span> performCSMA();</div>
 <div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; </div>
-<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;    <span class="comment">// 16-bit checksum method that takes a uint8_t array of even length and calculates the checksum</span></div>
-<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;    <span class="keyword">static</span> uint16_t checkSum16(uint8_t *key, uint16_t keyLen);</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;    <span class="comment">// perform a single CAD operation for the under SF/CH combination. Returns either busy or otherwise.</span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;    <span class="keywordtype">bool</span> performCAD();</div>
 <div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; </div>
-<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;    <span class="comment">// network-to-host conversion method - takes data from network packet and converts it to the host endians</span></div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
-<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    <span class="keyword">static</span> T ntoh(uint8_t* buff, <span class="keywordtype">size_t</span> size = 0);</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; </div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    <span class="comment">// host-to-network conversion method - takes data from host variable and and converts it to network packet endians</span></div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> hton(uint8_t* buff, T val, <span class="keywordtype">size_t</span> size = 0);</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;};</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; </div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;    <span class="comment">// function to encrypt and decrypt payloads</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keywordtype">void</span> processAES(<span class="keyword">const</span> uint8_t* in, <span class="keywordtype">size_t</span> len, uint8_t* key, uint8_t* out, uint32_t fCnt, uint8_t dir, uint8_t ctrId, <span class="keywordtype">bool</span> counter);</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; </div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;    <span class="comment">// 16-bit checksum method that takes a uint8_t array of even length and calculates the checksum</span></div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    <span class="keyword">static</span> uint16_t checkSum16(uint8_t *key, uint16_t keyLen);</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; </div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;    <span class="comment">// network-to-host conversion method - takes data from network packet and converts it to the host endians</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;    <span class="keyword">static</span> T ntoh(uint8_t* buff, <span class="keywordtype">size_t</span> size = 0);</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; </div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;    <span class="comment">// host-to-network conversion method - takes data from host variable and and converts it to network packet endians</span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> hton(uint8_t* buff, T val, <span class="keywordtype">size_t</span> size = 0);</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;};</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; </div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;<span class="preprocessor">#endif</span></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></div><div class="ttdoc">LoRaWAN-compatible node (class A device).</div><div class="ttdef"><b>Definition:</b> LoRaWAN.h:524</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a0feeaed200d8f94ad94c3ed49f404847"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a0feeaed200d8f94ad94c3ed49f404847">LoRaWANNode::clearSession</a></div><div class="ttdeci">void clearSession()</div><div class="ttdoc">Clear an active session, so that the device will have to rejoin the network.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:69</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a11701081ac6bd39a8a2b4bdbc248fac2"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a11701081ac6bd39a8a2b4bdbc248fac2">LoRaWANNode::setBufferNonces</a></div><div class="ttdeci">int16_t setBufferNonces(uint8_t *persistentBuffer)</div><div class="ttdoc">Fill the internal buffer that holds the LW base parameters with a supplied buffer.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:85</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a14e8a8a098df28ff5ee294f235500499"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a14e8a8a098df28ff5ee294f235500499">LoRaWANNode::setDatarate</a></div><div class="ttdeci">int16_t setDatarate(uint8_t drUp)</div><div class="ttdoc">Set uplink datarate. This should not be used when ADR is enabled.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2020</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a1fa484970865e476311bf25969968fff"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a1fa484970865e476311bf25969968fff">LoRaWANNode::uplink</a></div><div class="ttdeci">int16_t uplink(const char *str, uint8_t fPort, bool isConfirmed=false, LoRaWANEvent_t *event=NULL)</div><div class="ttdoc">Send a message to the server.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:895</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a14e8a8a098df28ff5ee294f235500499"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a14e8a8a098df28ff5ee294f235500499">LoRaWANNode::setDatarate</a></div><div class="ttdeci">int16_t setDatarate(uint8_t drUp)</div><div class="ttdoc">Set uplink datarate. This should not be used when ADR is enabled.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1976</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a1fa484970865e476311bf25969968fff"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a1fa484970865e476311bf25969968fff">LoRaWANNode::uplink</a></div><div class="ttdeci">int16_t uplink(const char *str, uint8_t fPort, bool isConfirmed=false, LoRaWANEvent_t *event=NULL)</div><div class="ttdoc">Send a message to the server.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:896</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a2176aa3d546e6b00e870a7e1e310c403"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a2176aa3d546e6b00e870a7e1e310c403">LoRaWANNode::scanGuard</a></div><div class="ttdeci">RadioLibTime_t scanGuard</div><div class="ttdoc">Rx window padding in milliseconds according to the spec, the Rx window must be at least enough time t...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.h:886</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a2303cbbfc9c18e267c074284a4f1bf68"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a2303cbbfc9c18e267c074284a4f1bf68">LoRaWANNode::beginOTAA</a></div><div class="ttdeci">void beginOTAA(uint64_t joinEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey)</div><div class="ttdoc">Set the device credentials and activation configuration.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:457</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a3044715beeff759ed47342d532ac3205"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a3044715beeff759ed47342d532ac3205">LoRaWANNode::maxPayloadDwellTime</a></div><div class="ttdeci">uint8_t maxPayloadDwellTime()</div><div class="ttdoc">Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2103</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a3d4bbd6d382496838954ab4ac1168b77"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a3d4bbd6d382496838954ab4ac1168b77">LoRaWANNode::setDutyCycle</a></div><div class="ttdeci">void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)</div><div class="ttdoc">Toggle adherence to dutyCycle limits to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2061</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a49e690c14858b46692e4ce9aa5a2566a"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a49e690c14858b46692e4ce9aa5a2566a">LoRaWANNode::timeUntilUplink</a></div><div class="ttdeci">RadioLibTime_t timeUntilUplink()</div><div class="ttdoc">Returns time in milliseconds until next uplink is available under dutyCycle limits.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2085</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a5449e301634dff1838a1b024b4067034"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a5449e301634dff1838a1b024b4067034">LoRaWANNode::setDeviceStatus</a></div><div class="ttdeci">void setDeviceStatus(uint8_t battLevel)</div><div class="ttdoc">Set device status.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1715</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a5bb50904544f331806fd744ab5b99efa"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a5bb50904544f331806fd744ab5b99efa">LoRaWANNode::dutyCycleInterval</a></div><div class="ttdeci">RadioLibTime_t dutyCycleInterval(RadioLibTime_t msPerHour, RadioLibTime_t airtime)</div><div class="ttdoc">Calculate the minimum interval to adhere to a certain dutyCycle. This interval is based on the ToA of...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2075</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a62bfe68f6fe63c2e408dccbff6a34a4f"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a62bfe68f6fe63c2e408dccbff6a34a4f">LoRaWANNode::setDwellTime</a></div><div class="ttdeci">void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)</div><div class="ttdoc">Toggle adherence to dwellTime limits to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2094</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a6785265f3311ff6bf296f82429c96701"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a6785265f3311ff6bf296f82429c96701">LoRaWANNode::getAFCntDown</a></div><div class="ttdeci">uint32_t getAFCntDown()</div><div class="ttdoc">Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1731</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a683b02b63867bb7de5df45c94d190305"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">LoRaWANNode::getLastToA</a></div><div class="ttdeci">RadioLibTime_t getLastToA()</div><div class="ttdoc">Get the Time-on-air of the last uplink message.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2928</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a77483c51548e48a5dff4b707f7770e86"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a77483c51548e48a5dff4b707f7770e86">LoRaWANNode::activateABP</a></div><div class="ttdeci">int16_t activateABP(uint8_t initialDr=RADIOLIB_LORAWAN_DATA_RATE_UNUSED)</div><div class="ttdoc">Join network by restoring ABP session or performing over-the-air activation. In this procedure,...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:826</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a3044715beeff759ed47342d532ac3205"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a3044715beeff759ed47342d532ac3205">LoRaWANNode::maxPayloadDwellTime</a></div><div class="ttdeci">uint8_t maxPayloadDwellTime()</div><div class="ttdoc">Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2059</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a3d4bbd6d382496838954ab4ac1168b77"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a3d4bbd6d382496838954ab4ac1168b77">LoRaWANNode::setDutyCycle</a></div><div class="ttdeci">void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)</div><div class="ttdoc">Toggle adherence to dutyCycle limits to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2017</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a49e690c14858b46692e4ce9aa5a2566a"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a49e690c14858b46692e4ce9aa5a2566a">LoRaWANNode::timeUntilUplink</a></div><div class="ttdeci">RadioLibTime_t timeUntilUplink()</div><div class="ttdoc">Returns time in milliseconds until next uplink is available under dutyCycle limits.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2041</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a5449e301634dff1838a1b024b4067034"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a5449e301634dff1838a1b024b4067034">LoRaWANNode::setDeviceStatus</a></div><div class="ttdeci">void setDeviceStatus(uint8_t battLevel)</div><div class="ttdoc">Set device status.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1664</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a5bb50904544f331806fd744ab5b99efa"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a5bb50904544f331806fd744ab5b99efa">LoRaWANNode::dutyCycleInterval</a></div><div class="ttdeci">RadioLibTime_t dutyCycleInterval(RadioLibTime_t msPerHour, RadioLibTime_t airtime)</div><div class="ttdoc">Calculate the minimum interval to adhere to a certain dutyCycle. This interval is based on the ToA of...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2031</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a62bfe68f6fe63c2e408dccbff6a34a4f"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a62bfe68f6fe63c2e408dccbff6a34a4f">LoRaWANNode::setDwellTime</a></div><div class="ttdeci">void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)</div><div class="ttdoc">Toggle adherence to dwellTime limits to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2050</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a6785265f3311ff6bf296f82429c96701"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a6785265f3311ff6bf296f82429c96701">LoRaWANNode::getAFCntDown</a></div><div class="ttdeci">uint32_t getAFCntDown()</div><div class="ttdoc">Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1680</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a683b02b63867bb7de5df45c94d190305"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">LoRaWANNode::getLastToA</a></div><div class="ttdeci">RadioLibTime_t getLastToA()</div><div class="ttdoc">Get the Time-on-air of the last uplink message (in milliseconds).</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2942</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a77483c51548e48a5dff4b707f7770e86"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a77483c51548e48a5dff4b707f7770e86">LoRaWANNode::activateABP</a></div><div class="ttdeci">int16_t activateABP(uint8_t initialDr=RADIOLIB_LORAWAN_DATA_RATE_UNUSED)</div><div class="ttdoc">Join network by restoring ABP session or performing over-the-air activation. In this procedure,...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:827</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a8226f4d0329d15da9ffc706e5781403a"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a8226f4d0329d15da9ffc706e5781403a">LoRaWANNode::TS009</a></div><div class="ttdeci">bool TS009</div><div class="ttdoc">TS009 Protocol Specification Verification switch (allows FPort 224 and cuts off uplink payload instea...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.h:872</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a84004883006b4a498d4899874952445b"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a84004883006b4a498d4899874952445b">LoRaWANNode::getBufferNonces</a></div><div class="ttdeci">uint8_t * getBufferNonces()</div><div class="ttdoc">Returns the pointer to the internal buffer that holds the LW base parameters.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:77</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a85cf006ffd97ece3b2d2974b715540cb"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a85cf006ffd97ece3b2d2974b715540cb">LoRaWANNode::sendReceive</a></div><div class="ttdeci">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)</div><div class="ttdoc">Send a message to the server and wait for a downlink during Rx1 and/or Rx2 window.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1695</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a85cf006ffd97ece3b2d2974b715540cb"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a85cf006ffd97ece3b2d2974b715540cb">LoRaWANNode::sendReceive</a></div><div class="ttdeci">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)</div><div class="ttdoc">Send a message to the server and wait for a downlink during Rx1 and/or Rx2 window.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1644</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a90369a4f2c4da11527872a7bbbf9ab06"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a90369a4f2c4da11527872a7bbbf9ab06">LoRaWANNode::getBufferSession</a></div><div class="ttdeci">uint8_t * getBufferSession()</div><div class="ttdoc">Returns the pointer to the internal buffer that holds the LW session parameters.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:121</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a92c59b540dee631e7bd8153479328611"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a92c59b540dee631e7bd8153479328611">LoRaWANNode::beginABP</a></div><div class="ttdeci">void beginABP(uint32_t addr, uint8_t *fNwkSIntKey, uint8_t *sNwkSIntKey, uint8_t *nwkSEncKey, uint8_t *appSKey)</div><div class="ttdoc">Set the device credentials and activation configuration.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:796</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9a44677a1ef7db1216bc482139d6be8d"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9a44677a1ef7db1216bc482139d6be8d">LoRaWANNode::isActivated</a></div><div class="ttdeci">bool isActivated()</div><div class="ttdoc">Whether there is an ongoing session active.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:885</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9af613f7d923e7bdcfdbd020132c6d4b"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9af613f7d923e7bdcfdbd020132c6d4b">LoRaWANNode::setTxPower</a></div><div class="ttdeci">int16_t setTxPower(int8_t txPower)</div><div class="ttdoc">Configure TX power of the radio module.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2124</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9e6e1ce4296364606ff8b10fb5f971de"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">LoRaWANNode::getMacDeviceTimeAns</a></div><div class="ttdeci">int16_t getMacDeviceTimeAns(uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)</div><div class="ttdoc">Returns the network time after requesting a DeviceTime MAC command. Returns 'true' if a network respo...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2907</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aa7fabaa6efe9978c3674b1ab187446a1"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aa7fabaa6efe9978c3674b1ab187446a1">LoRaWANNode::getNFCntDown</a></div><div class="ttdeci">uint32_t getNFCntDown()</div><div class="ttdoc">Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1727</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aa97378ad7b669718fbef529649d03452"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">LoRaWANNode::getDevAddr</a></div><div class="ttdeci">uint64_t getDevAddr()</div><div class="ttdoc">Returns the DevAddr of the device, regardless of OTAA or ABP mode.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2924</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aabced307f6662998608f01fab25e4226"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aabced307f6662998608f01fab25e4226">LoRaWANNode::downlink</a></div><div class="ttdeci">int16_t downlink(uint8_t *data, size_t *len, LoRaWANEvent_t *event=NULL)</div><div class="ttdoc">Wait for downlink from the server in either RX1 or RX2 window.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1340</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a92c59b540dee631e7bd8153479328611"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a92c59b540dee631e7bd8153479328611">LoRaWANNode::beginABP</a></div><div class="ttdeci">void beginABP(uint32_t addr, uint8_t *fNwkSIntKey, uint8_t *sNwkSIntKey, uint8_t *nwkSEncKey, uint8_t *appSKey)</div><div class="ttdoc">Set the device credentials and activation configuration.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:797</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9a44677a1ef7db1216bc482139d6be8d"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9a44677a1ef7db1216bc482139d6be8d">LoRaWANNode::isActivated</a></div><div class="ttdeci">bool isActivated()</div><div class="ttdoc">Whether there is an ongoing session active.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:886</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9af613f7d923e7bdcfdbd020132c6d4b"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9af613f7d923e7bdcfdbd020132c6d4b">LoRaWANNode::setTxPower</a></div><div class="ttdeci">int16_t setTxPower(int8_t txPower)</div><div class="ttdoc">Configure TX power of the radio module.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2080</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_a9e6e1ce4296364606ff8b10fb5f971de"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">LoRaWANNode::getMacDeviceTimeAns</a></div><div class="ttdeci">int16_t getMacDeviceTimeAns(uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)</div><div class="ttdoc">Returns the network time after requesting a DeviceTime MAC command. Returns 'true' if a network respo...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2921</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aa7fabaa6efe9978c3674b1ab187446a1"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aa7fabaa6efe9978c3674b1ab187446a1">LoRaWANNode::getNFCntDown</a></div><div class="ttdeci">uint32_t getNFCntDown()</div><div class="ttdoc">Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1676</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aabced307f6662998608f01fab25e4226"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aabced307f6662998608f01fab25e4226">LoRaWANNode::downlink</a></div><div class="ttdeci">int16_t downlink(uint8_t *data, size_t *len, LoRaWANEvent_t *event=NULL)</div><div class="ttdoc">Wait for downlink from the server in either RX1 or RX2 window.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1326</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aadebe7a412aec8043aa2f8f57a202f49"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aadebe7a412aec8043aa2f8f57a202f49">LoRaWANNode::setBufferSession</a></div><div class="ttdeci">int16_t setBufferSession(uint8_t *persistentBuffer)</div><div class="ttdoc">Fill the internal buffer that holds the LW session parameters with a supplied buffer.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:140</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aae05de563f765f14fe267e4d65844f76"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aae05de563f765f14fe267e4d65844f76">LoRaWANNode::LoRaWANNode</a></div><div class="ttdeci">LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band, uint8_t subBand=0)</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:30</div></div>
 <div class="ttc" id="aclass_lo_ra_w_a_n_node_html_abd9e976eec64a3bd1ddf3331f2bc93cd"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#abd9e976eec64a3bd1ddf3331f2bc93cd">LoRaWANNode::activateOTAA</a></div><div class="ttdeci">int16_t activateOTAA(uint8_t initialDr=RADIOLIB_LORAWAN_DATA_RATE_UNUSED, LoRaWANJoinEvent_t *joinEvent=NULL)</div><div class="ttdoc">Join network by restoring OTAA session or performing over-the-air activation. By this procedure,...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:484</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_ad3217975ef9959ff83ce79dd80b0d777"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777">LoRaWANNode::getFCntUp</a></div><div class="ttdeci">uint32_t getFCntUp()</div><div class="ttdoc">Returns the last uplink's frame counter; also 0 if no uplink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1720</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_addfd8ac3d0bfe5a273e9ba10e51f8025"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#addfd8ac3d0bfe5a273e9ba10e51f8025">LoRaWANNode::setRx2Dr</a></div><div class="ttdeci">int16_t setRx2Dr(uint8_t dr)</div><div class="ttdoc">Configure the Rx2 datarate for ABP mode. This should not be needed for LoRaWAN 1.1 as it is configure...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2188</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_adef05650cf4eb92042ca5e2688c1e164"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#adef05650cf4eb92042ca5e2688c1e164">LoRaWANNode::sendMacCommandReq</a></div><div class="ttdeci">int16_t sendMacCommandReq(uint8_t cid)</div><div class="ttdoc">Add a MAC command to the uplink queue. Only LinkCheck and DeviceTime are available to the user....</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2215</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_adf038f331c1dc954dafc2668e7a31ca0"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#adf038f331c1dc954dafc2668e7a31ca0">LoRaWANNode::getMacLinkCheckAns</a></div><div class="ttdeci">int16_t getMacLinkCheckAns(uint8_t *margin, uint8_t *gwCnt)</div><div class="ttdoc">Returns the quality of connectivity after requesting a LinkCheck MAC command. Returns 'true' if a net...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2896</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_ae222275f807f472083ea6100c23c75ff"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#ae222275f807f472083ea6100c23c75ff">LoRaWANNode::setADR</a></div><div class="ttdeci">void setADR(bool enable=true)</div><div class="ttdoc">Toggle ADR to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2057</div></div>
-<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_af4b3d07cd9bf4178d627204bae18b648"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#af4b3d07cd9bf4178d627204bae18b648">LoRaWANNode::resetFCntDown</a></div><div class="ttdeci">void resetFCntDown()</div><div class="ttdoc">Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1735</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_ad3217975ef9959ff83ce79dd80b0d777"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777">LoRaWANNode::getFCntUp</a></div><div class="ttdeci">uint32_t getFCntUp()</div><div class="ttdoc">Returns the last uplink's frame counter; also 0 if no uplink occured yet.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1669</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_addfd8ac3d0bfe5a273e9ba10e51f8025"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#addfd8ac3d0bfe5a273e9ba10e51f8025">LoRaWANNode::setRx2Dr</a></div><div class="ttdeci">int16_t setRx2Dr(uint8_t dr)</div><div class="ttdoc">Configure the Rx2 datarate for ABP mode. This should not be needed for LoRaWAN 1.1 as it is configure...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2144</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_adef05650cf4eb92042ca5e2688c1e164"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#adef05650cf4eb92042ca5e2688c1e164">LoRaWANNode::sendMacCommandReq</a></div><div class="ttdeci">int16_t sendMacCommandReq(uint8_t cid)</div><div class="ttdoc">Add a MAC command to the uplink queue. Only LinkCheck and DeviceTime are available to the user....</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2171</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_adf038f331c1dc954dafc2668e7a31ca0"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#adf038f331c1dc954dafc2668e7a31ca0">LoRaWANNode::getMacLinkCheckAns</a></div><div class="ttdeci">int16_t getMacLinkCheckAns(uint8_t *margin, uint8_t *gwCnt)</div><div class="ttdoc">Returns the quality of connectivity after requesting a LinkCheck MAC command. Returns 'true' if a net...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2910</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_ae222275f807f472083ea6100c23c75ff"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#ae222275f807f472083ea6100c23c75ff">LoRaWANNode::setADR</a></div><div class="ttdeci">void setADR(bool enable=true)</div><div class="ttdoc">Toggle ADR to on or off.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2013</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_aee0590cc9123ceac4c822eabed3150c6"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">LoRaWANNode::getDevAddr</a></div><div class="ttdeci">uint32_t getDevAddr()</div><div class="ttdoc">Returns the DevAddr of the device, regardless of OTAA or ABP mode.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:2938</div></div>
+<div class="ttc" id="aclass_lo_ra_w_a_n_node_html_af4b3d07cd9bf4178d627204bae18b648"><div class="ttname"><a href="class_lo_ra_w_a_n_node.html#af4b3d07cd9bf4178d627204bae18b648">LoRaWANNode::resetFCntDown</a></div><div class="ttdeci">void resetFCntDown()</div><div class="ttdoc">Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...</div><div class="ttdef"><b>Definition:</b> LoRaWAN.cpp:1684</div></div>
 <div class="ttc" id="aclass_physical_layer_html"><div class="ttname"><a href="class_physical_layer.html">PhysicalLayer</a></div><div class="ttdoc">Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.h:54</div></div>
 <div class="ttc" id="agroup__typedefs_html_ga210f31dd2bff7fb80563275648a5bbbd"><div class="ttname"><a href="group__typedefs.html#ga210f31dd2bff7fb80563275648a5bbbd">RadioLibTime_t</a></div><div class="ttdeci">unsigned long RadioLibTime_t</div><div class="ttdoc">Type used for durations in RadioLib.</div><div class="ttdef"><b>Definition:</b> TypeDef.h:616</div></div>
 <div class="ttc" id="astruct_lo_ra_w_a_n_band__t_html"><div class="ttname"><a href="struct_lo_ra_w_a_n_band__t.html">LoRaWANBand_t</a></div><div class="ttdoc">Structure to save information about LoRaWAN band.</div><div class="ttdef"><b>Definition:</b> LoRaWAN.h:386</div></div>
diff --git a/class_lo_ra_w_a_n_node-members.html b/class_lo_ra_w_a_n_node-members.html
index 456bc5dc..79562a08 100644
--- a/class_lo_ra_w_a_n_node-members.html
+++ b/class_lo_ra_w_a_n_node-members.html
@@ -100,7 +100,7 @@ $(document).ready(function(){initNavTree('class_lo_ra_w_a_n_node.html',''); init
   <tr class="even"><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#a6785265f3311ff6bf296f82429c96701">getAFCntDown</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#a84004883006b4a498d4899874952445b">getBufferNonces</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#a90369a4f2c4da11527872a7bbbf9ab06">getBufferSession</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">getDevAddr</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">getDevAddr</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777">getFCntUp</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">getLastToA</a>()</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">getMacDeviceTimeAns</a>(uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)</td><td class="entry"><a class="el" href="class_lo_ra_w_a_n_node.html">LoRaWANNode</a></td><td class="entry"></td></tr>
diff --git a/class_lo_ra_w_a_n_node.html b/class_lo_ra_w_a_n_node.html
index da6057a7..989ca200 100644
--- a/class_lo_ra_w_a_n_node.html
+++ b/class_lo_ra_w_a_n_node.html
@@ -211,11 +211,11 @@ uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="c
 <tr class="memitem:a9e6e1ce4296364606ff8b10fb5f971de"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">getMacDeviceTimeAns</a> (uint32_t *gpsEpoch, uint8_t *fraction, bool returnUnix=true)</td></tr>
 <tr class="memdesc:a9e6e1ce4296364606ff8b10fb5f971de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the network time after requesting a DeviceTime MAC command. Returns 'true' if a network response was successfully parsed. Returns 'false' if there was no network response / parsing failed.  <a href="class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de">More...</a><br /></td></tr>
 <tr class="separator:a9e6e1ce4296364606ff8b10fb5f971de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa97378ad7b669718fbef529649d03452"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">getDevAddr</a> ()</td></tr>
-<tr class="memdesc:aa97378ad7b669718fbef529649d03452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the DevAddr of the device, regardless of OTAA or ABP mode.  <a href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">More...</a><br /></td></tr>
-<tr class="separator:aa97378ad7b669718fbef529649d03452"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee0590cc9123ceac4c822eabed3150c6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">getDevAddr</a> ()</td></tr>
+<tr class="memdesc:aee0590cc9123ceac4c822eabed3150c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the DevAddr of the device, regardless of OTAA or ABP mode.  <a href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">More...</a><br /></td></tr>
+<tr class="separator:aee0590cc9123ceac4c822eabed3150c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a683b02b63867bb7de5df45c94d190305"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs.html#ga210f31dd2bff7fb80563275648a5bbbd">RadioLibTime_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">getLastToA</a> ()</td></tr>
-<tr class="memdesc:a683b02b63867bb7de5df45c94d190305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Time-on-air of the last uplink message.  <a href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">More...</a><br /></td></tr>
+<tr class="memdesc:a683b02b63867bb7de5df45c94d190305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Time-on-air of the last uplink message (in milliseconds).  <a href="class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305">More...</a><br /></td></tr>
 <tr class="separator:a683b02b63867bb7de5df45c94d190305"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
@@ -599,14 +599,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
 
 </div>
 </div>
-<a id="aa97378ad7b669718fbef529649d03452"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa97378ad7b669718fbef529649d03452">&#9670;&nbsp;</a></span>getDevAddr()</h2>
+<a id="aee0590cc9123ceac4c822eabed3150c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee0590cc9123ceac4c822eabed3150c6">&#9670;&nbsp;</a></span>getDevAddr()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">uint64_t LoRaWANNode::getDevAddr </td>
+          <td class="memname">uint32_t LoRaWANNode::getDevAddr </td>
           <td>(</td>
           <td class="paramname"></td><td>)</td>
           <td></td>
@@ -615,7 +615,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
 </div><div class="memdoc">
 
 <p>Returns the DevAddr of the device, regardless of OTAA or ABP mode. </p>
-<dl class="section return"><dt>Returns</dt><dd>8-byte DevAddr </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>4-byte DevAddr </dd></dl>
 
 </div>
 </div>
@@ -634,8 +634,8 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
       </table>
 </div><div class="memdoc">
 
-<p>Get the Time-on-air of the last uplink message. </p>
-<dl class="section return"><dt>Returns</dt><dd>(RadioLibTime_t) time-on-air (ToA) of last uplink message. </dd></dl>
+<p>Get the Time-on-air of the last uplink message (in milliseconds). </p>
+<dl class="section return"><dt>Returns</dt><dd>(RadioLibTime_t) time-on-air (ToA) of last uplink message (in milliseconds). </dd></dl>
 
 </div>
 </div>
diff --git a/class_lo_ra_w_a_n_node.js b/class_lo_ra_w_a_n_node.js
index 4a8b118e..d6e9d06f 100644
--- a/class_lo_ra_w_a_n_node.js
+++ b/class_lo_ra_w_a_n_node.js
@@ -12,7 +12,7 @@ var class_lo_ra_w_a_n_node =
     [ "getAFCntDown", "class_lo_ra_w_a_n_node.html#a6785265f3311ff6bf296f82429c96701", null ],
     [ "getBufferNonces", "class_lo_ra_w_a_n_node.html#a84004883006b4a498d4899874952445b", null ],
     [ "getBufferSession", "class_lo_ra_w_a_n_node.html#a90369a4f2c4da11527872a7bbbf9ab06", null ],
-    [ "getDevAddr", "class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452", null ],
+    [ "getDevAddr", "class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6", null ],
     [ "getFCntUp", "class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777", null ],
     [ "getLastToA", "class_lo_ra_w_a_n_node.html#a683b02b63867bb7de5df45c94d190305", null ],
     [ "getMacDeviceTimeAns", "class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de", null ],
diff --git a/functions_func_g.html b/functions_func_g.html
index c3820aba..d99950a9 100644
--- a/functions_func_g.html
+++ b/functions_func_g.html
@@ -125,7 +125,7 @@ $(document).ready(function(){initNavTree('functions_func_g.html',''); initResiza
 , <a class="el" href="class_s_x127x.html#adc25b685de0859b799488bf7729350b6">SX127x</a>
 </li>
 <li>getDevAddr()
-: <a class="el" href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">LoRaWANNode</a>
+: <a class="el" href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">LoRaWANNode</a>
 </li>
 <li>getFCntUp()
 : <a class="el" href="class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777">LoRaWANNode</a>
diff --git a/functions_g.html b/functions_g.html
index b5555a6a..bd630d9b 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -125,7 +125,7 @@ $(document).ready(function(){initNavTree('functions_g.html',''); initResizable()
 , <a class="el" href="class_s_x127x.html#adc25b685de0859b799488bf7729350b6">SX127x</a>
 </li>
 <li>getDevAddr()
-: <a class="el" href="class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452">LoRaWANNode</a>
+: <a class="el" href="class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6">LoRaWANNode</a>
 </li>
 <li>getFCntUp()
 : <a class="el" href="class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777">LoRaWANNode</a>
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 43dcfd44..934c05ba 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -133,7 +133,6 @@ var NAVTREEINDEX1 =
 "class_lo_ra_w_a_n_node.html#a9af613f7d923e7bdcfdbd020132c6d4b":[3,0,24,33],
 "class_lo_ra_w_a_n_node.html#a9e6e1ce4296364606ff8b10fb5f971de":[3,0,24,15],
 "class_lo_ra_w_a_n_node.html#aa7fabaa6efe9978c3674b1ab187446a1":[3,0,24,17],
-"class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452":[3,0,24,12],
 "class_lo_ra_w_a_n_node.html#aabced307f6662998608f01fab25e4226":[3,0,24,7],
 "class_lo_ra_w_a_n_node.html#aadebe7a412aec8043aa2f8f57a202f49":[3,0,24,27],
 "class_lo_ra_w_a_n_node.html#aae05de563f765f14fe267e4d65844f76":[3,0,24,0],
@@ -144,6 +143,7 @@ var NAVTREEINDEX1 =
 "class_lo_ra_w_a_n_node.html#adf038f331c1dc954dafc2668e7a31ca0":[3,0,24,16],
 "class_lo_ra_w_a_n_node.html#ae222275f807f472083ea6100c23c75ff":[3,0,24,25],
 "class_lo_ra_w_a_n_node.html#ae532e739ada04ea7463494a426f60b4d":[3,0,24,6],
+"class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6":[3,0,24,12],
 "class_lo_ra_w_a_n_node.html#af4b3d07cd9bf4178d627204bae18b648":[3,0,24,20],
 "class_module.html":[3,0,34],
 "class_module.html#a085415b49ff72238f118b937ad896cbd":[3,0,34,23],
diff --git a/search/all_6.js b/search/all_6.js
index b201c852..fd6891a3 100644
--- a/search/all_6.js
+++ b/search/all_6.js
@@ -10,7 +10,7 @@ var searchData=
   ['getcs_135',['getCs',['../class_module.html#aa6cac04c7cb6d5278a318db0966ad1a7',1,'Module']]],
   ['getcurrentlimit_136',['getCurrentLimit',['../class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab',1,'SX126x']]],
   ['getdatarate_137',['getDataRate',['../class_l_r11x0.html#a1ec81f3625fdc8a3ef6c54a3804c3aa9',1,'LR11x0::getDataRate()'],['../class_s_x126x.html#acbe2d75b1e2df8bcc58c4fd9d8e6e4f9',1,'SX126x::getDataRate()'],['../class_s_x127x.html#adc25b685de0859b799488bf7729350b6',1,'SX127x::getDataRate()']]],
-  ['getdevaddr_138',['getDevAddr',['../class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452',1,'LoRaWANNode']]],
+  ['getdevaddr_138',['getDevAddr',['../class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6',1,'LoRaWANNode']]],
   ['getfcntup_139',['getFCntUp',['../class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777',1,'LoRaWANNode']]],
   ['getfhsschannel_140',['getFHSSChannel',['../class_s_x127x.html#a56340d1bdc69b3efc64636be39445a9c',1,'SX127x']]],
   ['getfhsshoppingperiod_141',['getFHSSHoppingPeriod',['../class_s_x127x.html#ad7600b8b0aac4d8a5e962d631145b617',1,'SX127x']]],
diff --git a/search/functions_6.js b/search/functions_6.js
index b191216b..5f10ac31 100644
--- a/search/functions_6.js
+++ b/search/functions_6.js
@@ -10,7 +10,7 @@ var searchData=
   ['getcs_819',['getCs',['../class_module.html#aa6cac04c7cb6d5278a318db0966ad1a7',1,'Module']]],
   ['getcurrentlimit_820',['getCurrentLimit',['../class_s_x126x.html#aa668babb0bd129b2facee9fd280525ab',1,'SX126x']]],
   ['getdatarate_821',['getDataRate',['../class_l_r11x0.html#a1ec81f3625fdc8a3ef6c54a3804c3aa9',1,'LR11x0::getDataRate()'],['../class_s_x126x.html#acbe2d75b1e2df8bcc58c4fd9d8e6e4f9',1,'SX126x::getDataRate()'],['../class_s_x127x.html#adc25b685de0859b799488bf7729350b6',1,'SX127x::getDataRate()']]],
-  ['getdevaddr_822',['getDevAddr',['../class_lo_ra_w_a_n_node.html#aa97378ad7b669718fbef529649d03452',1,'LoRaWANNode']]],
+  ['getdevaddr_822',['getDevAddr',['../class_lo_ra_w_a_n_node.html#aee0590cc9123ceac4c822eabed3150c6',1,'LoRaWANNode']]],
   ['getfcntup_823',['getFCntUp',['../class_lo_ra_w_a_n_node.html#ad3217975ef9959ff83ce79dd80b0d777',1,'LoRaWANNode']]],
   ['getfhsschannel_824',['getFHSSChannel',['../class_s_x127x.html#a56340d1bdc69b3efc64636be39445a9c',1,'SX127x']]],
   ['getfhsshoppingperiod_825',['getFHSSHoppingPeriod',['../class_s_x127x.html#ad7600b8b0aac4d8a5e962d631145b617',1,'SX127x']]],