feat(plip): ESP-IDF migration — ES8388 audio + WiFi/httpd + cmd_exec + hook/ring #13
Reference in New Issue
Block a user
Delete Branch "feat/plip-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?
Port Arduino→ESP-IDF du PLIP en annexe complète : codec ES8388 (ton OK), WiFi STA + /game/file, ESP-NOW cmd_exec (D5), décroché GPIO + sonnerie + /voice/hook. 4 phases validées hardware.
🤖 Generated with Claude Code
New IDF project targeting AI-Thinker ESP32-A1S Audio Kit (ESP32, ES8388 codec). Replaces the Arduino PLIP_FIRMWARE with a proper IDF component structure aligned on box3_voice / scenario_mesh infrastructure. Phases implemented and hardware-verified: - A: ES8388 I2C init + I2S TX; 440 Hz test tone exits the speaker - B: WiFi STA + httpd :80 (GET /status, POST /game/scenario, /game/file) - C: ESP-NOW CMD receiver via shared scenario_mesh lib; op=play dispatched to audio; screen/evt/led logged (no display on PLIP) - D: Off-hook GPIO monitor (GPIO4=BOOT button stand-in); ring tone cadence; POST /voice/hook to master on pickup/hangup (200 OK confirmed) MAC (first observed): a0:b7:65:e7:f6:44 IP (DHCP): 192.168.0.138 Files: plip_voice/CMakeLists.txt - project root; EXTRA_COMPONENT_DIRS=../lib/scenario_mesh plip_voice/partitions.csv - 4MB OTA dual-bank + SPIFFS (matches PLIP_FIRMWARE) plip_voice/sdkconfig.defaults - ESP32 target, 4MB flash DIO, ch=11 hint (no creds) plip_voice/main/Kconfig.projbuild - PLIP_ menu (SSID/pwd/channel/master_url/hook_gpio) plip_voice/main/board_config.h - A1S pin map (I2C 32/33, I2S 0/27/25/26/35, PA=21) plip_voice/main/es8388.[ch] - ES8388 I2C register init sequence (legacy i2c driver) plip_voice/main/audio.[ch] - I2S TX + async play queue + ring task plip_voice/main/net.[ch] - WiFi STA + httpd (NVS creds with Kconfig fallback) plip_voice/main/cmd_exec.[ch] - D5 CMD executor (play→audio; screen/evt/led→log) plip_voice/main/hook_client.[ch] - POST /voice/hook via esp_http_client plip_voice/main/phone.[ch] - Off-hook GPIO ISR + debounce + ring control plip_voice/main/main.c - app_main boot sequence (all four phases) Build: IDF 5.4.4, target esp32, clean. Flash: /dev/cu.usbserial-0001, 4MB flash verified.