@@ -6,6 +6,7 @@ import "meshtastic/channel.proto";
66import "meshtastic/mesh.proto" ;
77import "meshtastic/telemetry.proto" ;
88import "meshtastic/config.proto" ;
9+ import "meshtastic/localonly.proto" ;
910import "nanopb.proto" ;
1011
1112option csharp_namespace = "Meshtastic.Protobufs" ;
@@ -221,11 +222,20 @@ message DeviceState {
221222 * The mesh's nodes with their available gpio pins for RemoteHardware module
222223 */
223224 repeated NodeRemoteHardwarePin node_remote_hardware_pins = 13 ;
225+ }
226+
227+ message NodeDatabase {
228+ /*
229+ * A version integer used to invalidate old save files when we make
230+ * incompatible changes This integer is set at build time and is private to
231+ * NodeDB.cpp in the device code.
232+ */
233+ uint32 version = 1 ;
224234
225235 /*
226236 * New lite version of NodeDB to decrease memory footprint
227237 */
228- repeated NodeInfoLite node_db_lite = 14 [(nanopb).callback_datatype = "std::vector<meshtastic_NodeInfoLite>" ];
238+ repeated NodeInfoLite nodes = 2 [(nanopb).callback_datatype = "std::vector<meshtastic_NodeInfoLite>" ];
229239}
230240
231241/*
@@ -244,3 +254,38 @@ message ChannelFile {
244254 */
245255 uint32 version = 2 ;
246256}
257+
258+ /*
259+ * The on-disk backup of the node's preferences
260+ */
261+ message BackupPreferences {
262+ /*
263+ * The version of the backup
264+ */
265+ uint32 version = 1 ;
266+
267+ /*
268+ * The timestamp of the backup (if node has time)
269+ */
270+ fixed32 timestamp = 2 ;
271+
272+ /*
273+ * The node's configuration
274+ */
275+ LocalConfig config = 3 ;
276+
277+ /*
278+ * The node's module configuration
279+ */
280+ LocalModuleConfig module_config = 4 ;
281+
282+ /*
283+ * The node's channels
284+ */
285+ ChannelFile channels = 5 ;
286+
287+ /*
288+ * The node's user (owner) information
289+ */
290+ User owner = 6 ;
291+ }
0 commit comments