mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-06 14:24:20 -05:00
2.8.2
* 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)
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
- 🔧 Building Instructions - Learn how to compile the firmware from source.
- ⚡ Flashing Instructions - Install or update the firmware on your device.
Join our community and help improve Meshtastic! 🚀
Stats
Languages
C++
73.5%
C
21.8%
Python
2.6%
Shell
1.5%
Batchfile
0.2%
Other
0.2%
