After various memory exercises, then back to GPS to get UBlox working. UBlox is working. TODO: start libraries, downplay SD Card as we can use memory for interim logging

This commit is contained in:
John Poole 2026-04-04 11:52:41 -07:00
commit 41c1fe6819
16 changed files with 2016 additions and 71 deletions

View file

@ -1,4 +1,4 @@
## Exercise 09: GPS Time (L76K)
## Exercise 09: GPS Time (L76K + UBLOX)
This exercise boots the T-Beam Supreme and verifies GPS behavior at startup.
@ -13,11 +13,10 @@ Implemented behavior:
1. Initializes PMU, OLED, and SD startup watcher (same startup SD path used in Exercise 08).
2. Probes GPS at startup for NMEA traffic, module identity, satellite count, and UTC time availability.
- Uses explicit GPS UART pins and an active startup probe (multi-baud + common GPS query commands), aligned with the approach validated in Exercise 10.
3. If L76K is detected, normal GPS-time flow continues.
4. If L76K is not detected and Quectel-style module text is detected, OLED shows a hard TODO error:
- Quectel detected
- L76K required
- Quectel support is TODO
3. Supports both module profiles via `platformio.ini` build flags:
- `node_a` / `node_b`: `GPS_L76K`
- `node_c`: `GPS_UBLOX`
4. If detected module data conflicts with the selected node profile, OLED shows a `GPS module mismatch` error.
5. Every minute:
- If GPS UTC is valid: shows GPS UTC time and satellites on OLED.
- If satellites are seen but UTC is not valid yet: shows that condition and RTC time.
@ -31,8 +30,12 @@ Implemented behavior:
Notes:
- GPS time displayed is UTC from NMEA RMC with valid status.
- Satellite count uses best available from GGA/GSV.
- Satellite count uses best available from GGA/GSA/GSV.
- RTC fallback reads PCF8563 via Wire1.
- For UBLOX hardware use `-e node_c`.
- The UBLOX MAX-M10S path is given a longer startup window than L76K because cold starts are slower, especially if backup power/orbit data are unavailable.
- On T-Beam Supreme, `GPS_WAKEUP_PIN=7` is relevant for the L76K variant; the UBLOX MAX-M10S does not use that wake pin in the same way.
- For fastest UBLOX reacquisition, test with the 18650 attached so the GNSS backup domain can preserve assistance state across resets/power cycles.
## Build