Files
ESP32_ZACUS/idf_zacus/components/scenario_mesh/CMakeLists.txt
T
Claude Worker claude2 b2267f2261
CI / platformio (pull_request) Failing after 6m18s
feat(scenario-mesh): ESP-NOW scenario hot-load receivers + green builds
- 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>
2026-06-09 04:11:28 +02:00

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
)