Skip to content

Commit 4268ff5

Browse files
authored
Update TheThingsNetwork.cpp
1 parent bc2cb7c commit 4268ff5

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

src/TheThingsNetwork.cpp

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,10 @@ const char mac_band[] PROGMEM = "band";
190190
const char mac_ar[] PROGMEM = "ar";
191191
const char mac_rx2[] PROGMEM = "rx2";
192192
const char mac_ch[] PROGMEM = "ch";
193+
const char mac_gwnb[] PROGMEM = "gwnb";
194+
const char mac_mrgn[] PROGMEM = "mrgn";
193195

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};
195197

196198
#define MAC_DEVADDR 0
197199
#define MAC_DEVEUI 1
@@ -211,6 +213,8 @@ const char *const mac_options[] PROGMEM = {mac_devaddr, mac_deveui, mac_appeui,
211213
#define MAC_AR 15
212214
#define MAC_RX2 16
213215
#define MAC_CH 17
216+
#define MAC_GWNB 18
217+
#define MAC_MRGN 19
214218

215219
const char mac_join_mode_otaa[] PROGMEM = "otaa";
216220
const char mac_join_mode_abp[] PROGMEM = "abp";
@@ -958,3 +962,33 @@ void TheThingsNetwork::sleep(uint32_t mseconds)
958962
modemStream->write(SEND_MSG);
959963
debugPrintLn(buffer);
960964
}
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

Comments
 (0)