wifi-densepose/firmware
ruv c58f49f21a fix(firmware): add vTaskDelay(1) yields in process_frame() at tier>=2 to fix WDT storm (#683)
At edge tier>=2 on N16R8 PSRAM boards, `process_frame()` runs
`update_multi_person_vitals()` (4 persons × 256 history samples) plus
`wasm_runtime_on_frame()` back-to-back before returning to `edge_task()`.
The existing `vTaskDelay(1)` in `edge_task()` only fires *after*
`process_frame()` returns — under sustained 30 pps CSI load on PSRAM
boards this leaves IDLE1 on Core 1 starved long enough for the 5-second
Task Watchdog Timer to fire.

Fix: add two `vTaskDelay(1)` calls inside `process_frame()`, both gated
on `s_cfg.tier >= 2`:
1. After `update_multi_person_vitals()` (Step 11)
2. After `wasm_runtime_on_frame()` dispatch (Step 14)

Tier 0/1 paths are unaffected. Validated on COM7 (N16R8 board):
`Edge DSP task started on core 1 (tier=2)`, no WDT panics in 20 s.

Also bump firmware version 0.6.5 → 0.6.6 and refresh all 6 release_bins
with the new build (8MB + 4MB variants, built 2026-05-21).

Fix-marker RuView#683 added to scripts/fix-markers.json.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-21 09:20:21 -04:00
..
esp32-csi-node fix(firmware): add vTaskDelay(1) yields in process_frame() at tier>=2 to fix WDT storm (#683) 2026-05-21 09:20:21 -04:00
esp32-hello-world firmware/esp32-hello-world: ESP32-C6 target and ESP-IDF v6 build fixes (#524) 2026-05-17 18:00:45 -04:00