Meshtastic device firmware
Go to file
Tom Fifield e791f6643f
We don't gotTime if time is 2019.
There are certain GPS chips that have a hard-coded time in firmware
that they will return before lock. We set our own hard-coded time,
BUILD_EPOCH, that should be newer and use the comparison to not set
a bad time.

In https://github.com/meshtastic/firmware/pull/7261 we introduced
the RTCSetResult and improved it in https://github.com/meshtastic/firmware/pull/7375 .

However, the original try-fix left logic in GPS.cpp that could
still result in broadcasting the bad time.

Further, as part of our fix we cleared the GPS buffer if we didn't
get a good time. The mesh was hurting at the time, so this was a reasonable
approach. However, given time tends to come in when we're trying to get
early lock, this had the potential side effect of throwing away valuable
information to get position lock.

This change reverses the clearBuffer and changes the logic so if time
is not set it will not be broadcast.

Fixes https://github.com/meshtastic/firmware/issues/7771
Fixes https://github.com/meshtastic/firmware/issues/7750
2025-08-28 09:41:01 +10:00
.clusterfuzzlite Initial commit of a fuzzer for Meshtastic (#5790) 2025-01-16 18:42:21 -06:00
.devcontainer Add UDP multicast support on linux. (#6342) 2025-03-20 08:47:39 -05:00
.github Disable for now 2025-08-19 11:30:19 -05:00
.trunk Upgrade trunk (#7665) 2025-08-18 05:52:02 -05:00
.vscode Update device-install scripts (#6267) 2025-03-09 06:43:16 -05:00
arch Update caveman99-stm32-Crypto digest to 1aa30eb (#7725) 2025-08-23 06:48:57 -05:00
bin Initial stab at rak6421 autoconf (#7691) 2025-08-20 14:18:20 -05:00
boards Add Meshtiny device (#7676) 2025-08-20 11:52:10 +08:00
branding Add customizable boot logo based on resolution (#7146) 2025-07-02 11:53:12 -07:00
data/static
debian Automated version bumps (#7614) 2025-08-12 19:40:35 -05:00
extra_scripts implement littlefs for stm32 (#5987) 2025-03-21 16:12:27 +01:00
images No idea why trunk wants to disturb these PNGs but... 2024-10-08 05:34:41 -05:00
meshtestic@dcac7e5673
monitor More trunk junk / remove old workflows (#6153) 2025-02-27 09:43:01 +08:00
protobufs@8985852d75 Update protobufs (#7693) 2025-08-20 05:53:20 -05:00
release Cleans up visibility in GPS.h (#5426) 2024-11-23 06:10:09 -06:00
src We don't gotTime if time is 2019. 2025-08-28 09:41:01 +10:00
test Add more test case for encrypted packet test 2025-08-25 23:35:03 +08:00
variants set HAS_32768HZ for Heltec V3 board 2025-08-25 19:56:15 +02:00
.dockerignore Initial commit of a fuzzer for Meshtastic (#5790) 2025-01-16 18:42:21 -06:00
.env.example meshtasticd-docker: simplify, add USB compose (#5662) 2024-12-26 12:59:26 -06:00
.gitattributes update gitattributes for windows (#6289) 2025-03-11 13:05:51 -05:00
.gitignore Add customizable boot logo based on resolution (#7146) 2025-07-02 11:53:12 -07:00
.gitmodules Consume device-ui as a pio library (#6193) 2025-03-05 16:19:59 -06:00
.gitpod.yml
.semgrepignore
alpine.Dockerfile Update Alpine to 3.22 (#6927) 2025-06-08 07:49:24 +10:00
CODE_OF_CONDUCT.md Trunk 2024-11-28 06:26:51 -06:00
CONTRIBUTING.md
docker-compose.yml meshtasticd-docker: simplify, add USB compose (#5662) 2024-12-26 12:59:26 -06:00
Dockerfile Docker: fix web assets location (#7683) 2025-08-19 14:06:43 -05:00
LICENSE
meshtasticd.spec.rpkg Stop the madness! Run as a user (not root) (#6718) 2025-05-15 06:40:46 -05:00
partition-table.csv
platformio.ini Update meshtastic/device-ui digest to 0f32b64 (#7728) 2025-08-24 14:44:51 -05:00
pyocd.yaml
README.md Update README.md 2025-06-19 20:35:40 -05:00
renovate.json Renovate: Always use master as the base. (#7726) 2025-08-23 10:41:57 -05:00
rpkg.conf rpkg Fedora packaging (#5735) 2025-01-13 12:24:05 +08:00
SECURITY.md Update SECURITY.md (#6757) 2025-05-07 06:28:18 -05:00
suppressions.txt Unify the native display config between legacy display and MUI (#6838) 2025-06-21 06:36:04 -05:00
userPrefs.jsonc Set firmware edition (for events) from userprefs (#7488) 2025-07-28 07:31:33 -05:00
version.properties Automated version bumps (#7614) 2025-08-12 19:40:35 -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