* flood_advert_interval" now defaults to 3 hours for upgrading nodes (not just fresh install)
* companion: "node_prefs" -> "new_prefs" migration
This commit is contained in:
@@ -732,22 +732,8 @@ public:
|
|||||||
//_prefs.rx_delay_base = 10.0f; enable once new algo fixed
|
//_prefs.rx_delay_base = 10.0f; enable once new algo fixed
|
||||||
}
|
}
|
||||||
|
|
||||||
void begin(FILESYSTEM& fs, mesh::RNG& trng, bool has_display) {
|
void loadPrefsInt(const char* filename) {
|
||||||
_fs = &fs;
|
File file = _fs->open(filename);
|
||||||
|
|
||||||
BaseChatMesh::begin();
|
|
||||||
|
|
||||||
#if defined(NRF52_PLATFORM)
|
|
||||||
_identity_store = new IdentityStore(fs, "");
|
|
||||||
#else
|
|
||||||
_identity_store = new IdentityStore(fs, "/identity");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
loadMainIdentity(trng);
|
|
||||||
|
|
||||||
// load persisted prefs
|
|
||||||
if (_fs->exists("/node_prefs")) {
|
|
||||||
File file = _fs->open("/node_prefs");
|
|
||||||
if (file) {
|
if (file) {
|
||||||
uint8_t pad[8];
|
uint8_t pad[8];
|
||||||
|
|
||||||
@@ -781,6 +767,28 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void begin(FILESYSTEM& fs, mesh::RNG& trng, bool has_display) {
|
||||||
|
_fs = &fs;
|
||||||
|
|
||||||
|
BaseChatMesh::begin();
|
||||||
|
|
||||||
|
#if defined(NRF52_PLATFORM)
|
||||||
|
_identity_store = new IdentityStore(fs, "");
|
||||||
|
#else
|
||||||
|
_identity_store = new IdentityStore(fs, "/identity");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
loadMainIdentity(trng);
|
||||||
|
|
||||||
|
// load persisted prefs
|
||||||
|
if (_fs->exists("/new_prefs")) {
|
||||||
|
loadPrefsInt("/new_prefs"); // new filename
|
||||||
|
} else if (_fs->exists("/node_prefs")) {
|
||||||
|
loadPrefsInt("/node_prefs");
|
||||||
|
savePrefs(); // save to new filename
|
||||||
|
_fs->remove("/node_prefs"); // remove old
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef BLE_PIN_CODE
|
#ifdef BLE_PIN_CODE
|
||||||
if (_prefs.ble_pin == 0) {
|
if (_prefs.ble_pin == 0) {
|
||||||
#ifdef HAS_UI
|
#ifdef HAS_UI
|
||||||
@@ -823,10 +831,10 @@ public:
|
|||||||
|
|
||||||
void savePrefs() {
|
void savePrefs() {
|
||||||
#if defined(NRF52_PLATFORM)
|
#if defined(NRF52_PLATFORM)
|
||||||
File file = _fs->open("/node_prefs", FILE_O_WRITE);
|
File file = _fs->open("/new_prefs", FILE_O_WRITE);
|
||||||
if (file) { file.seek(0); file.truncate(); }
|
if (file) { file.seek(0); file.truncate(); }
|
||||||
#else
|
#else
|
||||||
File file = _fs->open("/node_prefs", "w", true);
|
File file = _fs->open("/new_prefs", "w", true);
|
||||||
#endif
|
#endif
|
||||||
if (file) {
|
if (file) {
|
||||||
uint8_t pad[8];
|
uint8_t pad[8];
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) {
|
|||||||
file.read((uint8_t *) &_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76
|
file.read((uint8_t *) &_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76
|
||||||
file.read((uint8_t *) &_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77
|
file.read((uint8_t *) &_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77
|
||||||
file.read((uint8_t *) &_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78
|
file.read((uint8_t *) &_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78
|
||||||
file.read((uint8_t *) &_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 79
|
file.read((uint8_t *) pad, 1); // 79 was 'unused'
|
||||||
file.read((uint8_t *) &_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80
|
file.read((uint8_t *) &_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80
|
||||||
file.read((uint8_t *) &_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84
|
file.read((uint8_t *) &_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84
|
||||||
file.read((uint8_t *) &_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88
|
file.read((uint8_t *) &_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88
|
||||||
@@ -51,6 +51,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) {
|
|||||||
file.read((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
file.read((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
||||||
file.read(pad, 4); // 120
|
file.read(pad, 4); // 120
|
||||||
file.read((uint8_t *) &_prefs->flood_max, sizeof(_prefs->flood_max)); // 124
|
file.read((uint8_t *) &_prefs->flood_max, sizeof(_prefs->flood_max)); // 124
|
||||||
|
file.read((uint8_t *) &_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 125
|
||||||
|
|
||||||
// sanitise bad pref values
|
// sanitise bad pref values
|
||||||
_prefs->rx_delay_base = constrain(_prefs->rx_delay_base, 0, 20.0f);
|
_prefs->rx_delay_base = constrain(_prefs->rx_delay_base, 0, 20.0f);
|
||||||
@@ -88,7 +89,7 @@ void CommonCLI::savePrefs(FILESYSTEM* fs) {
|
|||||||
file.write((uint8_t *) &_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76
|
file.write((uint8_t *) &_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76
|
||||||
file.write((uint8_t *) &_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77
|
file.write((uint8_t *) &_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77
|
||||||
file.write((uint8_t *) &_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78
|
file.write((uint8_t *) &_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78
|
||||||
file.write((uint8_t *) &_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 79
|
file.write((uint8_t *) pad, 1); // 79 was 'unused'
|
||||||
file.write((uint8_t *) &_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80
|
file.write((uint8_t *) &_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80
|
||||||
file.write((uint8_t *) &_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84
|
file.write((uint8_t *) &_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84
|
||||||
file.write((uint8_t *) &_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88
|
file.write((uint8_t *) &_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88
|
||||||
@@ -101,6 +102,7 @@ void CommonCLI::savePrefs(FILESYSTEM* fs) {
|
|||||||
file.write((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
file.write((uint8_t *) &_prefs->bw, sizeof(_prefs->bw)); // 116
|
||||||
file.write(pad, 4); // 120
|
file.write(pad, 4); // 120
|
||||||
file.write((uint8_t *) &_prefs->flood_max, sizeof(_prefs->flood_max)); // 124
|
file.write((uint8_t *) &_prefs->flood_max, sizeof(_prefs->flood_max)); // 124
|
||||||
|
file.write((uint8_t *) &_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 125
|
||||||
|
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user