feat(plip): SLIC integration + I2S RX mic fix + /debug/ring,slic #22
Reference in New Issue
Block a user
Delete Branch "feat/plip-slic-integration"
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?
PROUVÉ: fix bug IDF5 I2S full-duplex (RX déplacé en silence sur I2S_NUM_1 sans horloge → capture zéros) — config TX/RX identique → capture lit enfin l ADC (
54d1a1e). Intégration SLIC K50835F (port fidèle de hardware/projects/slic-phone): power-up PD GPIO19, hook SHK GPIO23, ring RM/FR GPIO18/5, ES8388 line-in LINPUT2/RINPUT2. Endpoints /debug/ring,/debug/ringstop,/debug/slic.⚠️ NON prouvé hardware sur le banc: l audio du combiné n arrive PAS à l ES8388 (capture = offset DC -2482, AC rms 36, AUCUN signal), SHK figé à 1 (non câblé ou polarité), sonnerie muette. La chaîne SLIC électrique (câblage/alim RM/FR/SHK/PD, audio→line-in) est à vérifier au multimètre. Le firmware est correct et marchera une fois le hardware validé.
🤖 Generated with Claude Code
- board_config.h: add PLIP_SLIC_RM=18, FR=5, SHK=23, PD=19 (A1S KEY3-6 repurposed) - slic.c/slic.h: new ESP-IDF module porting Ks0835SlicController: * slic_init(): RM/FR output LOW, SHK input+pullup, PD open-drain HIGH (power-up) * slic_is_offhook(): reads SHK GPIO23, HIGH = off-hook (active-high, matches A252ConfigStore default) * slic_ring_start/stop(): RM HIGH + FreeRTOS task toggles FR at 25 Hz (20 ms period) - CMakeLists.txt: add slic.c to SRCS, esp_driver_gpio to PRIV_REQUIRES - Kconfig: PLIP_HOOK_GPIO default 4→23, add PLIP_HOOK_ACTIVE_HIGH (default y) - phone.c: hook reads SHK GPIO23 via HOOK_OFFHOOK_LEVEL/HOOK_PULSE_OPEN macros (active-HIGH); phone_ring_start/stop() now drives slic_ring_start/stop() for physical bell + audio tone - main.c: slic_init() called early in boot_task before audio_init Root cause fixed: SLIC was never powered (PD never released from reset state). Hook was read on wrong GPIO (4) with wrong polarity. Ring drove only audio, not bell.