Files
firmware/src
Jonathan BennettandClaude Opus 5.5 f8d60d82a9 NodeDB: encode satellite maps in place when saving
saveNodeDatabaseToDisk() copied each satellite map into nodeDatabase's
vectors just to encode them, so every save needed a second, contiguous
copy: up to ~19 KB at the nRF52 cap of 40, 40 x 312 B for environment
alone. On busy meshes this ran nRF52 sensor nodes out of heap
(new(10920) failed in saveNodeDatabaseToDisk()).

Mirror the decode path: arm per-map encode sources for the duration of
the save, and have the NodeDatabase encode callback walk the map, one
stack entry at a time. Same entries in the same order, so nodes.proto
is byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 10:17:39 -06:00
..
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…