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.
|
||||
- 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.
|
||||
|
||||
## 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
|
||||
|
||||
- `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.
|
||||
- Not v1 communications: ESP-NOW, MQTT, UART dashboard link, or CAN between controllers.
|
||||
- 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 = [
|
||||
[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"],
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user