| .. | ||
| lib | ||
| src | ||
| platformio.ini | ||
| README.md | ||
Exercise 09: GPS Time (L76K)
This exercise boots the T-Beam Supreme and verifies GPS behavior at startup.
Important sequence note:
- Exercise 10 (
10_Simple_GPS) should be completed before this exercise. - Exercise 10 README contains the detailed pin-configuration explanation and troubleshooting rationale for why explicit GPS pin mapping is critical on this hardware.
- If GPS behavior is unexpected here, review Exercise 10 README first, then return to Exercise 9.
Implemented behavior:
- Initializes PMU, OLED, and SD startup watcher (same startup SD path used in Exercise 08).
- 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.
- If L76K is detected, normal GPS-time flow continues.
- 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
- 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.
- If no satellites: shows:
- "Unable to acquire"
- "satellites"
- "Take me outside so I"
- "can see satellites"
- plus current RTC time.
Notes:
- GPS time displayed is UTC from NMEA RMC with valid status.
- Satellite count uses best available from GGA/GSV.
- RTC fallback reads PCF8563 via Wire1.
Build
source /home/jlpoole/rnsenv/bin/activate
pio run -e node_a
Upload
source /home/jlpoole/rnsenv/bin/activate
pio run -e node_a -t upload --upload-port /dev/ttyACM0