Only save devicestate on GPS reset (#1587)

This commit is contained in:
Ben Meadors 2022-08-03 07:16:41 -05:00 committed by GitHub
parent fab20f5acf
commit 874d308b50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 2 deletions

View File

@ -330,7 +330,7 @@ int32_t GPS::runOnce()
if(devicestate.did_gps_reset && (millis() > 60000) && !hasFlow()) { if(devicestate.did_gps_reset && (millis() > 60000) && !hasFlow()) {
DEBUG_MSG("GPS is not communicating, trying factory reset on next bootup.\n"); DEBUG_MSG("GPS is not communicating, trying factory reset on next bootup.\n");
devicestate.did_gps_reset = false; devicestate.did_gps_reset = false;
nodeDB.saveToDisk(); nodeDB.saveDeviceStateToDisk();
} }
#endif #endif
} }

View File

@ -435,6 +435,16 @@ void NodeDB::saveChannelsToDisk()
} }
} }
void NodeDB::saveDeviceStateToDisk()
{
if (!devicestate.no_save) {
#ifdef FSCom
FSCom.mkdir("/prefs");
#endif
saveProto(prefFileName, DeviceState_size, sizeof(devicestate), DeviceState_fields, &devicestate);
}
}
void NodeDB::saveToDisk() void NodeDB::saveToDisk()
{ {
if (!devicestate.no_save) { if (!devicestate.no_save) {

View File

@ -44,7 +44,7 @@ class NodeDB
void init(); void init();
/// write to flash /// write to flash
void saveToDisk(), saveChannelsToDisk(); void saveToDisk(), saveChannelsToDisk(), saveDeviceStateToDisk();
/** Reinit radio config if needed, because either: /** Reinit radio config if needed, because either:
* a) sometimes a buggy android app might send us bogus settings or * a) sometimes a buggy android app might send us bogus settings or