diff --git a/_lo_ra_w_a_n_8h_source.html b/_lo_ra_w_a_n_8h_source.html
index 0f68dad3..04ed35fc 100644
--- a/_lo_ra_w_a_n_8h_source.html
+++ b/_lo_ra_w_a_n_8h_source.html
@@ -133,13 +133,13 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
45 #define RADIOLIB_LORAWAN_NOPTS_LEN (8)
- 48 #define RADIOLIB_LORAWAN_DATA_RATE_SF_12 (0x06 << 4)
- 49 #define RADIOLIB_LORAWAN_DATA_RATE_SF_11 (0x05 << 4)
- 50 #define RADIOLIB_LORAWAN_DATA_RATE_SF_10 (0x04 << 4)
- 51 #define RADIOLIB_LORAWAN_DATA_RATE_SF_9 (0x03 << 4)
- 52 #define RADIOLIB_LORAWAN_DATA_RATE_SF_8 (0x02 << 4)
- 53 #define RADIOLIB_LORAWAN_DATA_RATE_SF_7 (0x01 << 4)
- 54 #define RADIOLIB_LORAWAN_DATA_RATE_FSK_50_K (0x00 << 4)
+ 48 #define RADIOLIB_LORAWAN_DATA_RATE_FSK_50_K (0x01 << 7)
+ 49 #define RADIOLIB_LORAWAN_DATA_RATE_SF_12 (0x06 << 4)
+ 50 #define RADIOLIB_LORAWAN_DATA_RATE_SF_11 (0x05 << 4)
+ 51 #define RADIOLIB_LORAWAN_DATA_RATE_SF_10 (0x04 << 4)
+ 52 #define RADIOLIB_LORAWAN_DATA_RATE_SF_9 (0x03 << 4)
+ 53 #define RADIOLIB_LORAWAN_DATA_RATE_SF_8 (0x02 << 4)
+ 54 #define RADIOLIB_LORAWAN_DATA_RATE_SF_7 (0x01 << 4)
55 #define RADIOLIB_LORAWAN_DATA_RATE_BW_500_KHZ (0x00 << 0)
56 #define RADIOLIB_LORAWAN_DATA_RATE_BW_250_KHZ (0x01 << 0)
57 #define RADIOLIB_LORAWAN_DATA_RATE_BW_125_KHZ (0x02 << 0)
@@ -218,149 +218,156 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
130 #define RADIOLIB_LORAWAN_MIC_DATA_RATE_POS (3)
131 #define RADIOLIB_LORAWAN_MIC_CH_INDEX_POS (4)
- 133 #define RADIOLIB_LORAWAN_MAGIC (0x12AD101B)
-
-
-
-
-
-
-
-
-
-
-
-
- 157 uint8_t
dataRates[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES];
-
-
-
- 161 #define RADIOLIB_LORAWAN_CHANNEL_SPAN_NONE { .direction = RADIOLIB_LORAWAN_CHANNEL_DIR_NONE, .joinRequestDataRate = RADIOLIB_LORAWAN_DATA_RATE_UNUSED, .numChannels = 0, .freqStart = 0, .freqStep = 0, .dataRates = { 0 } }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 134 #define RADIOLIB_LORAWAN_MAGIC (0x12AD101B)
+
+
+
+
+
+
+
+
+
+
+
+
+ 158 uint8_t
dataRates[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES];
+
+
+
+ 162 #define RADIOLIB_LORAWAN_CHANNEL_SPAN_NONE { .direction = RADIOLIB_LORAWAN_CHANNEL_DIR_NONE, .joinRequestDataRate = RADIOLIB_LORAWAN_DATA_RATE_UNUSED, .numChannels = 0, .freqStart = 0, .freqStep = 0, .dataRates = { 0 } }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- 242 int16_t
beginOTAA(uint64_t appEUI, uint64_t devEUI, uint8_t* nwkKey, uint8_t* appKey,
bool force =
false);
-
- 253 int16_t
beginAPB(uint32_t addr, uint8_t net, uint8_t* nwkSKey, uint8_t* appSKey);
-
- 255 #if defined(RADIOLIB_BUILD_ARDUINO)
- 262 int16_t
uplink(String& str, uint8_t port);
-
-
- 271 int16_t
uplink(
const char* str, uint8_t port);
+
+
+
+
+
+
+ 249 int16_t
beginOTAA(uint64_t appEUI, uint64_t devEUI, uint8_t* nwkKey, uint8_t* appKey,
bool force =
false);
+
+ 261 int16_t
beginAPB(uint32_t addr, uint8_t* nwkSKey, uint8_t* appSKey, uint8_t* fNwkSIntKey = NULL, uint8_t* sNwkSIntkey = NULL);
+
+ 263 #if defined(RADIOLIB_BUILD_ARDUINO)
+ 270 int16_t
uplink(String& str, uint8_t port);
+
- 280 int16_t
uplink(uint8_t* data,
size_t len, uint8_t port);
-
-
+ 279 int16_t
uplink(
const char* str, uint8_t port);
+
+ 288 int16_t
uplink(uint8_t* data,
size_t len, uint8_t port);
- 290 #if !defined(RADIOLIB_GODMODE)
-
-
-
-
-
-
-
-
- 299 uint8_t appSKey[RADIOLIB_AES128_KEY_SIZE];
- 300 uint8_t fNwkSIntKey[RADIOLIB_AES128_KEY_SIZE];
- 301 uint8_t sNwkSIntKey[RADIOLIB_AES128_KEY_SIZE];
- 302 uint8_t nwkSEncKey[RADIOLIB_AES128_KEY_SIZE];
-
- 304 float availableChannelsFreq[5];
- 305 uint16_t availableChannelsMask[6];
-
-
-
-
-
-
-
-
-
-
-
- 317 uint32_t generateMIC(uint8_t* msg,
size_t len, uint8_t* key);
-
-
-
- 321 bool verifyMIC(uint8_t* msg,
size_t len, uint8_t* key);
-
- 323 int16_t setPhyProperties();
-
-
-
- 327 static T ntoh(uint8_t* buff,
size_t size = 0);
-
-
-
- 331 static void hton(uint8_t* buff, T val,
size_t size = 0);
-
-
-
-LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:211
-int16_t beginOTAA(uint64_t appEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey, bool force=false)
Join network by performing over-the-air activation. By this procedure, the device will perform an exc...
Definition: LoRaWAN.cpp:49
-void wipe()
Wipe internal persistent parameters. This will reset all counters and saved variables,...
Definition: LoRaWAN.cpp:23
-int16_t beginAPB(uint32_t addr, uint8_t net, uint8_t *nwkSKey, uint8_t *appSKey)
Join network by performing activation by personalization. In this procedure, all necessary configurat...
Definition: LoRaWAN.cpp:227
+
+
+ 298 #if !defined(RADIOLIB_GODMODE)
+
+
+
+
+
+
+
+
+ 307 uint8_t appSKey[RADIOLIB_AES128_KEY_SIZE];
+ 308 uint8_t fNwkSIntKey[RADIOLIB_AES128_KEY_SIZE];
+ 309 uint8_t sNwkSIntKey[RADIOLIB_AES128_KEY_SIZE];
+ 310 uint8_t nwkSEncKey[RADIOLIB_AES128_KEY_SIZE];
+
+ 312 float availableChannelsFreq[5];
+ 313 uint16_t availableChannelsMask[6];
+
+
+
+
+
+
+
+
+
+
+
+ 325 uint32_t generateMIC(uint8_t* msg,
size_t len, uint8_t* key);
+
+
+
+ 329 bool verifyMIC(uint8_t* msg,
size_t len, uint8_t* key);
+
+ 331 int16_t setPhyProperties();
+
+
+
+ 335 static T ntoh(uint8_t* buff,
size_t size = 0);
+
+
+
+ 339 static void hton(uint8_t* buff, T val,
size_t size = 0);
+
+
+
+LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:215
+bool FSK
Set to true to force the node to only use FSK channels. Set to false by default.
Definition: LoRaWAN.h:218
+int16_t beginOTAA(uint64_t appEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey, bool force=false)
Join network by performing over-the-air activation. By this procedure, the device will perform an exc...
Definition: LoRaWAN.cpp:50
+void wipe()
Wipe internal persistent parameters. This will reset all counters and saved variables,...
Definition: LoRaWAN.cpp:24
LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band)
Default constructor.
Definition: LoRaWAN.cpp:18
-int16_t configureChannel(uint8_t chan, uint8_t dr)
Configure the radio to a given channel frequency and data rate.
Definition: LoRaWAN.cpp:366
-int16_t uplink(const char *str, uint8_t port)
Send a message to the server.
Definition: LoRaWAN.cpp:240
-int16_t begin()
Join network by loading information from persistent storage.
Definition: LoRaWAN.cpp:28
+int16_t beginAPB(uint32_t addr, uint8_t *nwkSKey, uint8_t *appSKey, uint8_t *fNwkSIntKey=NULL, uint8_t *sNwkSIntkey=NULL)
Join network by performing activation by personalization. In this procedure, all necessary configurat...
Definition: LoRaWAN.cpp:234
+int16_t configureChannel(uint8_t chan, uint8_t dr)
Configure the radio to a given channel frequency and data rate.
Definition: LoRaWAN.cpp:385
+int16_t uplink(const char *str, uint8_t port)
Send a message to the server.
Definition: LoRaWAN.cpp:259
+int16_t begin()
Join network by loading information from persistent storage.
Definition: LoRaWAN.cpp:29
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:33
-Structure to save information about LoRaWAN band.
Definition: LoRaWAN.h:167
-uint8_t cfListType
Whether the optional channels are defined as list of frequencies or bit mask.
Definition: LoRaWAN.h:184
-LoRaWANChannelSpan_t backupChannel
Backup downlink (RX2) channel - just a single channel, but using the same structure for convenience.
Definition: LoRaWAN.h:193
-uint8_t downlinkDataRateBase
The base downlink data rate. Used to calculate data rate changes for adaptive data rate.
Definition: LoRaWAN.h:169
-int8_t powerMax
Maximum allowed output power in this band in dBm.
Definition: LoRaWAN.h:178
-LoRaWANChannelSpan_t defaultChannels[3]
Default uplink (TX/RX1) channels defined by LoRaWAN Regional Parameters.
Definition: LoRaWAN.h:190
-uint8_t payloadLenMax[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES]
Array of allowed maximum payload lengths for each data rate.
Definition: LoRaWAN.h:175
-int8_t powerNumSteps
Number of power steps in this band.
Definition: LoRaWAN.h:181
-uint8_t numChannelSpans
Number of channel spans in the band.
Definition: LoRaWAN.h:187
-uint8_t downlinkDataRateMin
The minimum allowed downlink data rate. Used to calculate data rate changes for adaptive data rate.
Definition: LoRaWAN.h:172
-Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "...
Definition: LoRaWAN.h:140
-uint8_t joinRequestDataRate
Allowed data rates for a join request message.
Definition: LoRaWAN.h:145
-float freqStart
Center frequency of the first channel in span.
Definition: LoRaWAN.h:151
-uint8_t numChannels
Total number of channels in the span.
Definition: LoRaWAN.h:148
-uint8_t dataRates[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES]
Array of datarates supported by all channels in the span.
Definition: LoRaWAN.h:157
-float freqStep
Frequency step between adjacent channels.
Definition: LoRaWAN.h:154
-uint8_t direction
Whether this channel span is for uplink, downlink, or both directions.
Definition: LoRaWAN.h:142
+Structure to save information about LoRaWAN band.
Definition: LoRaWAN.h:168
+uint8_t cfListType
Whether the optional channels are defined as list of frequencies or bit mask.
Definition: LoRaWAN.h:185
+LoRaWANChannelSpan_t backupChannel
Backup downlink (RX2) channel - just a single channel, but using the same structure for convenience.
Definition: LoRaWAN.h:197
+uint8_t downlinkDataRateBase
The base downlink data rate. Used to calculate data rate changes for adaptive data rate.
Definition: LoRaWAN.h:170
+int8_t powerMax
Maximum allowed output power in this band in dBm.
Definition: LoRaWAN.h:179
+LoRaWANChannelSpan_t defaultChannels[3]
Default uplink (TX/RX1) channels defined by LoRaWAN Regional Parameters.
Definition: LoRaWAN.h:194
+uint8_t payloadLenMax[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES]
Array of allowed maximum payload lengths for each data rate.
Definition: LoRaWAN.h:176
+int8_t powerNumSteps
Number of power steps in this band.
Definition: LoRaWAN.h:182
+float fskFreq
FSK channel frequency.
Definition: LoRaWAN.h:188
+uint8_t numChannelSpans
Number of channel spans in the band.
Definition: LoRaWAN.h:191
+uint8_t downlinkDataRateMin
The minimum allowed downlink data rate. Used to calculate data rate changes for adaptive data rate.
Definition: LoRaWAN.h:173
+Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "...
Definition: LoRaWAN.h:141
+uint8_t joinRequestDataRate
Allowed data rates for a join request message.
Definition: LoRaWAN.h:146
+float freqStart
Center frequency of the first channel in span.
Definition: LoRaWAN.h:152
+uint8_t numChannels
Total number of channels in the span.
Definition: LoRaWAN.h:149
+uint8_t dataRates[RADIOLIB_LORAWAN_CHANNEL_NUM_DATARATES]
Array of datarates supported by all channels in the span.
Definition: LoRaWAN.h:158
+float freqStep
Frequency step between adjacent channels.
Definition: LoRaWAN.h:155
+uint8_t direction
Whether this channel span is for uplink, downlink, or both directions.
Definition: LoRaWAN.h:143
diff --git a/_physical_layer_8h_source.html b/_physical_layer_8h_source.html
index c239296a..b21f440a 100644
--- a/_physical_layer_8h_source.html
+++ b/_physical_layer_8h_source.html
@@ -280,7 +280,7 @@ $(document).ready(function(){initNavTree('_physical_layer_8h_source.html',''); i
Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
Client for FSK-4 communication. The public interface is the same as Arduino Serial.
Definition: FSK4.h:15
Client for Hellschreiber transmissions.
Definition: Hellschreiber.h:90
-LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:211
+LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:215
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
Client for Morse Code communication. The public interface is the same as Arduino Serial.
Definition: Morse.h:93
diff --git a/class_lo_ra_w_a_n_node-members.html b/class_lo_ra_w_a_n_node-members.html
index 283ce475..7df5baae 100644
--- a/class_lo_ra_w_a_n_node-members.html
+++ b/class_lo_ra_w_a_n_node-members.html
@@ -90,13 +90,14 @@ $(document).ready(function(){initNavTree('class_lo_ra_w_a_n_node.html',''); init
This is the complete list of members for LoRaWANNode, including all inherited members.
begin() | LoRaWANNode | |
- beginAPB(uint32_t addr, uint8_t net, uint8_t *nwkSKey, uint8_t *appSKey) | LoRaWANNode | |
+ beginAPB(uint32_t addr, uint8_t *nwkSKey, uint8_t *appSKey, uint8_t *fNwkSIntKey=NULL, uint8_t *sNwkSIntkey=NULL) | LoRaWANNode | |
beginOTAA(uint64_t appEUI, uint64_t devEUI, uint8_t *nwkKey, uint8_t *appKey, bool force=false) | LoRaWANNode | |
configureChannel(uint8_t chan, uint8_t dr) | LoRaWANNode | |
- LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band) | LoRaWANNode | |
- uplink(const char *str, uint8_t port) | LoRaWANNode | |
- uplink(uint8_t *data, size_t len, uint8_t port) | LoRaWANNode | |
- wipe() | LoRaWANNode | |
+ FSK | LoRaWANNode | |
+ LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band) | LoRaWANNode | |
+ uplink(const char *str, uint8_t port) | LoRaWANNode | |
+ uplink(uint8_t *data, size_t len, uint8_t port) | LoRaWANNode | |
+ wipe() | LoRaWANNode | |
diff --git a/class_lo_ra_w_a_n_node.html b/class_lo_ra_w_a_n_node.html
index 592ed419..1f7e95f0 100644
--- a/class_lo_ra_w_a_n_node.html
+++ b/class_lo_ra_w_a_n_node.html
@@ -84,6 +84,7 @@ $(document).ready(function(){initNavTree('class_lo_ra_w_a_n_node.html',''); init
diff --git a/struct_lo_ra_w_a_n_band__t.html b/struct_lo_ra_w_a_n_band__t.html
index 59574dd6..cb23d12d 100644
--- a/struct_lo_ra_w_a_n_band__t.html
+++ b/struct_lo_ra_w_a_n_band__t.html
@@ -121,6 +121,10 @@ int8_t cfListType |
| Whether the optional channels are defined as list of frequencies or bit mask.
|
|
+
+float | fskFreq |
+ | FSK channel frequency.
|
+ |
uint8_t | numChannelSpans |
| Number of channel spans in the band.
|
diff --git a/struct_lo_ra_w_a_n_band__t.js b/struct_lo_ra_w_a_n_band__t.js
index 9e8274b4..bb4d5e5e 100644
--- a/struct_lo_ra_w_a_n_band__t.js
+++ b/struct_lo_ra_w_a_n_band__t.js
@@ -5,6 +5,7 @@ var struct_lo_ra_w_a_n_band__t =
[ "defaultChannels", "struct_lo_ra_w_a_n_band__t.html#a9435bba595e2139c09fd46fd619390a9", null ],
[ "downlinkDataRateBase", "struct_lo_ra_w_a_n_band__t.html#a43a53c935e0ac482027a22e9c58ed8ed", null ],
[ "downlinkDataRateMin", "struct_lo_ra_w_a_n_band__t.html#ac885c9beda28b2fcacac002ebfeaf358", null ],
+ [ "fskFreq", "struct_lo_ra_w_a_n_band__t.html#abe8ccbc940eae22ed5d9f6e7cc929e74", null ],
[ "numChannelSpans", "struct_lo_ra_w_a_n_band__t.html#ac469294eedf3ff6f621b9adef382a0c3", null ],
[ "payloadLenMax", "struct_lo_ra_w_a_n_band__t.html#a9b8143ac9bbf3ed45e7cc80fc71ce055", null ],
[ "powerMax", "struct_lo_ra_w_a_n_band__t.html#a43fdafd540c93348f9b4a8958e021a4c", null ],