42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
|
|
## Exercise 09: GPS Time (L76K)
|
||
|
|
|
||
|
|
This exercise boots the T-Beam Supreme and verifies GPS behavior at startup.
|
||
|
|
|
||
|
|
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.
|
||
|
|
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
|
||
|
|
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.
|
||
|
|
- 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
|
||
|
|
|
||
|
|
```bash
|
||
|
|
source /home/jlpoole/rnsenv/bin/activate
|
||
|
|
pio run -e node_a
|
||
|
|
```
|
||
|
|
|
||
|
|
## Upload
|
||
|
|
|
||
|
|
```bash
|
||
|
|
source /home/jlpoole/rnsenv/bin/activate
|
||
|
|
pio run -e node_a -t upload --upload-port /dev/ttyACM0
|
||
|
|
```
|