Context:
Lisael Box needs Wi-Fi + time + weather for the home screen, and an
audio path for webradio and SD playback, all child-safe.
Approach:
net/ : STA bring-up with auto-reconnect (creds from NVS then
menuconfig), SNTP with the Europe/Paris TZ string (no setlocale), and
a periodic open-meteo.com fetch (HTTPS via the CA bundle, cJSON parse)
that degrades to "—" on failure.
audio/ : one shared ES8311 codec (BSP) behind a facade enforcing the
child volume cap (persisted to NVS). Webradio and SD playback use
ESP-ADF pipelines (http_stream/fatfs -> decoder -> i2s), guarded by
__has_include so a no-ADF build still configures.
Changes:
- net/wifi, net/sntp_time, net/weather
- audio/audio_player (codec + volume facade)
- audio/radio_pipeline (ESP-ADF http stream)
- audio/sd_player (ESP-ADF fatfs + manifest.json parser)
Impact:
Sources are idiomatic but unverified on hardware. The BSP<->ADF I2S
ownership and the radio URLs are flagged in the README.