James RichandClaude Fable 5.1 ea24b26d52 Notify mesh peers per-connection and drop the spike diagnostics
Egress now sends each fragment to a specific subscribed connection with
ble_gatts_notify_custom(peer, valueHandle, ...) instead of broadcasting to every
subscriber, so the pump's exclude-the-arrival-peer step actually takes effect
(a relayed packet is no longer echoed to the peer it came from). The value handle
resolves correctly now that setupService() forces the server's GATT start.

A link becomes a notify target only when onSubscribe marks it subscribed - the
CCCD write is the "this is a mesh peer" signal - so onConnect just tracks the
link and a plain phone-API client is never sent mesh frames. Removed the verbose
diagnostic logging added while chasing this down and restored the enc-change
warning to its plain form.

Verified on hardware: the Android client's rx counter advances with the v3's own
frames and relayed LoRa traffic (a decoded position from another node, plus
opaque channel-50 frames) over BLE GATT.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 07:50:54 -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
320 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 72.7%
C 23.1%
Python 2.1%
Shell 1.5%
Batchfile 0.2%
Other 0.2%