mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-28 15:22:55 +00:00
Conditionally delete favourited nodes on reset
This commit is contained in:
parent
fe2e2753aa
commit
5d0113ce0c
@ -402,6 +402,11 @@ NodeDB::NodeDB()
|
|||||||
config.position.gps_mode = meshtastic_Config_PositionConfig_GpsMode_ENABLED;
|
config.position.gps_mode = meshtastic_Config_PositionConfig_GpsMode_ENABLED;
|
||||||
config.position.gps_enabled = 0;
|
config.position.gps_enabled = 0;
|
||||||
}
|
}
|
||||||
|
if (config.device.role == meshtastic_Config_DeviceConfig_Role_CLIENT_BASE ||
|
||||||
|
config.device.role == meshtastic_Config_DeviceConfig_Role_ROUTER ||
|
||||||
|
config.device.role == meshtastic_Config_DeviceConfig_Role_ROUTER_LATE) {
|
||||||
|
saveFavourites == true;
|
||||||
|
}
|
||||||
#ifdef USERPREFS_FIRMWARE_EDITION
|
#ifdef USERPREFS_FIRMWARE_EDITION
|
||||||
myNodeInfo.firmware_edition = USERPREFS_FIRMWARE_EDITION;
|
myNodeInfo.firmware_edition = USERPREFS_FIRMWARE_EDITION;
|
||||||
#endif
|
#endif
|
||||||
@ -983,7 +988,18 @@ void NodeDB::resetNodes()
|
|||||||
if (!config.position.fixed_position)
|
if (!config.position.fixed_position)
|
||||||
clearLocalPosition();
|
clearLocalPosition();
|
||||||
numMeshNodes = 1;
|
numMeshNodes = 1;
|
||||||
std::fill(nodeDatabase.nodes.begin() + 1, nodeDatabase.nodes.end(), meshtastic_NodeInfoLite());
|
if (saveFavourites) {
|
||||||
|
for (size_t i = 0; i < nodeDatabase.nodes.size(); i++) {
|
||||||
|
meshtastic_NodeInfoLite &node = nodeDatabase.nodes[i];
|
||||||
|
if (i > 0 && !node.is_favorite) {
|
||||||
|
node = meshtastic_NodeInfoLite();
|
||||||
|
} else {
|
||||||
|
numMeshNodes += 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
std::fill(nodeDatabase.nodes.begin() + 1, nodeDatabase.nodes.end(), meshtastic_NodeInfoLite());
|
||||||
|
}
|
||||||
devicestate.has_rx_text_message = false;
|
devicestate.has_rx_text_message = false;
|
||||||
devicestate.has_rx_waypoint = false;
|
devicestate.has_rx_waypoint = false;
|
||||||
saveNodeDatabaseToDisk();
|
saveNodeDatabaseToDisk();
|
||||||
|
|||||||
@ -144,6 +144,8 @@ class NodeDB
|
|||||||
bool keyIsLowEntropy = false;
|
bool keyIsLowEntropy = false;
|
||||||
bool hasWarned = false;
|
bool hasWarned = false;
|
||||||
|
|
||||||
|
bool saveFavourites = false;
|
||||||
|
|
||||||
/// don't do mesh based algorithm for node id assignment (initially)
|
/// don't do mesh based algorithm for node id assignment (initially)
|
||||||
/// instead just store in flash - possibly even in the initial alpha release do this hack
|
/// instead just store in flash - possibly even in the initial alpha release do this hack
|
||||||
NodeDB();
|
NodeDB();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user