mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-07 23:04:49 -05:00
a33b0bbdf24ed09022d7e38bb84e982b99a8cda5
Three compile-time switches, all off by default: - MESHTASTIC_RADIO_TASK (ESP32, nRF52): runs the RadioLib radio thread from its own FreeRTOS task, one priority above the loop and below the RX readout task. The task holds a recursive radio lock while the thread runs; loop-side entry points into the radio take it with RADIO_TASK_LOCK(). The static packet pool claims slots in a critical section. The task's log lines are queued and printed by the loop (MESHTASTIC_RADIO_TASK_LOG_LINES sets the depth; MESHTASTIC_RADIO_TASK_LOG_DIRECT writes them from the task instead), and no log line sits between the TX timer and SET_TX. - MESHTASTIC_TX_SLOT_GATE_MS=<ms>: a TX with a slot parity scans only in the first <ms> of a slot of its parity on the frame-end grid. The timer fires MESHTASTIC_TX_SLOT_GATE_EARLY_SLOTS (default 2) slots early and the radio thread waits out the rest; a timer further ahead is set again (MESHTASTIC_TX_SLOT_GATE_REARM=0 scans at once instead). - MESHTASTIC_TX_SLOT_LEAD (needs the gate): aims SET_TX MESHTASTIC_TX_SLOT_SET_TX_AT_MS (default 1) into the slot, starting the scan the measured scan-to-SET_TX time before it and firing the timer the measured wake latency plus MESHTASTIC_TX_SLOT_LEAD_GUARD_MS (default 1) before the scan. Works with the early TX stage on a CH341 host. Co-Authored-By: Jonathan Bennett <jbennett@incomsystems.biz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REkPVFh6kvG4AZJ5A8AtM9
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%
