feat(plip): scenario hot-load via ESP-NOW #114
Reference in New Issue
Block a user
Delete Branch "feat/zacus-hotload-hub"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PLIP re-scopé dans le hot-load de scénario : nouveau récepteur ESP-NOW dédié src/scenario_now.{h,cpp} (réassemblage trames scenario_mesh, ≤64 KiB, timeout 5 s), persistance LittleFS /scenario.json (temp+rename), hook consommateur optionnel pour un futur moteur Runtime 3. network_task appelle scenario_now_init() dès que la station Wi-Fi monte. Build PlatformIO vert (devkit_es8388, RAM 14.8%, Flash 63.1%). Inclut le bump du sous-module ESP32_ZACUS (doc re-scope, PR ESP32_ZACUS#2 mergée).
PLIP was out of scope by design (Wi-Fi/HTTP-only); brought back in by request. New src/scenario_now.{h,cpp}: owns the single esp_now recv callback (no MSG_* demux needed — PLIP has no legacy ESP-NOW traffic), reassembles scenario_mesh frames ({seq:u16 LE, total:u16 LE} + <=236 B payload, <=64 KiB, 5 s sender-silence timeout) in a worker task, then persists to LittleFS /scenario.json (temp-then-rename). Optional consumer hook for a future Runtime 3 engine; stored-and-logged without one. network_task calls scenario_now_init() once the station is up (idempotent, repeated on reconnect). Build green: pio run (devkit_es8388), RAM 14.8%, Flash 63.1%.