mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-07 14:54:44 -05:00
c55fc438f10c7142935b39db8a8524a4d4d910ad
* 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>
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.6%
C
21.7%
Python
2.6%
Shell
1.5%
Batchfile
0.2%
Other
0.2%
