|
|
@ -51,7 +51,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { |
|
|
file.read((uint8_t *) &_prefs->sf, sizeof(_prefs->sf)); // 112
|
|
|
file.read((uint8_t *) &_prefs->sf, sizeof(_prefs->sf)); // 112
|
|
|
file.read((uint8_t *) &_prefs->cr, sizeof(_prefs->cr)); // 113
|
|
|
file.read((uint8_t *) &_prefs->cr, sizeof(_prefs->cr)); // 113
|
|
|
file.read((uint8_t *) &_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114
|
|
|
file.read((uint8_t *) &_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114
|
|
|
file.read((uint8_t *) &_prefs->reserved2, sizeof(_prefs->reserved2)); // 115
|
|
|
file.read((uint8_t *) &_prefs->multi_acks, sizeof(_prefs->multi_acks)); // 115
|
|
|
file.read((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
|
|
file.read((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
|
|
file.read((uint8_t *) &_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120
|
|
|
file.read((uint8_t *) &_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120
|
|
|
file.read(pad, 3); // 121
|
|
|
file.read(pad, 3); // 121
|
|
|
@ -69,6 +69,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { |
|
|
_prefs->sf = constrain(_prefs->sf, 7, 12); |
|
|
_prefs->sf = constrain(_prefs->sf, 7, 12); |
|
|
_prefs->cr = constrain(_prefs->cr, 5, 8); |
|
|
_prefs->cr = constrain(_prefs->cr, 5, 8); |
|
|
_prefs->tx_power_dbm = constrain(_prefs->tx_power_dbm, 1, 30); |
|
|
_prefs->tx_power_dbm = constrain(_prefs->tx_power_dbm, 1, 30); |
|
|
|
|
|
_prefs->multi_acks = constrain(_prefs->multi_acks, 0, 1); |
|
|
|
|
|
|
|
|
file.close(); |
|
|
file.close(); |
|
|
} |
|
|
} |
|
|
@ -106,7 +107,7 @@ void CommonCLI::savePrefs(FILESYSTEM* fs) { |
|
|
file.write((uint8_t *) &_prefs->sf, sizeof(_prefs->sf)); // 112
|
|
|
file.write((uint8_t *) &_prefs->sf, sizeof(_prefs->sf)); // 112
|
|
|
file.write((uint8_t *) &_prefs->cr, sizeof(_prefs->cr)); // 113
|
|
|
file.write((uint8_t *) &_prefs->cr, sizeof(_prefs->cr)); // 113
|
|
|
file.write((uint8_t *) &_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114
|
|
|
file.write((uint8_t *) &_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114
|
|
|
file.write((uint8_t *) &_prefs->reserved2, sizeof(_prefs->reserved2)); // 115
|
|
|
file.write((uint8_t *) &_prefs->multi_acks, sizeof(_prefs->multi_acks)); // 115
|
|
|
file.write((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
|
|
file.write((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
|
|
file.write((uint8_t *) &_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120
|
|
|
file.write((uint8_t *) &_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120
|
|
|
file.write(pad, 3); // 121
|
|
|
file.write(pad, 3); // 121
|
|
|
@ -180,6 +181,8 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch |
|
|
sprintf(reply, "> %d", (uint32_t) _prefs->interference_threshold); |
|
|
sprintf(reply, "> %d", (uint32_t) _prefs->interference_threshold); |
|
|
} else if (memcmp(config, "agc.reset.interval", 18) == 0) { |
|
|
} else if (memcmp(config, "agc.reset.interval", 18) == 0) { |
|
|
sprintf(reply, "> %d", ((uint32_t) _prefs->agc_reset_interval) * 4); |
|
|
sprintf(reply, "> %d", ((uint32_t) _prefs->agc_reset_interval) * 4); |
|
|
|
|
|
} else if (memcmp(config, "multi.acks", 10) == 0) { |
|
|
|
|
|
sprintf(reply, "> %d", (uint32_t) _prefs->multi_acks); |
|
|
} else if (memcmp(config, "allow.read.only", 15) == 0) { |
|
|
} else if (memcmp(config, "allow.read.only", 15) == 0) { |
|
|
sprintf(reply, "> %s", _prefs->allow_read_only ? "on" : "off"); |
|
|
sprintf(reply, "> %s", _prefs->allow_read_only ? "on" : "off"); |
|
|
} else if (memcmp(config, "flood.advert.interval", 21) == 0) { |
|
|
} else if (memcmp(config, "flood.advert.interval", 21) == 0) { |
|
|
@ -235,6 +238,10 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch |
|
|
_prefs->agc_reset_interval = atoi(&config[19]) / 4; |
|
|
_prefs->agc_reset_interval = atoi(&config[19]) / 4; |
|
|
savePrefs(); |
|
|
savePrefs(); |
|
|
strcpy(reply, "OK"); |
|
|
strcpy(reply, "OK"); |
|
|
|
|
|
} else if (memcmp(config, "multi.acks ", 11) == 0) { |
|
|
|
|
|
_prefs->multi_acks = atoi(&config[11]); |
|
|
|
|
|
savePrefs(); |
|
|
|
|
|
strcpy(reply, "OK"); |
|
|
} else if (memcmp(config, "allow.read.only ", 16) == 0) { |
|
|
} else if (memcmp(config, "allow.read.only ", 16) == 0) { |
|
|
_prefs->allow_read_only = memcmp(&config[16], "on", 2) == 0; |
|
|
_prefs->allow_read_only = memcmp(&config[16], "on", 2) == 0; |
|
|
savePrefs(); |
|
|
savePrefs(); |
|
|
|