mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-08 15:24:57 -05:00
80ea7f17fe126e8fe94c79122abaf9348aea351f
Five PowerFSM state-entry handlers reach setBluetoothEnable(true), and the retry added for a bluetoothd that is still starting at boot runs setup() on each one. Every attempt opens a system bus connection, spawns an event-loop thread and enumerates every BlueZ object before failing, so a host where BLE can never come up - no bluetoothd, a missing adapter, a policy denial - paid that plus a log line on every transition, indefinitely. Gate it on a 30s stamp. The boot race still resolves within one interval, and a permanently broken host now probes twice a minute instead of continuously. The stamp goes through Time::stampMillis() and is read with Throttle::hasElapsed(), with 0 tested separately, so a first attempt is never mistaken for one that has just run. Claude-Session: https://claude.ai/code/session_0184v7MyCLuJHW2ebZ9r8NmQ Co-authored-by: Claude <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%
