@@ -190,8 +190,10 @@ const char mac_band[] PROGMEM = "band";
190
190
const char mac_ar[] PROGMEM = " ar" ;
191
191
const char mac_rx2[] PROGMEM = " rx2" ;
192
192
const char mac_ch[] PROGMEM = " ch" ;
193
+ const char mac_gwnb[] PROGMEM = " gwnb" ;
194
+ const char mac_mrgn[] PROGMEM = " mrgn" ;
193
195
194
- const char *const mac_options[] PROGMEM = {mac_devaddr, mac_deveui, mac_appeui, mac_nwkskey, mac_appskey, mac_appkey, mac_pwridx, mac_dr, mac_adr, mac_bat, mac_retx, mac_linkchk, mac_rxdelay1, mac_rxdelay2, mac_band, mac_ar, mac_rx2, mac_ch};
196
+ const char *const mac_options[] PROGMEM = {mac_devaddr, mac_deveui, mac_appeui, mac_nwkskey, mac_appskey, mac_appkey, mac_pwridx, mac_dr, mac_adr, mac_bat, mac_retx, mac_linkchk, mac_rxdelay1, mac_rxdelay2, mac_band, mac_ar, mac_rx2, mac_ch, mac_gwnb, mac_mrgn };
195
197
196
198
#define MAC_DEVADDR 0
197
199
#define MAC_DEVEUI 1
@@ -211,6 +213,8 @@ const char *const mac_options[] PROGMEM = {mac_devaddr, mac_deveui, mac_appeui,
211
213
#define MAC_AR 15
212
214
#define MAC_RX2 16
213
215
#define MAC_CH 17
216
+ #define MAC_GWNB 18
217
+ #define MAC_MRGN 19
214
218
215
219
const char mac_join_mode_otaa[] PROGMEM = " otaa" ;
216
220
const char mac_join_mode_abp[] PROGMEM = " abp" ;
@@ -958,3 +962,33 @@ void TheThingsNetwork::sleep(uint32_t mseconds)
958
962
modemStream->write (SEND_MSG);
959
963
debugPrintLn (buffer);
960
964
}
965
+
966
+ void TheThingsNetwork::linkcheck (uint16_t seconds)
967
+ {
968
+ clearReadBuffer ();
969
+ debugPrint (SENDING);
970
+ sendCommand (MAC_TABLE, MAC_PREFIX, true );
971
+ sendCommand (MAC_TABLE, MAC_SET, true );
972
+ sendCommand (MAC_GET_SET_TABLE, MAC_LINKCHK, true );
973
+
974
+ sprintf (buffer, " %u" , seconds);
975
+ modemStream->write (buffer);
976
+ modemStream->write (SEND_MSG);
977
+ debugPrintLn (buffer);
978
+ return waitForOk ();
979
+ }
980
+
981
+ uint8_t TheThingsNetwork::linkcheckMargin ()
982
+ {
983
+ readResponse (MAC_TABLE, MAC_GET_SET_TABLE, MAC_MRGN, buffer, sizeof (buffer));
984
+
985
+ return strtol (buffer, NULL , 10 );
986
+ }
987
+
988
+ uint8_t TheThingsNetwork::linkcheckGateways ()
989
+ {
990
+ readResponse (MAC_TABLE, MAC_GET_SET_TABLE, MAC_GWNB, buffer, sizeof (buffer));
991
+
992
+ return strtol (buffer, NULL , 10 );
993
+ }
994
+
0 commit comments