diff --git a/docs/implementation-roadmap.md b/docs/implementation-roadmap.md new file mode 100644 index 0000000..67a1ef7 --- /dev/null +++ b/docs/implementation-roadmap.md @@ -0,0 +1,294 @@ +# Implementation Roadmap + +## Purpose + +This document defines the planned implementation order for the Xterra Overland Power & Monitoring Dashboard. + +The goal is to build the system incrementally, validating hardware and software at each stage before adding additional complexity. + +--- + +# Current Status + +## Complete + +* Project architecture defined +* Hardware architecture defined +* UART protocol defined +* Pico architecture defined +* UI wireframes defined +* ESP32 firmware compiles +* Simulator exists and functions + +## In Progress + +* ESP32 controller firmware +* Communication protocol implementation + +## Not Started + +* Pico firmware +* Display integration +* Touch integration +* Buzzer integration +* End-to-end communications + +--- + +# Milestone 1: ESP32 Hardware Bring-Up + +## Goal + +Verify cargo-controller hardware. + +## Tasks + +* Flash ESP32 firmware +* Verify boot process +* Verify AP mode +* Verify HTTP API +* Verify relay outputs +* Verify DS18B20 framework +* Verify UART initialization + +## Success Criteria + +* ESP32 boots reliably +* Relay outputs function correctly +* Status API responds correctly +* No crashes or watchdog resets + +--- + +# Milestone 2: Pico Hardware Bring-Up + +## Goal + +Verify dashboard hardware. + +## Tasks + +* Verify Pico 2 W operation +* Verify ST7796S display +* Verify FT6336U touch controller +* Verify buzzer operation + +## Success Criteria + +* Display initializes reliably +* Touch events are detected +* Buzzer can be activated + +--- + +# Milestone 3: UART Communications + +## Goal + +Establish communications between Pico and ESP32. + +## Tasks + +* Wire UART over CAT5 +* Implement status requests +* Implement status responses +* Implement relay commands +* Implement error handling +* Implement communication timeout detection + +## Success Criteria + +* Pico receives live status +* Pico can control relays +* Communication loss is detected + +--- + +# Milestone 4: Dashboard UI Foundation + +## Goal + +Render live data on the touchscreen. + +## Tasks + +* Create screen manager +* Create app state +* Create dashboard screen +* Create navigation bar +* Create communication status indicators + +## Success Criteria + +* Live battery data displayed +* Live temperature data displayed +* Navigation functional + +--- + +# Milestone 5: Detailed Screens + +## Goal + +Implement all planned screens. + +## Tasks + +### Battery Screen + +* SOC +* Voltage +* Current +* Runtime +* Temperature + +### Temperature Screen + +* Fridge Zone 1 +* Fridge Zone 2 +* Rear Seat +* Outside Air + +### Power Screen + +* Starlink control +* Fridge control + +### System Screen + +* Communication status +* Sensor status +* Firmware information + +## Success Criteria + +* All screens functional +* Navigation stable +* Live updates working + +--- + +# Milestone 6: Alarm System + +## Goal + +Implement alerting and warning system. + +## Tasks + +* Alarm manager +* Alarm overlay +* Communication alarms +* Battery alarms +* Temperature alarms +* Sensor fault alarms +* Buzzer manager + +## Success Criteria + +* Alarms trigger correctly +* Alarm overlay displays correctly +* Buzzer alerts function correctly + +--- + +# Milestone 7: DS18B20 Integration + +## Goal + +Implement all production sensors. + +## Sensors + +### Fridge Zone 1 + +Monitor refrigerator compartment. + +### Fridge Zone 2 + +Monitor freezer compartment. + +### Rear Seat Area + +Monitor passenger compartment. + +### Outside Air + +Monitor ambient exterior temperature. + +## Success Criteria + +* All sensors report correctly +* Sensor failures are detected + +--- + +# Milestone 8: JBD/Xiaoxiang BMS Integration + +## Goal + +Replace simulated battery data with live battery data. + +## Tasks + +* BLE communication +* Battery status retrieval +* Runtime calculations +* Health monitoring + +## Success Criteria + +* Live battery data displayed +* No simulated battery values required + +--- + +# Milestone 9: Vehicle Integration + +## Goal + +Add vehicle-specific information. + +## Potential Features + +* Ignition state +* OBD-II integration +* CAN bus integration +* Engine information +* Fuel information + +## Status + +Future planning only. + +--- + +# Milestone 10: Future Expansion + +## Potential Features + +* Additional relays +* Inverter control +* Lighting control +* Starlink diagnostics +* GPS integration +* Home Assistant integration + +## Status + +Future planning only. + +--- + +# Explicitly Not Planned + +The following items are currently out of scope: + +* Cloud connectivity +* Internet dependency +* User accounts +* Persistent logging +* Historical graphing +* Subscription services + +The system should remain fully functional offline.