feat(box3): annexe PLIP virtuelle (sans téléphone) #5
Reference in New Issue
Block a user
Delete Branch "feat/idf-migration"
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?
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).
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).