Implement Read-Only OLED Status UI
This commit is contained in:
+6
-4
@@ -212,10 +212,12 @@ The persistent yellow strip is reserved for serial-service state, Wi-Fi strength
|
||||
- Frame commits refresh only dirty 8-pixel pages. I²C runs at 100 kHz with bounded transactions.
|
||||
- The display bus initializes at boot; a known display is automatically initialized and cleared. A missing or unresponsive display is nonfatal and does not make the serial core dependent on it.
|
||||
- Target-hardware validation passed for initialization, all display diagnostic patterns, the rendered panel layout and physical divider, row 15/16 boundary, contrast, inversion, display-off/reinitialization, and button diagnostics. Observed contrast control has a useful brightness range of 1–255.
|
||||
3. **Phase 7C — Read-only status UI — Planned**
|
||||
- Build display state from existing serial, Wi-Fi, broker, USB, WebSocket, HTTPS, and SSH snapshot APIs rather than parsing CLI output or reaching into transport internals.
|
||||
- Provide overview, RS-232/modem, broker-client/writer, and network/service pages.
|
||||
- Refresh at a bounded low rate, initially about 4 Hz, from a low-priority owner task. Never hold a service lock across an I²C transaction.
|
||||
3. **Phase 7C — Read-only status UI — Implemented; validation pending**
|
||||
- The low-priority `local_status_ui` owner task builds display state from copied public serial, Wi-Fi, broker, USB, WebSocket, HTTPS, and SSH snapshots. It does not parse CLI output, reach into transport internals, or become a broker client.
|
||||
- Previous/back and next short presses navigate overview, RS-232/modem, broker-client/writer, and network/service pages. Select has no state-changing action in this read-only phase.
|
||||
- The task polls and debounces the existing active-low button inputs and refreshes at 4 Hz maximum. It collects service snapshots before beginning a display frame, so no service or broker lock is held across an I²C transaction.
|
||||
- A missing/unresponsive display is nonfatal; the task remains read-only and never acquires serial writer ownership.
|
||||
- Pending target-hardware validation: page navigation, each page's live snapshot values, concurrent USB/WebSocket/SSH operation while refreshing, and UART0 responsiveness.
|
||||
4. **Phase 7D — Local controls — Planned**
|
||||
- Add a shallow menu for safe serial, Wi-Fi, HTTPS, SSH, writer-release, display, and reboot actions through direct service APIs.
|
||||
- Require a visible confirmation screen and a timed select hold before stopping active services, revoking a writer, rebooting, or performing another disruptive action.
|
||||
|
||||
Reference in New Issue
Block a user