Plan native Android app + full UI redesign; expand OBD data scope; deprioritize Android app
Phase 16: complete web UI redesign - the current template is full of never-replaced placeholder cruft (stub buttons, empty /dtc page); do one real design pass once the functional phases land rather than keep bolting onto the old admin-template style. Phase 17: native Android companion app - the real fix for the phone-relay goal that a web page could never deliver (true simultaneous WiFi-to-Pi + cellular-to-server via bindProcessToNetwork), plus a trip/location info view. Explicitly deprioritized to the end of the roadmap per user - not urgent. Also expanded Phase 15 (OBD hardening) scope to pull richer dashboard data (coolant temp, fuel level, throttle, DTC/MIL status) alongside speed/RPM, noting odometer/mileage support is not guaranteed on this vehicle/year and needs real-car confirmation. Co-authored-by: Copilot <[email protected]>
This commit is contained in:
@@ -729,6 +729,54 @@ all in `modules/app_obd.py` / `modules/app_events.py`:
|
||||
- **Add a small connect-time diagnostic log** (ELM327 firmware version + negotiated protocol,
|
||||
both available from `python-obd`'s connection object) written once per successful connect -
|
||||
useful evidence to sanity-check against Toyota's expected protocol on the very first real test.
|
||||
- **Expand the data pulled from the car beyond speed/RPM**, to feed the richer dashboard planned
|
||||
in Phase 17: coolant temperature, fuel level, throttle position, and DTC/MIL status (check-
|
||||
engine light on/off + stored trouble codes, reusing/wiring up the already-scaffolded but
|
||||
currently-empty `/dtc` page and `GET_DTC` command). **Odometer/mileage is not guaranteed** -
|
||||
the standard OBD-II mode 1 PID for total odometer (0xA6) was only added to the SAE J1979 spec
|
||||
in later revisions and is inconsistently supported across manufacturers/years; whether the
|
||||
2013 Yaris's ECU exposes it at all can only be confirmed once tested against the real car
|
||||
(falls under "code hardening only" for now - add the query with graceful "unsupported" handling
|
||||
rather than assuming it will work).
|
||||
|
||||
### Phase 16: Complete web UI redesign — PLANNED
|
||||
The current `templates/`/`static/` UI is an old, mostly-unmodified admin dashboard template
|
||||
(SB Admin 2-style Bootstrap theme) with leftover placeholder cruft never replaced with real
|
||||
content - e.g. `index.html`'s "Placeholder button", dropdown menus full of "Action" / "Another
|
||||
action" / "Something else here" stub links, and a `/dtc` page that's just an empty "Output" card
|
||||
with nothing wired up to it at all. Given how much is changing anyway (phone-relay removal,
|
||||
new dashcam/video browsers, richer OBD data), do a proper pass over the whole UI rather than
|
||||
keep bolting new cards onto the old template:
|
||||
- Replace/remove all placeholder buttons, dropdown menus, and stub links that don't do anything.
|
||||
- Real design pass for the new features rather than reusing the generic admin-template card style
|
||||
as-is: the dashcam/video file browsers (Phases 13-14) and the expanded OBD data (Phase 15) all
|
||||
need list/table and status-display patterns that don't really exist in the current template.
|
||||
- Wire up the actually-empty `/dtc` page to show real DTC/MIL data once Phase 15 exposes it.
|
||||
- Not yet scoped: whether to keep Bootstrap 5 + the current theme framework and just clean it up,
|
||||
or replace the frontend stack entirely. To be decided once the functional phases above land, so
|
||||
the redesign is done once against the final feature set rather than repeatedly against a moving
|
||||
target.
|
||||
|
||||
### Phase 17: Native Android companion app — PLANNED (low priority, do last)
|
||||
Revives the phone-relay goal (Phase 11/12) properly this time, using a real native app instead of
|
||||
a web page - the only way to actually hold a WiFi connection to the Pi's hotspot and a cellular
|
||||
connection to the internet open simultaneously (`ConnectivityManager.bindProcessToNetwork()`,
|
||||
unavailable to browser JS - see the Phase 11 update). Explicitly **not urgent** - deprioritized to
|
||||
the end of the roadmap, after all web-side work (Phases 12-16) is done. Scope, at a high level
|
||||
(not yet designed in detail):
|
||||
- **Dashcam file transfer**: browse/select/delete dashcam clips already imported to the Pi (same
|
||||
data as the Phase 14 local video browser, just a native client instead of/alongside the web UI),
|
||||
download them to the phone, and upload to the remote server over cellular while the phone stays
|
||||
on the Pi's hotspot for the download leg - the true simultaneous dual-network relay the web
|
||||
version could never deliver.
|
||||
- **Trip/location info**: surface live GPS position, speed, and trip history pulled from the Pi
|
||||
while connected to its hotspot (reusing the existing `/api/gps`-style data feeds), so the app is
|
||||
useful as a real "check on the car" companion, not just a file-transfer tool.
|
||||
- Not yet scoped: distribution (sideload vs Play Store), whether it talks to the Pi directly over
|
||||
the hotspot only or also to the remote server directly for trip history when away from the car,
|
||||
and how much of the existing REST API surface can be reused as-is vs needs new
|
||||
mobile-friendly endpoints. To be designed once Phases 12-16 (web-side cleanup + hardening +
|
||||
redesign) are done.
|
||||
|
||||
## Working Notes / Environment Gotchas
|
||||
|
||||
|
||||
Reference in New Issue
Block a user