diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | TESTING.md | 18 |
2 files changed, 13 insertions, 7 deletions
@@ -30,7 +30,7 @@ Scrypted Viewport owns Ethernet, JPEG decode, display, touch input and outbound | Layer | Where we are | What's pending | | --- | --- | --- | -| Firmware (`main/`) | M1āM8 implemented; binary ~870 KB; builds clean against ESP-IDF 5.4 for `esp32p4`. | M9 (`POST /stream`) not started. **Zero milestones verified on hardware yet.** | +| Firmware (`main/`) | M1āM8 implemented; binary ~870 KB; builds clean against ESP-IDF 5.4 for `esp32p4`. **M1 + M2 ā
verified on hardware** (2026-06-14, Ethernet + `GET /state` + mDNS browse). | M9 (`POST /stream`) not started. M3āM8 still š” (panel not yet attached). | | Scrypted side (`scrypted/`) | v1 Script ā DeviceProvider with per-viewport child devices, camera picker, mDNS auto-resolve. | v2 plugin (packaged + FFmpeg streaming to `/stream`) not started. Script unverified end-to-end. | | Hardware | Ethernet pin map confirmed (Waveshare wiki + ESPHome). Hosyond panel architecture confirmed (Pi 7"-style, TC358762 bridge + ATTINY MCU at I²C `0x45`). Jumper wiring documented. | Schematic confirmation needed for DSI FPC pin count, I²C GPIO mapping, BOOT button GPIO, flash size. All gated by [`TESTING.md`'s Hardware prerequisites](TESTING.md#hardware-prerequisites). | @@ -20,8 +20,8 @@ Status legend: | # | Milestone | Code | HW | | --- | --- | --- | --- | -| M1 | Board Bring-Up ā Ethernet + DHCP | ā
| š” | -| M2 | HTTP + mDNS (`GET /state`) | ā
| š” | +| M1 | Board Bring-Up ā Ethernet + DHCP | ā
| ā
| +| M2 | HTTP + mDNS (`GET /state`) | ā
| ā
| | M3 | Display Bring-Up (Hosyond panel) | ā
| š” | | M4 | Config Persistence (NVS, partial updates) | ā
| š” | | M5 | JPEG Frame Push (`POST /frame`) | ā
| š” | @@ -122,9 +122,10 @@ Cross-check from another host: ping 192.168.x.x ``` -**Status**: š” builds clean against ESP-IDF 5.4 (commit e2ac22e). Not yet flashed to hardware ā awaiting first board run. - -> Combined hardware verification of M1+M2 is fine ā they both run from the same flash session. +**Status**: ā
verified 2026-06-14 on Waveshare ESP32-P4-ETH (Amazon B0FN7JQ2V8, 32 MB PSRAM, 32 MB flash silkscreen, IDF v5.4.1). DHCP lease landed at 10.0.13.83. Three fixes were needed during bring-up ā see commit 220ee4c: +> 1. **RXD0 / RXD1 GPIO swap**: ESP32-P4 EMAC iomux fixes RXD0=29, RXD1=30. The original pin map had them transposed. +> 2. **mDNS hostname order**: `mdns_service_add()` returns INVALID_ARG if hostname isn't set yet. Now init ā hostname ā service_add ā TXT. +> 3. **`app_main` best-effort everywhere**: any one missing subsystem (no LAN, no panel) used to abort the boot. Now each is independent; final log line summarizes which letters of `EMHDJTB` came up. --- @@ -170,7 +171,12 @@ Expected `/state` body on a fresh device (unconfigured): Expected mDNS browse output should show a `_scrypted-viewport._tcp` instance with TXT records `version=`, `resolution=`, `orientation=`, `name=` (empty for `name`). -**Status**: š” builds clean against ESP-IDF 5.4 with espressif/mdns managed component. Awaiting first board run. +**Status**: ā
verified 2026-06-14 alongside M1. + +- `GET http://10.0.13.83/state` returned the full spec JSON: `name=null, configured=false, state=unconfigured, resolution=480x800, ip=10.0.13.83, free_psram=31730048, ...`. +- `dns-sd -B _scrypted-viewport._tcp local.` on macOS surfaced one instance named `viewport`. + +Bare-board behavior (no panel, no ethernet) was also verified ā the device boots cleanly and prints a summary like `boot complete ā subsystems [EMHdJ-B] ip=(no link)` (lowercase `d` = display down because no panel attached; `-` for touch because it shares the panel I²C bus). --- |
