repo: archive legacy pico dashboard
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
# Legacy Pico Dashboard
|
||||||
|
|
||||||
|
This directory contains the archived Raspberry Pi Pico dashboard implementation.
|
||||||
|
|
||||||
|
It is no longer active project firmware.
|
||||||
|
|
||||||
|
## Why this was archived
|
||||||
|
|
||||||
|
The current dashboard direction is the Waveshare ESP32-S3 touchscreen dashboard communicating with the Cargo ESP32 over WiFi/HTTP REST.
|
||||||
|
|
||||||
|
The Pico dashboard path was based around:
|
||||||
|
|
||||||
|
- Raspberry Pi Pico / Pico 2 W
|
||||||
|
- UART communication
|
||||||
|
- Pico-specific display/touch/buzzer hardware
|
||||||
|
- Python/MicroPython-style dashboard structure
|
||||||
|
|
||||||
|
That architecture is no longer the current plan.
|
||||||
|
|
||||||
|
## What may still be useful
|
||||||
|
|
||||||
|
Some concepts may still be useful as reference material when building the ESP32-S3 dashboard:
|
||||||
|
|
||||||
|
- HTTP client flow
|
||||||
|
- State model ideas
|
||||||
|
- Alarm logic concepts
|
||||||
|
- Screen/view-model structure
|
||||||
|
- API payload expectations
|
||||||
|
|
||||||
|
Treat this as reference only. Do not add new active dashboard code here.
|
||||||
|
|
||||||
|
## Current dashboard target
|
||||||
|
|
||||||
|
Active dashboard work should go under:
|
||||||
|
|
||||||
|
firmware/esp32-s3-dashboard/
|
||||||
|
|
||||||
|
or another explicitly approved ESP32-S3 dashboard firmware location.
|
||||||
@@ -156,3 +156,14 @@ Current Cargo ESP32 GPIO plan:
|
|||||||
- v1 dashboard communication is WiFi/HTTP REST only.
|
- v1 dashboard communication is WiFi/HTTP REST only.
|
||||||
- ESP-NOW, MQTT, UART dashboard link, and CAN-between-controllers are not v1 architecture.
|
- ESP-NOW, MQTT, UART dashboard link, and CAN-between-controllers are not v1 architecture.
|
||||||
- Load-switching hardware is not finalized. Bosch relays, WUPP-style fused distribution, smart high-side switching, and custom PCB options remain implementation choices until explicitly selected.
|
- Load-switching hardware is not finalized. Bosch relays, WUPP-style fused distribution, smart high-side switching, and custom PCB options remain implementation choices until explicitly selected.
|
||||||
|
|
||||||
|
## Legacy Pico Dashboard Archive
|
||||||
|
|
||||||
|
The old Pico dashboard implementation has been archived at `archive/legacy-pico-dashboard/`.
|
||||||
|
|
||||||
|
Do not treat it as active firmware. It may be referenced for old HTTP/state/alarm/UI ideas, but new dashboard work should target the ESP32-S3 dashboard path.
|
||||||
|
|
||||||
|
Default validation should use the repo-local virtual environment:
|
||||||
|
|
||||||
|
source .venv/bin/activate
|
||||||
|
python run_tests.py
|
||||||
|
|||||||
@@ -35,3 +35,6 @@ Archived documents are kept for history, but the primary documents above should
|
|||||||
- `PARITY_MATRIX.md` - Command parity across USB serial, UART JSON, and HTTP API
|
- `PARITY_MATRIX.md` - Command parity across USB serial, UART JSON, and HTTP API
|
||||||
|
|
||||||
- `controller-roles.md` - Cargo ESP vs Dashboard ESP32-S3 responsibility boundaries
|
- `controller-roles.md` - Cargo ESP vs Dashboard ESP32-S3 responsibility boundaries
|
||||||
|
|
||||||
|
- `../archive/legacy-pico-dashboard/` - Archived Pico dashboard implementation kept for reference only.
|
||||||
|
- `../firmware/esp32-s3-dashboard/` - Current ESP32-S3 dashboard firmware placeholder.
|
||||||
|
|||||||
@@ -214,3 +214,11 @@ Summary:
|
|||||||
- v1 communications: Dashboard connects to Cargo ESP AP over WiFi/HTTP REST.
|
- v1 communications: Dashboard connects to Cargo ESP AP over WiFi/HTTP REST.
|
||||||
- Not v1 communications: ESP-NOW, MQTT, UART dashboard link, or CAN between controllers.
|
- Not v1 communications: ESP-NOW, MQTT, UART dashboard link, or CAN between controllers.
|
||||||
- Load-switching hardware is still an implementation choice, not frozen architecture.
|
- Load-switching hardware is still an implementation choice, not frozen architecture.
|
||||||
|
|
||||||
|
## Pico Dashboard Archive Cleanup
|
||||||
|
|
||||||
|
The old `pico-dashboard/` implementation has been moved to `archive/legacy-pico-dashboard/`.
|
||||||
|
|
||||||
|
It is retained as reference material only. It is not active firmware and is no longer part of the default validation path.
|
||||||
|
|
||||||
|
Current dashboard work should target the ESP32-S3 dashboard direction documented in `docs/dashboard-esp32s3.md` and the placeholder at `firmware/esp32-s3-dashboard/`.
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# ESP32-S3 Dashboard Firmware
|
||||||
|
|
||||||
|
This is the placeholder for the current dashboard firmware direction.
|
||||||
|
|
||||||
|
## Target hardware
|
||||||
|
|
||||||
|
Current dashboard target:
|
||||||
|
|
||||||
|
- Waveshare ESP32-S3 touchscreen display
|
||||||
|
- WiFi connection to the Cargo ESP32 access point
|
||||||
|
- HTTP/REST communication with the Cargo ESP32 API
|
||||||
|
- Future LVGL-based dashboard UI
|
||||||
|
|
||||||
|
## Responsibilities
|
||||||
|
|
||||||
|
The ESP32-S3 dashboard is responsible for:
|
||||||
|
|
||||||
|
- Touchscreen UI
|
||||||
|
- Vehicle gauges
|
||||||
|
- Dashboard rendering
|
||||||
|
- Future CAN/OBD-II vehicle visualization
|
||||||
|
- Future tilt/roll/off-road screen visualization
|
||||||
|
|
||||||
|
## Not responsible for
|
||||||
|
|
||||||
|
The ESP32-S3 dashboard does not own:
|
||||||
|
|
||||||
|
- Relay authority
|
||||||
|
- BMS authority
|
||||||
|
- Alarm authority
|
||||||
|
- Cargo ESP configuration storage
|
||||||
|
- Load-switching hardware control as the source of truth
|
||||||
|
|
||||||
|
The Cargo ESP32 remains the power-system controller and source of truth.
|
||||||
|
|
||||||
|
## v1 communication path
|
||||||
|
|
||||||
|
Dashboard ESP32-S3
|
||||||
|
<-> WiFi / HTTP REST
|
||||||
|
Cargo ESP32 AP
|
||||||
|
|
||||||
|
Not v1 dashboard communication:
|
||||||
|
|
||||||
|
- Pico UART
|
||||||
|
- ESP-NOW
|
||||||
|
- MQTT
|
||||||
|
- CAN between controllers
|
||||||
@@ -3,26 +3,6 @@ import sys
|
|||||||
|
|
||||||
|
|
||||||
COMMANDS = [
|
COMMANDS = [
|
||||||
[sys.executable, "-m", "py_compile",
|
|
||||||
"pico-dashboard/main.py",
|
|
||||||
"pico-dashboard/app.py",
|
|
||||||
"pico-dashboard/comms/protocol.py",
|
|
||||||
"pico-dashboard/comms/uart_client.py",
|
|
||||||
"pico-dashboard/comms/http_client.py",
|
|
||||||
"pico-dashboard/comms/communication_service.py",
|
|
||||||
"pico-dashboard/state/app_state.py",
|
|
||||||
"pico-dashboard/alarms/alarm_definitions.py",
|
|
||||||
"pico-dashboard/alarms/alarm_manager.py",
|
|
||||||
"pico-dashboard/ui/screen_manager.py",
|
|
||||||
"pico-dashboard/ui/dashboard_view_model.py",
|
|
||||||
"pico-dashboard/ui/detail_view_models.py",
|
|
||||||
"pico-dashboard/ui/alarm_view_model.py",
|
|
||||||
"pico-dashboard/ui/touch_router.py",
|
|
||||||
"pico-dashboard/ui/renderers.py",
|
|
||||||
"pico-dashboard/hardware/display.py",
|
|
||||||
"pico-dashboard/hardware/touch.py",
|
|
||||||
"pico-dashboard/hardware/buzzer.py"],
|
|
||||||
[sys.executable, "-m", "pytest", "tests/test_pico_core.py"],
|
|
||||||
[sys.executable, "-m", "pytest", "tests/test_http_api_contract.py"],
|
[sys.executable, "-m", "pytest", "tests/test_http_api_contract.py"],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user