Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
This is a companion PR to this firmware PR. It adds a Mesh module to the protobufs corresponding to the firmware NeighborInfo module.
Implementation
This PR adds a NeighborInfo to the mesh module and modifies the NodeDB to hold info on a node's neighbors. It changes the max size of the NodeDB slightly.
Sizes
NodeInfo - 130 bytes
Neighbor - 12 bytes
NeighborInfo - 132 bytes (10 Neighbors)
The NodeDB previously stored up to 80 nodes, each of size 130 bytes. To store Neighbors in the NodeDB, we simply assume that we can fit 20 of them in the space taken up by 2 NodeInfo packets.
Testing
Tested on simulator and in hardware with a graph with multiple nodes.