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;
889  uint8_t nbTrans = 1; // Number of allowed frame retransmissions
-
890  uint8_t txPowerCur = 0;
+
890  uint8_t txPowerSteps = 0;
891  uint8_t txPowerMax = 0;
892  uint32_t fCntUp = 0;
893  uint32_t aFCntDown = 0;
@@ -646,179 +646,176 @@ $(document).ready(function(){initNavTree('_lo_ra_w_a_n_8h_source.html',''); init
899  // whether the current configured channel is in FSK mode
900  bool FSK = false;
901 
-
902  // flag that shows whether the device is joined and there is an ongoing session (none, ABP or OTAA)
-
903  uint16_t activeMode = RADIOLIB_LW_MODE_NONE;
+
902  // ADR is enabled by default
+
903  bool adrEnabled = true;
904 
-
905  // ADR is enabled by default
-
906  bool adrEnabled = true;
-
907 
-
908  // duty cycle is set upon initialization and activated in regions that impose this
-
909  bool dutyCycleEnabled = false;
-
910  uint32_t dutyCycle = 0;
-
911 
-
912  // dwell time is set upon initialization and activated in regions that impose this
-
913  bool dwellTimeEnabledUp = false;
-
914  uint16_t dwellTimeUp = 0;
-
915  bool dwellTimeEnabledDn = false;
-
916  uint16_t dwellTimeDn = 0;
-
917 
-
918  // enable/disable CSMA for LoRaWAN
-
919  bool enableCSMA;
-
920 
-
921  // number of backoff slots to be decremented after DIFS phase. 0 to disable BO.
-
922  // A random BO avoids collisions in the case where two or more nodes start the CSMA
-
923  // process at the same time.
-
924  uint8_t backoffMax;
-
925 
-
926  // number of CADs to estimate a clear CH
-
927  uint8_t difsSlots;
+
905  // duty cycle is set upon initialization and activated in regions that impose this
+
906  bool dutyCycleEnabled = false;
+
907  uint32_t dutyCycle = 0;
+
908 
+
909  // dwell time is set upon initialization and activated in regions that impose this
+
910  bool dwellTimeEnabledUp = false;
+
911  uint16_t dwellTimeUp = 0;
+
912  bool dwellTimeEnabledDn = false;
+
913  uint16_t dwellTimeDn = 0;
+
914 
+
915  // enable/disable CSMA for LoRaWAN
+
916  bool enableCSMA;
+
917 
+
918  // number of backoff slots to be decremented after DIFS phase. 0 to disable BO.
+
919  // A random BO avoids collisions in the case where two or more nodes start the CSMA
+
920  // process at the same time.
+
921  uint8_t backoffMax;
+
922 
+
923  // number of CADs to estimate a clear CH
+
924  uint8_t difsSlots;
+
925 
+
926  // available channel frequencies from list passed during OTA activation
+
927  LoRaWANChannel_t availableChannels[2][RADIOLIB_LW_NUM_AVAILABLE_CHANNELS];
928 
-
929  // available channel frequencies from list passed during OTA activation
-
930  LoRaWANChannel_t availableChannels[2][RADIOLIB_LW_NUM_AVAILABLE_CHANNELS];
+
929  // currently configured channels for TX and RX1
+
930  LoRaWANChannel_t currentChannels[2] = { RADIOLIB_LW_CHANNEL_NONE, RADIOLIB_LW_CHANNEL_NONE };
931 
-
932  // currently configured channels for TX and RX1
-
933  LoRaWANChannel_t currentChannels[2] = { RADIOLIB_LW_CHANNEL_NONE, RADIOLIB_LW_CHANNEL_NONE };
+
932  // currently configured datarates for TX and RX1
+
933  uint8_t dataRates[2] = { RADIOLIB_LW_DATA_RATE_UNUSED, RADIOLIB_LW_DATA_RATE_UNUSED };
934 
-
935  // currently configured datarates for TX and RX1
-
936  uint8_t dataRates[2] = { RADIOLIB_LW_DATA_RATE_UNUSED, RADIOLIB_LW_DATA_RATE_UNUSED };
+
935  // LoRaWAN revision (1.0 vs 1.1)
+
936  uint8_t rev = 0;
937 
-
938  // LoRaWAN revision (1.0 vs 1.1)
-
939  uint8_t rev = 0;
+
938  // Time on Air of last uplink
+
939  RadioLibTime_t lastToA = 0;
940 
-
941  // Time on Air of last uplink
-
942  RadioLibTime_t lastToA = 0;
+
941  // timestamp to measure the RX1/2 delay (from uplink end)
+
942  RadioLibTime_t rxDelayStart = 0;
943 
-
944  // timestamp to measure the RX1/2 delay (from uplink end)
-
945  RadioLibTime_t rxDelayStart = 0;
+
944  // timestamp when the Rx1/2 windows were closed (timeout or uplink received)
+
945  RadioLibTime_t rxDelayEnd = 0;
946 
-
947  // timestamp when the Rx1/2 windows were closed (timeout or uplink received)
-
948  RadioLibTime_t rxDelayEnd = 0;
+
947  // delays between the uplink and RX1/2 windows
+
948  RadioLibTime_t rxDelays[2] = { RADIOLIB_LW_RECEIVE_DELAY_1_MS, RADIOLIB_LW_RECEIVE_DELAY_2_MS };
949 
-
950  // delays between the uplink and RX1/2 windows
-
951  RadioLibTime_t rxDelays[2] = { RADIOLIB_LW_RECEIVE_DELAY_1_MS, RADIOLIB_LW_RECEIVE_DELAY_2_MS };
+
950  // device status - battery level
+
951  uint8_t battLevel = 0xFF;
952 
-
953  // device status - battery level
-
954  uint8_t battLevel = 0xFF;
+
953  // indicates whether an uplink has MAC commands as payload
+
954  bool isMACPayload = false;
955 
-
956  // indicates whether an uplink has MAC commands as payload
-
957  bool isMACPayload = false;
+
956  // save the selected sub-band in case this must be restored in ADR control
+
957  uint8_t subBand = 0;
958 
-
959  // save the selected sub-band in case this must be restored in ADR control
-
960  uint8_t subBand = 0;
+
959  // wait for, open and listen during Rx1 and Rx2 windows; only performs listening
+
960  int16_t downlinkCommon();
961 
-
962  // wait for, open and listen during Rx1 and Rx2 windows; only performs listening
-
963  int16_t downlinkCommon();
+
962  // method to generate message integrity code
+
963  uint32_t generateMIC(uint8_t* msg, size_t len, uint8_t* key);
964 
-
965  // method to generate message integrity code
-
966  uint32_t generateMIC(uint8_t* msg, size_t len, uint8_t* key);
-
967 
-
968  // method to verify message integrity code
-
969  // it assumes that the MIC is the last 4 bytes of the message
-
970  bool verifyMIC(uint8_t* msg, size_t len, uint8_t* key);
-
971 
-
972  // configure the common physical layer properties (preamble, sync word etc.)
-
973  // channels must be configured separately by setupChannelsDyn()!
-
974  int16_t setPhyProperties(uint8_t dir);
-
975 
-
976  // setup uplink/downlink channel data rates and frequencies
-
977  // for dynamic channels, there is a small set of predefined channels
-
978  // in case of JoinRequest, add some optional extra frequencies
-
979  int16_t setupChannelsDyn(bool joinRequest = false);
-
980 
-
981  // setup uplink/downlink channel data rates and frequencies
-
982  // for fixed bands, we only allow one sub-band at a time to be selected
-
983  int16_t setupChannelsFix(uint8_t subBand);
+
965  // method to verify message integrity code
+
966  // it assumes that the MIC is the last 4 bytes of the message
+
967  bool verifyMIC(uint8_t* msg, size_t len, uint8_t* key);
+
968 
+
969  // configure the common physical layer properties (preamble, sync word etc.)
+
970  // channels must be configured separately by setupChannelsDyn()!
+
971  int16_t setPhyProperties(uint8_t dir);
+
972 
+
973  // setup uplink/downlink channel data rates and frequencies
+
974  // for dynamic channels, there is a small set of predefined channels
+
975  // in case of JoinRequest, add some optional extra frequencies
+
976  int16_t setupChannelsDyn(bool joinRequest = false);
+
977 
+
978  // setup uplink/downlink channel data rates and frequencies
+
979  // for fixed bands, we only allow one sub-band at a time to be selected
+
980  int16_t setupChannelsFix(uint8_t subBand);
+
981 
+
982  // a join-accept can piggy-back a set of channels or channel masks
+
983  int16_t processCFList(uint8_t* cfList);
984 
-
985  // a join-accept can piggy-back a set of channels or channel masks
-
986  int16_t processCFList(uint8_t* cfList);
+
985  // select a set of random TX/RX channels for up- and downlink
+
986  int16_t selectChannels();
987 
-
988  // select a set of random TX/RX channels for up- and downlink
-
989  int16_t selectChannels();
+
988  // find the first usable data rate for the given band
+
989  int16_t findDataRate(uint8_t dr, DataRate_t* dataRate);
990 
-
991  // find the first usable data rate for the given band
-
992  int16_t findDataRate(uint8_t dr, DataRate_t* dataRate);
+
991  // restore all available channels from persistent storage
+
992  int16_t restoreChannels();
993 
-
994  // restore all available channels from persistent storage
-
995  int16_t restoreChannels();
+
994  // push MAC command to queue, done by copy
+
995  int16_t pushMacCommand(LoRaWANMacCommand_t* cmd, LoRaWANMacCommandQueue_t* queue);
996 
-
997  // push MAC command to queue, done by copy
-
998  int16_t pushMacCommand(LoRaWANMacCommand_t* cmd, LoRaWANMacCommandQueue_t* queue);
-
999 
-
1000  // delete a specific MAC command from queue, indicated by the command ID
-
1001  // if a payload pointer is supplied, this returns the payload of the MAC command
-
1002  int16_t deleteMacCommand(uint8_t cid, LoRaWANMacCommandQueue_t* queue, uint8_t* payload = NULL);
+
997  // delete a specific MAC command from queue, indicated by the command ID
+
998  // if a payload pointer is supplied, this returns the payload of the MAC command
+
999  int16_t deleteMacCommand(uint8_t cid, LoRaWANMacCommandQueue_t* queue, uint8_t* payload = NULL);
+
1000 
+
1001  // execute mac command, return the number of processed bytes for sequential processing
+
1002  bool execMacCommand(LoRaWANMacCommand_t* cmd);
1003 
-
1004  // execute mac command, return the number of processed bytes for sequential processing
-
1005  bool execMacCommand(LoRaWANMacCommand_t* cmd);
+
1004  // apply a channel mask to a set of readily defined channels (dynamic bands only)
+
1005  bool applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);
1006 
-
1007  // apply a channel mask to a set of readily defined channels (dynamic bands only)
-
1008  bool applyChannelMaskDyn(uint8_t chMaskCntl, uint16_t chMask);
+
1007  // define or delete channels from a fixed set of channels (fixed bands only)
+
1008  bool applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);
1009 
-
1010  // define or delete channels from a fixed set of channels (fixed bands only)
-
1011  bool applyChannelMaskFix(uint8_t chMaskCntl, uint16_t chMask);
-
1012 
-
1013  // get the payload length for a specific MAC command
-
1014  uint8_t getMacPayloadLength(uint8_t cid);
-
1015 
-
1022  void setCSMA(uint8_t backoffMax, uint8_t difsSlots, bool enableCSMA = false);
+
1010  // get the payload length for a specific MAC command
+
1011  uint8_t getMacPayloadLength(uint8_t cid);
+
1012 
+
1019  void setCSMA(uint8_t backoffMax, uint8_t difsSlots, bool enableCSMA = false);
+
1020 
+
1021  // Performs CSMA as per LoRa Alliance Technical Recommendation 13 (TR-013).
+
1022  void performCSMA();
1023 
-
1024  // Performs CSMA as per LoRa Alliance Technical Recommendation 13 (TR-013).
-
1025  void performCSMA();
+
1024  // perform a single CAD operation for the under SF/CH combination. Returns either busy or otherwise.
+
1025  bool performCAD();
1026 
-
1027  // perform a single CAD operation for the under SF/CH combination. Returns either busy or otherwise.
-
1028  bool performCAD();
+
1027  // function to encrypt and decrypt payloads
+
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);
1029 
-
1030  // function to encrypt and decrypt payloads
-
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);
+
1030  // 16-bit checksum method that takes a uint8_t array of even length and calculates the checksum
+
1031  static uint16_t checkSum16(uint8_t *key, uint16_t keyLen);
1032 
-
1033  // 16-bit checksum method that takes a uint8_t array of even length and calculates the checksum
-
1034  static uint16_t checkSum16(uint8_t *key, uint16_t keyLen);
-
1035 
-
1036  // network-to-host conversion method - takes data from network packet and converts it to the host endians
-
1037  template<typename T>
-
1038  static T ntoh(uint8_t* buff, size_t size = 0);
-
1039 
-
1040  // host-to-network conversion method - takes data from host variable and and converts it to network packet endians
-
1041  template<typename T>
-
1042  static void hton(uint8_t* buff, T val, size_t size = 0);
-
1043 };
-
1044 
-
1045 #endif
+
1033  // network-to-host conversion method - takes data from network packet and converts it to the host endians
+
1034  template<typename T>
+
1035  static T ntoh(uint8_t* buff, size_t size = 0);
+
1036 
+
1037  // host-to-network conversion method - takes data from host variable and and converts it to network packet endians
+
1038  template<typename T>
+
1039  static void hton(uint8_t* buff, T val, size_t size = 0);
+
1040 };
+
1041 
+
1042 #endif
LoRaWANNode
LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:498
LoRaWANNode::setBufferNonces
int16_t setBufferNonces(uint8_t *persistentBuffer)
Fill the internal buffer that holds the LW base parameters with a supplied buffer.
Definition: LoRaWAN.cpp:56
-
LoRaWANNode::setDatarate
int16_t setDatarate(uint8_t drUp)
Set uplink datarate. This should not be used when ADR is enabled.
Definition: LoRaWAN.cpp:1925
-
LoRaWANNode::uplink
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
-
LoRaWANNode::maxPayloadDwellTime
uint8_t maxPayloadDwellTime()
Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...
Definition: LoRaWAN.cpp:2005
-
LoRaWANNode::beginABP
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
-
LoRaWANNode::setDutyCycle
void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)
Toggle adherence to dutyCycle limits to on or off.
Definition: LoRaWAN.cpp:1966
-
LoRaWANNode::timeUntilUplink
RadioLibTime_t timeUntilUplink()
Returns time in milliseconds until next uplink is available under dutyCycle limits.
Definition: LoRaWAN.cpp:1987
-
LoRaWANNode::setDeviceStatus
void setDeviceStatus(uint8_t battLevel)
Set device status.
Definition: LoRaWAN.cpp:1619
-
LoRaWANNode::dutyCycleInterval
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
-
LoRaWANNode::setDwellTime
void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)
Toggle adherence to dwellTime limits to on or off.
Definition: LoRaWAN.cpp:1996
-
LoRaWANNode::getAFCntDown
uint32_t getAFCntDown()
Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.
Definition: LoRaWAN.cpp:1635
-
LoRaWANNode::getLastToA
RadioLibTime_t getLastToA()
Get the Time-on-air of the last uplink message.
Definition: LoRaWAN.cpp:2813
+
LoRaWANNode::setDatarate
int16_t setDatarate(uint8_t drUp)
Set uplink datarate. This should not be used when ADR is enabled.
Definition: LoRaWAN.cpp:1927
+
LoRaWANNode::uplink
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
+
LoRaWANNode::maxPayloadDwellTime
uint8_t maxPayloadDwellTime()
Returns the maximum payload given the currently present dwell time limits. WARNING: the addition of M...
Definition: LoRaWAN.cpp:2007
+
LoRaWANNode::beginABP
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
+
LoRaWANNode::setDutyCycle
void setDutyCycle(bool enable=true, RadioLibTime_t msPerHour=0)
Toggle adherence to dutyCycle limits to on or off.
Definition: LoRaWAN.cpp:1968
+
LoRaWANNode::timeUntilUplink
RadioLibTime_t timeUntilUplink()
Returns time in milliseconds until next uplink is available under dutyCycle limits.
Definition: LoRaWAN.cpp:1989
+
LoRaWANNode::setDeviceStatus
void setDeviceStatus(uint8_t battLevel)
Set device status.
Definition: LoRaWAN.cpp:1621
+
LoRaWANNode::dutyCycleInterval
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
+
LoRaWANNode::setDwellTime
void setDwellTime(bool enable, RadioLibTime_t msPerUplink=0)
Toggle adherence to dwellTime limits to on or off.
Definition: LoRaWAN.cpp:1998
+
LoRaWANNode::getAFCntDown
uint32_t getAFCntDown()
Returns the last application downlink's frame counter; also 0 if no application downlink occured yet.
Definition: LoRaWAN.cpp:1637
+
LoRaWANNode::getLastToA
RadioLibTime_t getLastToA()
Get the Time-on-air of the last uplink message.
Definition: LoRaWAN.cpp:2815
LoRaWANNode::restore
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
-
LoRaWANNode::saveSession
int16_t saveSession()
Save the current state of the session to the session buffer.
Definition: LoRaWAN.cpp:809
+
LoRaWANNode::saveSession
int16_t saveSession()
Save the current state of the session to the session buffer.
Definition: LoRaWAN.cpp:804
LoRaWANNode::getBufferNonces
uint8_t * getBufferNonces()
Returns the pointer to the internal buffer that holds the LW base parameters.
Definition: LoRaWAN.cpp:52
-
LoRaWANNode::sendReceive
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
-
LoRaWANNode::beginOTAA
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
+
LoRaWANNode::sendReceive
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
+
LoRaWANNode::beginOTAA
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
LoRaWANNode::getBufferSession
uint8_t * getBufferSession()
Returns the pointer to the internal buffer that holds the LW session parameters.
Definition: LoRaWAN.cpp:74
LoRaWANNode::wipe
void wipe()
Wipe internal persistent parameters. This will reset all counters and saved variables,...
Definition: LoRaWAN.cpp:47
-
LoRaWANNode::setTxPower
int16_t setTxPower(int8_t txPower)
Configure TX power of the radio module.
Definition: LoRaWAN.cpp:2026
-
LoRaWANNode::getMacDeviceTimeAns
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
-
LoRaWANNode::getNFCntDown
uint32_t getNFCntDown()
Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.
Definition: LoRaWAN.cpp:1631
-
LoRaWANNode::getDevAddr
uint64_t getDevAddr()
Returns the DevAddr of the device, regardless of OTAA or ABP mode.
Definition: LoRaWAN.cpp:2809
-
LoRaWANNode::downlink
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
+
LoRaWANNode::setTxPower
int16_t setTxPower(int8_t txPower)
Configure TX power of the radio module.
Definition: LoRaWAN.cpp:2028
+
LoRaWANNode::getMacDeviceTimeAns
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
+
LoRaWANNode::getNFCntDown
uint32_t getNFCntDown()
Returns the last network downlink's frame counter; also 0 if no network downlink occured yet.
Definition: LoRaWAN.cpp:1633
+
LoRaWANNode::getDevAddr
uint64_t getDevAddr()
Returns the DevAddr of the device, regardless of OTAA or ABP mode.
Definition: LoRaWAN.cpp:2811
+
LoRaWANNode::downlink
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
LoRaWANNode::setBufferSession
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::LoRaWANNode
LoRaWANNode(PhysicalLayer *phy, const LoRaWANBand_t *band, uint8_t subBand=0)
Default constructor.
Definition: LoRaWAN.cpp:30
LoRaWANNode::rx1DrOffset
uint8_t rx1DrOffset
Offset between TX and RX1 (such that RX1 has equal or lower DR)
Definition: LoRaWAN.h:502
-
LoRaWANNode::getFCntUp
uint32_t getFCntUp()
Returns the last uplink's frame counter; also 0 if no uplink occured yet.
Definition: LoRaWAN.cpp:1624
-
LoRaWANNode::sendMacCommandReq
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
-
LoRaWANNode::getMacLinkCheckAns
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
-
LoRaWANNode::setADR
void setADR(bool enable=true)
Toggle ADR to on or off.
Definition: LoRaWAN.cpp:1962
+
LoRaWANNode::getFCntUp
uint32_t getFCntUp()
Returns the last uplink's frame counter; also 0 if no uplink occured yet.
Definition: LoRaWAN.cpp:1626
+
LoRaWANNode::sendMacCommandReq
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
+
LoRaWANNode::getMacLinkCheckAns
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
+
LoRaWANNode::setADR
void setADR(bool enable=true)
Toggle ADR to on or off.
Definition: LoRaWAN.cpp:1964
LoRaWANNode::rx2
LoRaWANChannel_t rx2
RX2 channel properties - may be changed by MAC command.
Definition: LoRaWAN.h:505
-
LoRaWANNode::resetFCntDown
void resetFCntDown()
Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...
Definition: LoRaWAN.cpp:1639
-
LoRaWANNode::isJoined
bool isJoined()
Whether there is an ongoing session active.
Definition: LoRaWAN.cpp:805
+
LoRaWANNode::resetFCntDown
void resetFCntDown()
Reset the downlink frame counters (application and network) This is unsafe and can possibly allow rep...
Definition: LoRaWAN.cpp:1641
+
LoRaWANNode::isJoined
bool isJoined()
Whether there is an ongoing session active.
Definition: LoRaWAN.cpp:800
PhysicalLayer
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:54
RadioLibTime_t
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition: TypeDef.h:579
LoRaWANBand_t
Structure to save information about LoRaWAN band.
Definition: LoRaWAN.h:379