James Rich 42e64cfa59 Suppress duplicate BLE relays, and measure what an advertisement actually holds
perhapsCancelDupe was gated on TRANSPORT_LORA, so a node that overheard a
neighbour relaying a packet over BLE advertised its own copy anyway. The gate is
now per medium: a LoRa dupe cancels the LoRa queue as before, a BLE dupe cancels
the BLE ring and nothing else. Cancelling across media would be wrong in the
other direction - hearing a neighbour on BLE is no evidence at all about who
heard us on LoRa, and standing the LoRa rebroadcast down on that would thin the
flood wherever the two meshes overlap.

MeshTransportBase gains cancelTransportsOn(), carrying the medium so each
transport can ignore a cancel that is not for its own radio. AdvSlot carries
from/id, and runOnce remembers the identity of the burst it started, so a cancel
reaches a payload already repeating on air as well as the ones still queued.

Separately, buildAdvPayload has always refused packets that do not fit one
unfragmented advertisement, and the existing test only proved that at 256 bytes.
The real ceiling is 219 bytes of ciphertext against the 239 a LoRa frame carries,
and 198 for a relay, because the packet is encoded as it stands and so puts the
rx_rssi, rx_snr and rx_time it was received with on the air - rx_rssi being a
negative int32 at ten bytes, and the relayer's own link quality. Both numbers are
now binary-searched and pinned, so a field added to MeshPacket shows up as a
failing test rather than as quietly shorter reach, and the refusals are counted
rather than only logged.
2026-09-14 17:36:03 -05:00
…
…
…
…
…
…
…

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

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
318 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 72.9%
C 22.8%
Python 2.1%
Shell 1.6%
Batchfile 0.2%
Other 0.2%