mirror of
https://github.com/meshtastic/firmware.git
synced 2026-09-21 22:05:26 -04:00
bb61e28890cc0b086818e28ed6484079ff7fe8a9
A full ring overwrites its oldest slot in place, so the header commit that followed was the only thing making that write consistent. If it failed, the in-file header described a ring the file no longer held, and at(0) returned the replacement record as the oldest, before and after a reboot. Records now carry a sequence number, which doubles as the occupied flag, and head/count/lastSeq are derived by scanning the slots on open. The header is written once at create and never again, so a push is a single record write with nothing left to commit afterwards. That also halves the writes per reading, which matters on the flash-backed variants. Also assert the truncating write in the geometry test, which would otherwise pass on an empty file for the wrong reason.
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++
72.9%
C
22.9%
Python
2.1%
Shell
1.5%
Batchfile
0.2%
Other
0.2%
