mirror of
https://github.com/meshtastic/firmware.git
synced 2026-09-29 17:55:25 -04:00
8d85416fc453a73be807665f97db362fdb11cb64
buildAdvPayload encoded the packet as it stood, so every frame carried transport_mechanism, via_mqtt, tx_after, priority, pki_encrypted, public_key and the rx_snr/rx_rssi/rx_time it was received with. deliverToRouter rewrites all of those on arrival and Router::handleReceived stamps rx_time, so they were budget spent on bytes the far side discards. rx_rssi was the worst of them twice over: a negative int32 is a ten-byte varint, and it published the relayer's own link quality to anyone scanning. A relay now reaches exactly as far as an originator, where before it reached 21 bytes less far. public_key alone was up to 34 bytes on a PKC direct message. The ceiling tests measured a fixture rather than the bearer: a packet off Router::send also carries priority, which fixPriority never leaves UNSET, and relay_node, which FloodingRouter::send stamps on everything. Re-shaped, and the number is now 216 - three bytes for relay_node, nothing for priority because it is stripped. node-kmp measures 214 for the same packet because it has no equivalent strip. Sizing now runs before encoding rather than being inferred from a short buffer, so an over-budget packet is counted and logged with the overshoot while a genuine encode failure is an error, not a silent tie.
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.8%
Python
2.1%
Shell
1.6%
Batchfile
0.2%
Other
0.2%
