From e651f1683355c52caabf6a376a66d8f326eeabe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Wed, 15 Jun 2022 16:40:22 +0200 Subject: [PATCH] Add Versioning to the savefiles --- deviceonly.proto | 7 +++++++ localonly.proto | 40 +++++++++++++++++++++++++++------------- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/deviceonly.proto b/deviceonly.proto index 7971acd..e91be46 100644 --- a/deviceonly.proto +++ b/deviceonly.proto @@ -79,6 +79,13 @@ message ChannelFile { * The channels our node knows about */ repeated Channel channels = 1; + + /* + * A version integer used to invalidate old save files when we make + * incompatible changes This integer is set at build time and is private to + * NodeDB.cpp in the device code. + */ + uint32 version = 2; } /* diff --git a/localonly.proto b/localonly.proto index 38d9542..efd8500 100644 --- a/localonly.proto +++ b/localonly.proto @@ -16,69 +16,83 @@ option java_outer_classname = "LocalOnlyProtos"; message LocalConfig { /* - * TODO: REPLACE + * The part of the config that is specific to the Device */ Config.DeviceConfig device = 1; /* - * TODO: REPLACE + * The part of the config that is specific to the GPS Position */ Config.PositionConfig position = 2; /* - * TODO: REPLACE + * The part of the config that is specific to the Power settings */ Config.PowerConfig power = 3; /* - * TODO: REPLACE + * The part of the config that is specific to the Wifi Settings */ Config.WiFiConfig wifi = 4; /* - * TODO: REPLACE + * The part of the config that is specific to the Display */ Config.DisplayConfig display = 5; /* - * TODO: REPLACE + * The part of the config that is specific to the Lora Radio */ Config.LoRaConfig lora = 6; + + /* + * A version integer used to invalidate old save files when we make + * incompatible changes This integer is set at build time and is private to + * NodeDB.cpp in the device code. + */ + uint32 version = 7; } message LocalModuleConfig { /* - * TODO: REPLACE + * The part of the config that is specific to the MQTT module */ ModuleConfig.MQTTConfig mqtt = 1; /* - * TODO: REPLACE + * The part of the config that is specific to the Serial module */ ModuleConfig.SerialConfig serial = 2; /* - * TODO: REPLACE + * The part of the config that is specific to the ExternalNotification module */ ModuleConfig.ExternalNotificationConfig external_notification = 3; /* - * TODO: REPLACE + * The part of the config that is specific to the Store & Forward module */ ModuleConfig.StoreForwardConfig store_forward = 4; /* - * TODO: REPLACE + * The part of the config that is specific to the RangeTest module */ ModuleConfig.RangeTestConfig range_test = 5; /* - * TODO: REPLACE + * The part of the config that is specific to the Telemetry module */ ModuleConfig.TelemetryConfig telemetry = 6; /* - * TODO: REPLACE + * The part of the config that is specific to the Canned Message module */ ModuleConfig.CannedMessageConfig canned_message = 7; + + /* + * A version integer used to invalidate old save files when we make + * incompatible changes This integer is set at build time and is private to + * NodeDB.cpp in the device code. + */ + uint32 version = 8; }