@@ -2,11 +2,11 @@ syntax = "proto3";
22
33package meshtastic ;
44
5- import "channel.proto" ;
6- import "localonly .proto" ;
7- import "mesh .proto" ;
8- import "telemetry .proto" ;
9- import "config .proto" ;
5+ import "meshtastic/ channel.proto" ;
6+ import "meshtastic/mesh .proto" ;
7+ import "meshtastic/telemetry .proto" ;
8+ import "meshtastic/config .proto" ;
9+ import "meshtastic/localonly .proto" ;
1010import "nanopb.proto" ;
1111
1212option csharp_namespace = "Meshtastic.Protobufs" ;
@@ -139,7 +139,7 @@ message NodeInfoLite {
139139 bool via_mqtt = 8 ;
140140
141141 /*
142- * Number of hops away from us this node is (0 if adjacent )
142+ * Number of hops away from us this node is (0 if direct neighbor )
143143 */
144144 optional uint32 hops_away = 9 ;
145145
@@ -148,6 +148,17 @@ message NodeInfoLite {
148148 * Persists between NodeDB internal clean ups
149149 */
150150 bool is_favorite = 10 ;
151+
152+ /*
153+ * True if node is in our ignored list
154+ * Persists between NodeDB internal clean ups
155+ */
156+ bool is_ignored = 11 ;
157+
158+ /*
159+ * Last byte of the node number of the node that should be used as the next hop to reach this node.
160+ */
161+ uint32 next_hop = 12 ;
151162}
152163
153164/*
@@ -195,9 +206,10 @@ message DeviceState {
195206 bool no_save = 9 [deprecated = true ];
196207
197208 /*
198- * Some GPS receivers seem to have bogus settings from the factory, so we always do one factory reset.
209+ * Previously used to manage GPS factory resets.
210+ * Deprecated in 2.5.23
199211 */
200- bool did_gps_reset = 11 ;
212+ bool did_gps_reset = 11 [ deprecated = true ] ;
201213
202214 /*
203215 * We keep the last received waypoint stored in the device flash,
@@ -210,11 +222,20 @@ message DeviceState {
210222 * The mesh's nodes with their available gpio pins for RemoteHardware module
211223 */
212224 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 ;
213234
214235 /*
215236 * New lite version of NodeDB to decrease memory footprint
216237 */
217- 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>" ];
218239}
219240
220241/*
@@ -233,3 +254,38 @@ message ChannelFile {
233254 */
234255 uint32 version = 2 ;
235256}
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