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`
+9 -1
View File
@@ -1971,7 +1971,15 @@ Unraid now uses SSH deploy key for git operations. BUGS.md Open section is empty
tracked in FEATURES.md.
**Shipped:**
- **FEAT-03 — Manual odometer baseline** (2026-08-11)
- **FEAT-03 — Manual odometer baseline** (2026-08-11, extended 2026-08-12): Settings
"Odometer baseline (km)" field; dashboard shows baseline + trip distance. Extended
2026-08-12 with a **simulated odometer in trip history**: replay scrubber shows an
"Odometer" line below speed, and the trip-list column uses a continuous formula
`baseline + Σ(prior trips) + within-trip distance` (raw OBD value when PID 0xA6 is
reported). Fixed a latent bug where the Pi's list_trips fallback ignored the baseline
and the server hardcoded `odo_start_km/end_km = None`. Changed: `modules/app_trip.py`,
`modules/app_sql.py`, `server/modules/db.py`, `static/js/history.js`,
`templates/history.html`, `server/templates/history.html`.
- **FEAT-06 — Trip ID column in history** (2026-08-11)
- **FEAT-07 — Phone-hotspot auto-connect docs** (2026-08-11)
- **FEAT-05 — DTC history sync to server** (2026-08-12): Pi pushes DTC snapshots