mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-10 15:12:06 +00:00
Save Neighbors to flash
This commit is contained in:
parent
f1bcc300d9
commit
e05c8e60d9
@ -134,8 +134,6 @@ bool NodeDB::factoryReset()
|
|||||||
installDefaultChannels();
|
installDefaultChannels();
|
||||||
// third, write everything to disk
|
// third, write everything to disk
|
||||||
saveToDisk();
|
saveToDisk();
|
||||||
// write NeighbourInfo
|
|
||||||
neighborInfoModule->saveProtoForModule();
|
|
||||||
#ifdef ARCH_ESP32
|
#ifdef ARCH_ESP32
|
||||||
// This will erase what's in NVS including ssl keys, persistent variables and ble pairing
|
// This will erase what's in NVS including ssl keys, persistent variables and ble pairing
|
||||||
nvs_flash_erase();
|
nvs_flash_erase();
|
||||||
@ -290,7 +288,8 @@ void NodeDB::resetNodes()
|
|||||||
devicestate.node_db_lite_count = 0;
|
devicestate.node_db_lite_count = 0;
|
||||||
memset(devicestate.node_db_lite, 0, sizeof(devicestate.node_db_lite));
|
memset(devicestate.node_db_lite, 0, sizeof(devicestate.node_db_lite));
|
||||||
saveDeviceStateToDisk();
|
saveDeviceStateToDisk();
|
||||||
neighborInfoModule->resetNeighbors();
|
if (neighborInfoModule && moduleConfig.neighbor_info.enabled)
|
||||||
|
neighborInfoModule->resetNeighbors();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NodeDB::installDefaultDeviceState()
|
void NodeDB::installDefaultDeviceState()
|
||||||
@ -841,4 +840,4 @@ void recordCriticalError(meshtastic_CriticalErrorCode code, uint32_t address, co
|
|||||||
LOG_ERROR("A critical failure occurred, portduino is exiting...");
|
LOG_ERROR("A critical failure occurred, portduino is exiting...");
|
||||||
exit(2);
|
exit(2);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
@ -173,6 +173,11 @@ size_t NeighborInfoModule::cleanUpNeighbors()
|
|||||||
(*numNeighbors)--;
|
(*numNeighbors)--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save the neighbor list if we removed any neighbors
|
||||||
|
if (indices_to_remove.size() > 0) {
|
||||||
|
saveProtoForModule();
|
||||||
|
}
|
||||||
|
|
||||||
return *numNeighbors;
|
return *numNeighbors;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +212,7 @@ Pass it to an upper client; do not persist this data on the mesh
|
|||||||
*/
|
*/
|
||||||
bool NeighborInfoModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_NeighborInfo *np)
|
bool NeighborInfoModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_NeighborInfo *np)
|
||||||
{
|
{
|
||||||
printNeighborInfo("RECIEVED", np);
|
printNeighborInfo("RECEIVED", np);
|
||||||
updateNeighbors(mp, np);
|
updateNeighbors(mp, np);
|
||||||
// Allow others to handle this packet
|
// Allow others to handle this packet
|
||||||
return false;
|
return false;
|
||||||
@ -234,6 +239,7 @@ void NeighborInfoModule::updateLastSentById(meshtastic_MeshPacket *p)
|
|||||||
|
|
||||||
void NeighborInfoModule::resetNeighbors()
|
void NeighborInfoModule::resetNeighbors()
|
||||||
{
|
{
|
||||||
|
*numNeighbors = 0;
|
||||||
neighborState.neighbors_count = 0;
|
neighborState.neighbors_count = 0;
|
||||||
memset(neighborState.neighbors, 0, sizeof(neighborState.neighbors));
|
memset(neighborState.neighbors, 0, sizeof(neighborState.neighbors));
|
||||||
saveProtoForModule();
|
saveProtoForModule();
|
||||||
@ -265,6 +271,7 @@ meshtastic_Neighbor *NeighborInfoModule::getOrCreateNeighbor(NodeNum originalSen
|
|||||||
// Only if this is the original sender, the broadcast interval corresponds to it
|
// Only if this is the original sender, the broadcast interval corresponds to it
|
||||||
if (originalSender == n)
|
if (originalSender == n)
|
||||||
nbr->node_broadcast_interval_secs = node_broadcast_interval_secs;
|
nbr->node_broadcast_interval_secs = node_broadcast_interval_secs;
|
||||||
|
saveProtoForModule(); // Save the updated neighbor
|
||||||
return nbr;
|
return nbr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -280,6 +287,7 @@ meshtastic_Neighbor *NeighborInfoModule::getOrCreateNeighbor(NodeNum originalSen
|
|||||||
// Only if this is the original sender, the broadcast interval corresponds to it
|
// Only if this is the original sender, the broadcast interval corresponds to it
|
||||||
if (originalSender == n)
|
if (originalSender == n)
|
||||||
new_nbr->node_broadcast_interval_secs = node_broadcast_interval_secs;
|
new_nbr->node_broadcast_interval_secs = node_broadcast_interval_secs;
|
||||||
|
saveProtoForModule(); // Save the new neighbor
|
||||||
return new_nbr;
|
return new_nbr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user