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
Owner

Variante PLIP sans téléphone sur ESP32-S3-BOX-3 : contrat REST PLIP sur le httpd existant (POST /ring cadence française 440 Hz sur haut-parleur, /stop, GET /status, /play 501), bouton BOOT = crochet virtuel (décroché pendant la sonnerie / raccroché sinon, retombe sur le toggle streaming), report POST /voice/hook au master identique au vrai PLIP. Kconfig ZACUS_MASTER_URL. Build vert (zacus-box3-voice.bin).

Variante PLIP sans téléphone sur ESP32-S3-BOX-3 : contrat REST PLIP sur le httpd existant (POST /ring cadence française 440 Hz sur haut-parleur, /stop, GET /status, /play 501), bouton BOOT = crochet virtuel (décroché pendant la sonnerie / raccroché sinon, retombe sur le toggle streaming), report POST /voice/hook au master identique au vrai PLIP. Kconfig ZACUS_MASTER_URL. Build vert (zacus-box3-voice.bin).
electron added 1 commit 2026-06-10 10:29:10 +00:00
feat(box3): virtual PLIP annex (phone-less)
CI / platformio (pull_request) Failing after 14m53s
5c97013f8c
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).
electron merged commit c0ccd8f114 into main 2026-06-10 10:29:51 +00:00
Sign in to join this conversation.