feat(plip): scenario hot-load via ESP-NOW #114

Merged
electron merged 2 commits from feat/zacus-hotload-hub into main 2026-06-10 08:32:13 +00:00
Owner

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 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).
electron added 2 commits 2026-06-10 08:28:43 +00:00
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%.
chore: bump ESP32_ZACUS (PLIP doc re-scope)
Repo State / repo-state (pull_request) Failing after 1m27s
Repo State / repo-state (push) Failing after 11m31s
Validate Zacus refactor / validate (pull_request) Successful in 12m18s
c1afa65c55
Submodule now points at the merged doc update marking PLIP as in
scope for the scenario hot-load receiver.
electron merged commit 611b4e38c8 into main 2026-06-10 08:32:13 +00:00
Sign in to join this conversation.