Commit dfc57250 authored by Eric Duminil's avatar Eric Duminil
Browse files

Not sure about this, let's try

parent 16097a29
......@@ -98,6 +98,12 @@ namespace lorawan {
u1_t nwkKey[16];
u1_t artKey[16];
LMIC_getSessionKeys(&netid, &devaddr, nwkKey, artKey);
config::lora_session_saved = true;
config::lora_netid = netid;
config::lora_devaddr = devaddr;
memcpy(config::lorawan_nwk_key, nwkKey, 16);
memcpy(config::lorawan_art_key, artKey, 16);
config::save();
//NOTE: Saving session to EEPROM seems like a good idea at first, but unfortunately: too much info is needed, and a counter would need to be save every single time data is sent.
Serial.print(F(" netid: "));
Serial.println(netid, DEC);
......
......@@ -143,6 +143,22 @@ namespace web_config {
LORAWAN_APPLICATION_EUI).build();
PasswordTParameter<33> appKeyParam = Builder<PasswordTParameter<33>>("app_key").label("App key (MSB)").defaultValue(
LORAWAN_APPLICATION_KEY).build();
CheckboxTParameter savedLoraSession =
Builder<CheckboxTParameter>("lora_session").label("LoRa session has been saved?").defaultValue(false).build();
// u4_t netid = 0;
// devaddr_t devaddr = 0;
// u1_t nwkKey[16];
// u1_t artKey[16];
// LMIC_getSessionKeys(&netid, &devaddr, nwkKey, artKey);
IntTParameter<uint32_t> savedLoraNetIdParam =
Builder<IntTParameter<uint32_t>>("netid").label("netid").defaultValue(0).placeholder("?").build();
IntTParameter<uint32_t> savedDevaddrParam =
Builder<IntTParameter<uint32_t>>("devaddr").label("devaddr").defaultValue(0).placeholder("?").build();
PasswordTParameter<17> nwkKeyParam = Builder<PasswordTParameter<17>>("nwkKey").label("nwkKey").defaultValue("").build();
PasswordTParameter<17> artKeyParam = Builder<PasswordTParameter<17>>("artKey").label("artKey").defaultValue("").build();
#endif
OptionalGroupHtmlFormatProvider optionalGroupHtmlFormatProvider;
......@@ -209,6 +225,15 @@ namespace web_config {
loraParams.addItem(&deviceEUIParam);
loraParams.addItem(&appEUIParam);
loraParams.addItem(&appKeyParam);
//TODO : Test
//TODO : Hide some.
//TODO : rename
loraParams.addItem(&savedLoraSession);
loraParams.addItem(&savedLoraNetIdParam);
loraParams.addItem(&savedDevaddrParam);
loraParams.addItem(&nwkKeyParam);
loraParams.addItem(&artKeyParam);
#endif
iotWebConf->addParameterGroup(&co2Params);
......@@ -335,5 +360,11 @@ namespace config {
char *lorawan_device_eui = web_config::deviceEUIParam.value();
char *lorawan_app_key = web_config::appKeyParam.value();
char *lorawan_app_eui = web_config::appEUIParam.value();
bool &lora_session_saved = web_config::savedLoraSession.value();
uint32_t &lora_netid = web_config::savedLoraNetIdParam.value();
uint32_t &lora_devaddr = web_config::savedDevaddrParam.value();
char *lorawan_nwk_key = web_config::nwkKeyParam.value();
char *lorawan_art_key = web_config::artKeyParam.value();
#endif
}
......@@ -58,6 +58,12 @@ namespace config {
extern char *lorawan_device_eui;
extern char *lorawan_app_key;
extern char *lorawan_app_eui;
extern bool &lora_session_saved;
extern uint32_t &lora_netid;
extern uint32_t &lora_devaddr;
extern char *lorawan_nwk_key;
extern char *lorawan_art_key;
#endif
// Transmission rate
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment