Files
le-mystere-professeur-zacus/PLIP_FIRMWARE/platformio.ini
T
L'électron rare 80f3a80361 fix(plip): platformio deps + WiFi/mDNS init
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).
2026-05-04 01:14:33 +02:00

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