发布

  • v1015 c58f49f21a

    fix(firmware): add vTaskDelay(1) yields in process_frame() at tier>=2 to fix WDT storm (#683)

    frostbyte_neo 发布于 2026-05-21 13:20:21 +00:00

    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

    下载附件