docs: FEAT-03 extended — simulated odometer in trip replay + trip list
This commit is contained in:
+10
-2
@@ -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`
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user