feat(box3): annexe PLIP virtuelle (sans téléphone) #5

Merged
electron merged 1 commits from feat/idf-migration into main 2026-06-10 10:29:51 +00:00
1 Commits
Author SHA1 Message Date
Claude Worker claude2 5c97013f8c feat(box3): virtual PLIP annex (phone-less)
CI / platformio (pull_request) Failing after 14m53s
New main/plip_virtual.{h,c}: implements the PLIP REST contract on the
existing port-80 httpd (POST /ring {duration_ms} with French cadence
1.5s/3.5s 440 Hz on the speaker, POST /stop, GET /status, POST /play
501 — audio flows through the WS TTS path). The BOOT button becomes
the virtual hook switch when ringing/off-hook (falls back to the
streaming toggle otherwise) and every transition is reported to the
master POST <ZACUS_MASTER_URL>/voice/hook {state,reason}, the exact
zacus_hook_client contract — the master cannot tell the annexes apart.
New Kconfig ZACUS_MASTER_URL (default 10.2.5.42). scenario_server
exposes its httpd handle for co-registration.

Build green (zacus-box3-voice.bin).
2026-06-10 12:28:36 +02:00