b2267f2261
CI / platformio (pull_request) Failing after 6m18s
- scenario_mesh: ESP-NOW frame protocol component (master + box3_voice): chunking, per-source reassembly, deferred apply off the Wi-Fi callback. - game_endpoint: POST /game/scenario/relay (master) + shared scenario_apply. - box3_voice: scenario receiver wiring (scenario_mesh_init). - espnow_slave (shared by all puzzles): demux scenario frames inside the single recv callback so a misrouted relay can't corrupt the MSG_* stream; reassemble per source MAC; optional consumer hook (logs+drops by default, puzzles have no scenario engine). Add missing esp_mac.h include for MACSTR/MAC2STR. - CMakeLists (scenario_mesh + 4 puzzle mains): drop invalid `esp_now` REQUIRES; the ESP-NOW API lives in esp_wifi. Fixes "Failed to resolve component esp_now". - docs: scenario-mesh receiver patch note (puzzles done via defensive demux; PLIP out of scope — Wi-Fi/HTTP-only, no ESP-NOW stack). Builds green under ESP-IDF 5.4.4: idf_zacus, box3_voice, p7_coffre. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
524 B
CMake
18 lines
524 B
CMake
## Zacus scenario_mesh — ESP-NOW transport for Runtime 3 IR hot-load.
|
|
##
|
|
## Tasks 4 & 5 of docs/specs/2026-05-24-firmware-scenario-hotload.md: chunk the
|
|
## IR JSON into <=240-byte ESP-NOW frames, send sequentially with per-frame
|
|
## ack, and reassemble on the receive side keyed by sender+total before
|
|
## invoking the same _scenario_apply() path as the HTTP handler.
|
|
|
|
idf_component_register(
|
|
SRCS
|
|
"scenario_mesh.c"
|
|
INCLUDE_DIRS
|
|
"include"
|
|
REQUIRES
|
|
esp_wifi
|
|
freertos
|
|
log
|
|
)
|