diff --git a/docs/implementation-roadmap.md b/docs/implementation-roadmap.md index 67a1ef7..f92cbbf 100644 --- a/docs/implementation-roadmap.md +++ b/docs/implementation-roadmap.md @@ -1,294 +1,184 @@ -# Implementation Roadmap +# Revised Milestone Order -## Purpose +## Milestone 1: ESP32 Hardware Bring-Up -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 +### Goal Verify cargo-controller hardware. -## Tasks +### Tasks -* Flash ESP32 firmware -* Verify boot process -* Verify AP mode -* Verify HTTP API -* Verify relay outputs -* Verify DS18B20 framework -* Verify UART initialization +- Flash ESP32 firmware +- Verify WiFi AP +- Verify HTTP API +- Verify relay outputs +- Verify DS18B20 framework +- Verify UART initialization -## Success Criteria +### Success Criteria -* ESP32 boots reliably -* Relay outputs function correctly -* Status API responds correctly -* No crashes or watchdog resets +- ESP32 boots reliably +- Relays operate correctly +- HTTP API responds correctly +- No crashes or watchdog resets --- -# Milestone 2: Pico Hardware Bring-Up +## Milestone 2: JBD/Xiaoxiang BMS Integration -## Goal +### Goal + +Replace placeholder battery values with live battery telemetry. + +### Tasks + +- BLE communication +- JBD packet parsing +- Battery SOC +- Voltage +- Current +- Remaining Ah +- Runtime calculations +- Battery temperature + +### Success Criteria + +- Live battery telemetry available +- Battery data exposed through API +- Placeholder battery values removed + +--- + +## Milestone 3: Pico Hardware Bring-Up + +### Goal Verify dashboard hardware. -## Tasks +### Tasks -* Verify Pico 2 W operation -* Verify ST7796S display -* Verify FT6336U touch controller -* Verify buzzer operation +- Display initialization +- Touch initialization +- Buzzer verification -## Success Criteria +### Success Criteria -* Display initializes reliably -* Touch events are detected -* Buzzer can be activated +- Display functional +- Touch functional +- Buzzer functional --- -# Milestone 3: UART Communications +## Milestone 4: UART Communications -## Goal +### Goal -Establish communications between Pico and ESP32. +Connect Pico and ESP32. -## Tasks +### Tasks -* Wire UART over CAT5 -* Implement status requests -* Implement status responses -* Implement relay commands -* Implement error handling -* Implement communication timeout detection +- UART transport +- Status requests +- Status responses +- Relay commands +- Error handling +- Timeout detection -## Success Criteria +### Success Criteria -* Pico receives live status -* Pico can control relays -* Communication loss is detected +- Live data displayed on Pico +- Relay control operational --- -# Milestone 4: Dashboard UI Foundation +## Milestone 5: Dashboard UI -## Goal +### Goal -Render live data on the touchscreen. +Create the primary user interface. -## Tasks +### Tasks -* Create screen manager -* Create app state -* Create dashboard screen -* Create navigation bar -* Create communication status indicators +- Dashboard screen +- Battery screen +- Temperatures screen +- Power screen +- System screen -## Success Criteria +### Success Criteria -* Live battery data displayed -* Live temperature data displayed -* Navigation functional +- All screens functional +- Navigation stable +- Live updates working --- -# Milestone 5: Detailed Screens +## Milestone 6: DS18B20 Integration -## Goal +### Goal -Implement all planned screens. +Implement all production temperature sensors. -## Tasks +### Sensors -### Battery Screen +- Fridge Zone 1 +- Fridge Zone 2 +- Rear Seat Area +- Outside Air -* SOC -* Voltage -* Current -* Runtime -* Temperature +### Success Criteria -### 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 +- Sensors report correctly +- Sensor failures detected --- -# Milestone 6: Alarm System +## Milestone 7: Alarm System -## Goal +### Goal -Implement alerting and warning system. +Implement monitoring and alerting. -## Tasks +### Tasks -* Alarm manager -* Alarm overlay -* Communication alarms -* Battery alarms -* Temperature alarms -* Sensor fault alarms -* Buzzer manager +- Alarm manager +- Alarm overlay +- Buzzer integration +- Communication alarms +- Battery alarms +- Temperature alarms +- Sensor fault alarms -## Success Criteria +### Success Criteria -* Alarms trigger correctly -* Alarm overlay displays correctly -* Buzzer alerts function correctly +- Alarms trigger correctly +- Audible alerts function correctly --- -# Milestone 7: DS18B20 Integration +## Milestone 8: Vehicle Integration -## Goal +### Potential Features -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 +- Ignition state +- OBD-II +- CAN bus +- Fuel level +- Engine data Future planning only. --- -# Milestone 10: Future Expansion +## Milestone 9: Future Expansion -## Potential Features +### Potential Features -* Additional relays -* Inverter control -* Lighting control -* Starlink diagnostics -* GPS integration -* Home Assistant integration - -## Status +- Additional relays +- Inverter control +- Lighting control +- GPS +- Starlink diagnostics +- Home Assistant 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.