Align docs with ESP32-S3 dashboard architecture
This commit is contained in:
+18
-15
@@ -1,6 +1,6 @@
|
||||
# Project State
|
||||
|
||||
Last updated: 2026-06-04
|
||||
Last updated: 2026-06-07
|
||||
|
||||
## Version
|
||||
|
||||
@@ -18,11 +18,11 @@ Core controller:
|
||||
|
||||
Current dashboard plan:
|
||||
|
||||
Raspberry Pi Pico 2 W physical dashboard over UART
|
||||
Waveshare ESP32-S3-Touch-LCD-5 over WiFi/HTTP
|
||||
|
||||
Optional future expansion:
|
||||
|
||||
Pi Zero 2 W for advanced logging, charts, and integrations
|
||||
Pi Zero for long-term logging, charts, and local integrations
|
||||
|
||||
## ESP32 Responsibilities
|
||||
|
||||
@@ -36,7 +36,7 @@ The ESP32 is the source of truth for:
|
||||
- Embedded WebUI
|
||||
- WiFi AP recovery network
|
||||
- WiFi STA client mode
|
||||
- UART protocol for future Pico dashboard
|
||||
- Optional UART JSON protocol for diagnostics or alternate clients
|
||||
|
||||
## Current Working Features
|
||||
|
||||
@@ -117,15 +117,11 @@ Current rear enclosure target:
|
||||
|
||||
Relay strategy:
|
||||
|
||||
Battery positive -> fuse -> relay COM -> relay NO -> load positive
|
||||
Load negative -> ground bus
|
||||
ESP32 relay board output
|
||||
-> external fused automotive relay or contactor trigger
|
||||
-> fused load circuit
|
||||
|
||||
The built-in relays are currently planned for:
|
||||
|
||||
- Starlink Mini
|
||||
- 12V fridge
|
||||
|
||||
External automotive relays remain a future option for higher-current loads.
|
||||
The ESP32 relay board outputs are control/trigger outputs only. Fridge, Starlink, inverter, and other major loads must use properly fused automotive relay or contactor circuits.
|
||||
|
||||
## Temperature Sensor Direction
|
||||
|
||||
@@ -159,11 +155,16 @@ Examples:
|
||||
1. Verify WebUI setup workflow after fresh flash.
|
||||
2. Clean up DS18B20 physical distribution hardware.
|
||||
3. Test 2-4 temperature probes after distribution board is installed.
|
||||
4. Start Pico dashboard MVP over UART.
|
||||
4. Start Waveshare ESP32-S3 dashboard MVP over WiFi/HTTP.
|
||||
5. Add config backup/restore.
|
||||
6. Improve BMS out-of-range behavior without changing NimBLE connect timeout.
|
||||
7. Define future Pi Zero logging/integration role without moving control authority off the Cargo ESP32.
|
||||
|
||||
- Fixed WebUI temperature probe scan by registering `/temps/scan`, `/temps/assign`, and `/temps/clear` firmware routes.\n\n- Added per-temperature-sensor `weather` flag and WebUI outside temperature badge with emoji thresholds: below 50°F ice, 50-74°F happy, 75-84°F sun, and 85°F+ fire.\n\n- Improved WebUI temperature sensor config checkbox layout with compact On/Weather controls.\n\n- Temperature probe assignment now enforces one logical slot per physical DS18B20 address; assigning a probe to a new slot clears the old slot mapping.\n\n- Added per-slot WebUI Clear buttons for temperature probe assignments using the existing `/temps/clear` API.\n\n- Fixed weather temp checkbox persistence by saving the `weather` flag from WebUI temp config and auto-saving checkbox changes.\n\n- Fixed temperature assignment clearing so Clear removes the stored DS18B20 address, disables the slot, clears weather flag, and resets cached temp state.\n\n- Hardened `/temps/clear` so clearing a temp slot removes the persisted DS18B20 address, disables the slot, clears weather flag, resets cached temp state, and supports clearing all slots with an empty POST body.\n\n- Removed legacy physical-scan-order fallback for unassigned DS18B20 slots; enabled slots now require an explicit assigned address before reporting a value.\n\n- Filtered DS18B20 scan results so already-assigned probe addresses are hidden until cleared from their configured temp slot.\n\n- Moved WebUI Temperature Assignment card directly above Temperature Sensor Config for better setup flow.\n\n- Added read-only assigned DS18B20 address display under each WebUI temperature config slot.\n\n- Fixed DS18B20 scan filtering so assigned probes are hidden from assignment results without removing them from runtime polling.\n\n- Dashboard temperature list now hides disabled, unassigned, offline, or invalid temp slots while keeping all slots visible in Config.\n\n- Fixed dashboard temp filtering to avoid requiring address in runtime temp payload.\n\n- Fixed WebUI temp config so the On checkbox fully controls whether each temp slot is enabled.\n\n- Restored Overview relay control rendering after dashboard temp layout changes.\n\n- Fixed Overview relay buttons to call the existing `relay()` WebUI handler instead of missing `setRelay()`.\n\n- Restored Overview relay controls to separate ON and OFF buttons per relay.\n
|
||||
Recent notes:
|
||||
|
||||
- WebUI temperature scan, assign, clear, and weather/outside-air selection are implemented.
|
||||
- DS18B20 slots now require explicit assigned addresses before reporting values.
|
||||
- Relay controls and temperature configuration remain driven by generic IDs plus saved configuration names.
|
||||
|
||||
|
||||
## Dashboard Architecture Update
|
||||
@@ -181,4 +182,6 @@ Dashboard Client:
|
||||
→ Consumes existing HTTP API
|
||||
→ Planned LVGL-based dashboard UI
|
||||
|
||||
The Raspberry Pi Pico 2 W dashboard path is no longer the primary implementation target. UART JSON remains supported as an optional interface for future expansion, debugging, or alternate dashboard hardware.\n\n- Added dedicated ESP32-S3 dashboard planning document covering architecture, API use, LVGL screens, connection flow, and deferred Pico path.\n
|
||||
There is no planned Pico dashboard path. Existing Pico/UART files are legacy artifacts unless explicitly revived later.
|
||||
|
||||
UART JSON remains optional for diagnostics or alternate clients. New dashboard work should target the Waveshare ESP32-S3 display and the HTTP API.
|
||||
|
||||
Reference in New Issue
Block a user