Meshtastic device firmware
Go to file
todd-herbert 33831cd41c
GPS Power State tidy-up (#4161)
* Refactor GPSPowerState enum
Identifies a case where the GPS hardware is awake, but an update is not yet desired

* Change terminology

* Clear old lock-time prediction on triple press

* Use exponential smoothing to predict lock time

* Rename averageLockTime to predictedLockTime

* Attempt: Send PMREQ with duration 0 on MCU deep-sleep

* Attempt 2: Send PMREQ with duration 0 on MCU deep-sleep

* Revert "Attempt 2: Send PMREQ with duration 0 on MCU deep-sleep"

This reverts commit 8b697cd2a4.

* Revert "Attempt: Send PMREQ with duration 0 on MCU deep-sleep"

This reverts commit 9d29ec7603.

* Remove unused notifyGPSSleep Observable
Handled with notifyDeepSleep, and enable() / disable()

* WIP: simplify GPS power management
An initial attempt only.

* Honor #3e9e0fd

* No-op when moving between GPS_IDLE and GPS_ACTIVE

* Ensure U-blox GPS is awake to receive indefinite sleep command

* Longer pause when waking U-blox to send sleep command

* Actually implement soft and hard sleep..

* Dynamically estimate the threshold for GPS_HARDSLEEP

* Fallback to GPS_HARDSLEEP, if GPS_SOFTSLEEP unsupported

* Move "excessive search time" behavior to scheduler class

* Minor logging adjustments

* Promote log to warning

* Gratuitous buffer clearing on boot

* Fix inverted standby pin logic
Specifically the standby pin for L76B, L76K and clones
Discovered during T-Echo testing: totally broken function, probe method failing.

* Remove redundant pin init
Now handled by setPowerState

* Replace max() with if statements
Avoid those platform specific implementations..

* Trunk formatting
New round of settings.json changes keep catching me out, have to remember to re-enable my "clang-format" for windows workaround.

* Remove some asserts from setPowerState
Original aim was to prevent sending a 0 second PMREQ to U-blox hardware as part of a timed sleep (GPS_HARDSLEEP, GPS_SOFTSLEEP). I'm not sure this is super important, and it feels tidier to just allow the 0 second sleeptime here, rather than fudge the sleeptime further up.

* Fix an error determining whether GPS_SOFTSLEEP is supported

* Clarify a log entry

* Set PIN_STANDBY for MCU deep-sleep
Required to reach TTGO's advertised 0.25mA sleep current for T-Echo. Without this change: ~6mA.
2024-07-11 15:26:43 +12:00
.github Update build_raspbian_armv7l.yml --fix-missing 2024-07-10 14:42:29 -05:00
.trunk Update trunk.yaml 2024-07-10 14:39:41 -05:00
.vscode tell vscode, if formatting, use whatever our trunk formatter wants (#4186) 2024-06-27 13:14:16 -05:00
arch Update NimBLE to 1.4.2 (#4163) 2024-06-22 08:49:55 -05:00
bin Helps if you remove the original clause 2024-07-09 09:23:59 -05:00
boards Add Heltec new boards. (#4226) 2024-07-09 11:56:57 -05:00
data/static Bundle WebUI (#878) 2021-10-09 17:15:12 +11:00
extra_scripts Don't complain about wierd platformio python 2024-06-20 12:28:43 -07:00
images remove hard to maintain system-info bootloader 2022-10-01 09:50:16 +02:00
monitor add rudimentary exception decoder for RISC-V CPU 2023-03-05 14:55:12 +01:00
protobufs@10494bf328 [create-pull-request] automated change (#4263) 2024-07-10 15:15:57 -05:00
release don't keep uf2 files in source control 2020-08-21 09:37:41 -07:00
src GPS Power State tidy-up (#4161) 2024-07-11 15:26:43 +12:00
variants Move e290 to board level extra while CI is broken 2024-07-10 07:28:29 -05:00
.gitattributes trunk roundhouse kick 2023-01-21 21:23:24 +01:00
.gitignore Native Webserver (#3343) 2024-03-06 16:23:04 -06:00
.gitmodules revert protobuf change to develop 2022-11-26 16:03:17 +01:00
.semgrepignore Ignore upstream defect 2022-11-20 16:14:32 +01:00
docker-compose.yml trunk roundhouse kick 2023-01-21 21:23:24 +01:00
Dockerfile Ensure data directory ownership is with mesh user (#4097) 2024-06-14 10:45:16 -05:00
LICENSE move my bt experiment into its own repo (about to remove ttn) 2020-02-01 08:30:53 -08:00
partition-table.csv - new Bootloader for ESP-IDF 4.2 2022-09-26 22:42:58 +02:00
platformio.ini Add Heltec new boards. (#4226) 2024-07-09 11:56:57 -05:00
pyocd.yaml Add semihosting support for nrf52 devices (#4137) 2024-06-24 10:27:37 -05:00
README.md Update README.md 2023-10-09 22:30:02 +10:00
suppressions.txt Cpp-check warnings cleanup (#3014) 2023-12-14 07:35:46 -06:00
version.properties [create-pull-request] automated change (#4247) 2024-07-08 14:26:19 -05:00

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

Overview

This repository contains the device firmware for the Meshtastic project.

Stats

Alt