docs: FEAT-03 extended — simulated odometer in trip replay + trip list

This commit is contained in:
Mathieu Moran
2026-08-12 17:12:45 -04:00
parent 0d5aea5947
commit e8746e5d69
2 changed files with 19 additions and 3 deletions
+10 -2
View File
@@ -63,13 +63,21 @@ dedicated PLAN.md phase (or fold it into the relevant existing work) and mark it
first, add pairing only if provisioning still feels annoying.
### FEAT-03 — Manual start odometer fallback when OBD odometer is unavailable
- **Status**: `SHIPPED` 2026-08-11
- **Area**: Settings page, Dashboard, `modules/app_settings.py`, `modules/app_sql.py`
- **Status**: `SHIPPED` 2026-08-11 (extended 2026-08-12)
- **Area**: Settings page, Dashboard, trip history, `modules/app_settings.py`, `modules/app_sql.py`,
`modules/app_trip.py`, `server/modules/db.py`, `static/js/history.js`
- **Phase**: Phase 27
- **What**: Settings page now has an "Odometer baseline (km)" field. The app stores
this value and computes `odometer_km = baseline + cumulative trip distance`. Dashboard
shows "(manual)" label when using baseline. When baseline is 0, falls back to live
OBD reading (the original behavior). Also appears in `/api/stats` response.
- **2026-08-12 — simulated odometer in trip history**: the trip replay scrubber now
shows an "Odometer" line below speed. Per-point odometer is the raw OBD value when
the vehicle reports one (PID 0xA6), otherwise a **continuous simulation**:
`baseline + Σ(prior trips' distance) + within-trip distance`. The trip-list
"Odometer" column uses the same continuous formula on both Pi and server (previously
the server hardcoded `None` and the Pi ignored the baseline). The 2013 Yaris doesn't
report PID 0xA6, so every point uses the simulated value.
### FEAT-04 — Replace SIM868 2G GSM hat with 4G LTE modem (Huawei E3372h-153)
- **Status**: `IDEA`