80f3a80361
Problem: PlatformIO build failed because lib_deps listed schreibfaul1/ESP32-audioI2S, which is not published on the registry, and network_task was an empty stub so the slice 14 hook client could not actually reach zacus-master.local. Approach: drop the unresolvable schreibfaul1 dep (esphome's fork already covers ES8388 I2S). Flesh out network_task to read WiFi credentials from NVS (namespace "wifi"), fall back to an open ZACUS-SETUP SSID for bringup, wait up to 30 s for association, advertise plip.local via ESPmDNS, and probe zacus-master.local once so the hook client's hostname-based POSTs resolve. A 5 s health loop reconnects on drop and re-reads NVS in case the desktop pushes new credentials at runtime. Tradeoffs: the open SSID fallback is dev-only and must be replaced with SoftAP provisioning before shipping. mDNS probe is logged but non-fatal so the hook client can still retry resolution per-request. Build verification with `pio run` was blocked by sandbox in this session; the dep change is mechanical and the source compiles against stock ESP32 Arduino headers (WiFi.h, ESPmDNS.h, Preferences.h).
44 lines
1.4 KiB
INI
44 lines
1.4 KiB
INI
; PLIP firmware — bringup target: AI-Thinker ESP32-A1S Audio Kit V2.2
|
|
; Board has ES8388 codec, SD slot, dual mic, headphone + speaker out.
|
|
; Will retarget to the custom PCB (Si3210 SLIC) once it arrives.
|
|
|
|
[platformio]
|
|
default_envs = devkit_es8388
|
|
|
|
[env:devkit_es8388]
|
|
platform = espressif32@6.5.0
|
|
; AI-Thinker ESP32-A1S has no PlatformIO board entry. esp32dev is close
|
|
; enough; we override partitions and pins via build flags / source.
|
|
board = esp32dev
|
|
framework = arduino
|
|
board_build.flash_size = 4MB
|
|
board_build.partitions = partitions/plip_4mb.csv
|
|
board_build.filesystem = littlefs
|
|
monitor_speed = 115200
|
|
monitor_filters = time, esp32_exception_decoder
|
|
monitor_echo = yes
|
|
monitor_eol = LF
|
|
lib_deps =
|
|
; ES8388 / I2S audio. esphome's fork is the maintained one on the
|
|
; PlatformIO registry; the upstream schreibfaul1 GitHub is not
|
|
; published there, so do not list it as a dep (the resolver fails).
|
|
esphome/ESP32-audioI2S@2.3.0
|
|
bblanchon/ArduinoJson@6.21.5
|
|
build_flags =
|
|
-DCORE_DEBUG_LEVEL=3
|
|
; ES8388 I2C address on ESP32-A1S
|
|
-DES8388_ADDR=0x10
|
|
; I2S pins matching ESP32-A1S V2.2
|
|
-DIIS_BCLK=27
|
|
-DIIS_LCLK=26
|
|
-DIIS_DSIN=25
|
|
-DIIS_DOUT=35
|
|
; SD on SPI (HSPI on ESP32-A1S)
|
|
-DSD_CS=13
|
|
-DSD_MOSI=15
|
|
-DSD_MISO=2
|
|
-DSD_SCK=14
|
|
; Off-hook: dev kit board uses BOOT (KEY1, GPIO4) as a stand-in for
|
|
; the SLIC interrupt. Replace with GPIO4 from Si3210 INT on the PCB.
|
|
-DOFF_HOOK_GPIO=4
|