Jonathan Bennett d5f16191ca NodeDB: encode satellite maps in place when saving (#12293)
* 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>

* NodeDB: clear satellite vectors before encoding the save

With a satellite DB compiled out, nodes.proto's entries for it still
decode into nodeDatabase's vector. The projection used to clear those
vectors before encoding; without that, the first save after boot wrote
the stale entries back. Clear all four before arming the encode sources;
an armed source ignores its vector anyway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit c55fc438f1)
2026-11-03 19:27:07 +00:00
2026-10-22 11:17:05 +00:00
2021-10-09 17:15:12 +11:00
2024-09-24 15:24:08 -05:00
2026-10-21 04:57:09 +00:00
2026-07-01 19:01:27 -05:00
2026-01-29 10:06:58 -06:00
2024-11-28 06:26:51 -06:00
2024-09-04 15:33:28 -07:00
2026-01-29 10:06:58 -06:00
2026-01-29 10:06:58 -06:00
2026-10-03 22:43:30 +00:00
2025-01-13 12:24:05 +08:00
2026-01-29 10:06:58 -06:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel MemBrowse

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt

S
Description
No description provided
Readme GPL-3.0
305 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 73.5%
C 21.8%
Python 2.6%
Shell 1.5%
Batchfile 0.2%
Other 0.2%