mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-19 09:12:45 +00:00
Migrate to new defaults (#4294)
* Upgrade module config state version but don't blow everything away * ModuleConfig version intervals roll forward * Be specific about version migration criteria * initModuleConfigIntervals fix * Don't forget power!
This commit is contained in:
@@ -425,10 +425,14 @@ void NodeDB::installRoleDefaults(meshtastic_Config_DeviceConfig_Role role)
|
||||
|
||||
void NodeDB::initModuleConfigIntervals()
|
||||
{
|
||||
moduleConfig.telemetry.device_update_interval = default_broadcast_interval_secs;
|
||||
moduleConfig.telemetry.environment_update_interval = default_broadcast_interval_secs;
|
||||
moduleConfig.telemetry.air_quality_interval = default_broadcast_interval_secs;
|
||||
moduleConfig.neighbor_info.update_interval = default_broadcast_interval_secs;
|
||||
// Zero out telemetry intervals so that they coalesce to defaults in Default.h
|
||||
moduleConfig.telemetry.device_update_interval = 0;
|
||||
moduleConfig.telemetry.environment_update_interval = 0;
|
||||
moduleConfig.telemetry.air_quality_interval = 0;
|
||||
moduleConfig.telemetry.power_update_interval = 0;
|
||||
moduleConfig.neighbor_info.update_interval = 0;
|
||||
moduleConfig.paxcounter.paxcounter_update_interval = 0;
|
||||
moduleConfig.neighbor_info.update_interval = 0;
|
||||
}
|
||||
|
||||
void NodeDB::installDefaultChannels()
|
||||
@@ -648,6 +652,26 @@ void NodeDB::loadFromDisk()
|
||||
if (state == LoadFileResult::SUCCESS) {
|
||||
LOG_INFO("Loaded OEMStore\n");
|
||||
}
|
||||
|
||||
// 2.4.X - configuration migration to update new default intervals
|
||||
if (moduleConfig.version < 23) {
|
||||
LOG_DEBUG("ModuleConfig version %d is stale, upgrading to new default intervals\n", moduleConfig.version);
|
||||
moduleConfig.version = DEVICESTATE_CUR_VER;
|
||||
if (moduleConfig.telemetry.device_update_interval == 900)
|
||||
moduleConfig.telemetry.device_update_interval = 0;
|
||||
if (moduleConfig.telemetry.environment_update_interval == 900)
|
||||
moduleConfig.telemetry.environment_update_interval = 0;
|
||||
if (moduleConfig.telemetry.air_quality_interval == 900)
|
||||
moduleConfig.telemetry.air_quality_interval = 0;
|
||||
if (moduleConfig.telemetry.power_update_interval == 900)
|
||||
moduleConfig.telemetry.power_update_interval = 0;
|
||||
if (moduleConfig.neighbor_info.update_interval == 900)
|
||||
moduleConfig.neighbor_info.update_interval = 0;
|
||||
if (moduleConfig.paxcounter.paxcounter_update_interval == 900)
|
||||
moduleConfig.paxcounter.paxcounter_update_interval = 0;
|
||||
|
||||
saveToDisk(SEGMENT_MODULECONFIG);
|
||||
}
|
||||
}
|
||||
|
||||
/** Save a protobuf from a file, return true for success */
|
||||
|
||||
Reference in New Issue
Block a user