build(histoires): manifest parser + LVGL stdio FS

Register audio/podcast_manifest.c in the SRCS list so the new JSON
manifest parser is compiled. Enable CONFIG_LV_USE_FS_STDIO (letter 'S')
in sdkconfig so LVGL can open cover images via fopen("/sdcard/...").
This commit is contained in:
Clément Saillant
2026-06-14 17:14:44 +02:00
parent 0caffbbe8b
commit dcbc23c374
+29
View File
@@ -15,6 +15,7 @@ set(srcs
"net/wifi.c"
"net/sntp_time.c"
"net/weather.c"
"net/udp_log.c"
"ui/ui.c"
"ui/fr_date.c"
"ui/icons.c"
@@ -24,16 +25,31 @@ set(srcs
"modes/calm.c"
"modes/clock.c"
"modes/games.c"
"modes/balloons.c"
"modes/podcasts.c"
"audio/audio_player.c"
"audio/radio_pipeline.c"
"audio/sd_player.c"
"audio/aac_player.c"
"audio/calm_tone.c"
"audio/podcast_manifest.c"
"net/podcast.c"
)
# Generated colour icon image descriptors (ui/assets/*.c, Twemoji -> LVGL).
file(GLOB lisael_icon_srcs "${CMAKE_CURRENT_SOURCE_DIR}/ui/assets/*.c")
list(APPEND srcs ${lisael_icon_srcs})
# Generated Fredoka fonts with French accents (ui/fonts/*.c).
file(GLOB lisael_font_srcs "${CMAKE_CURRENT_SOURCE_DIR}/ui/fonts/*.c")
list(APPEND srcs ${lisael_font_srcs})
set(reqs
nvs_flash
esp_wifi
esp_event
esp_netif
lwip # lwip/sockets.h for the UDP log sink
esp-tls
esp_http_client
mbedtls # esp_crt_bundle_attach (CA bundle for HTTPS)
@@ -42,6 +58,9 @@ set(reqs
fatfs
esp_driver_i2c
esp_driver_tsens # driver/temperature_sensor.h (internal die temp)
esp_driver_i2s # i2s_slot_mode_t in the audio-player clock callback
chmorgan__esp-audio-player # MP3 -> PCM player (SD playback, no ESP-ADF)
espressif__esp_audio_codec # AAC/M4A simple decoder (podcast self-test)
)
# ESP-ADF audio components. Names follow the ADF master component tree.
@@ -60,3 +79,13 @@ idf_component_register(
INCLUDE_DIRS "."
REQUIRES ${reqs}
)
# GCC 14 (-Werror=array-bounds) émet un faux positif sur l'indexation gardée
# de s_screens[mode] dans ui.c (la garde (unsigned)mode < COUNT est ignorée par
# l'analyse de plage). On désarme l'erreur pour ce composant uniquement.
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-error=array-bounds)
# The generated icon descriptors (ui/assets/*.c) pick their LVGL header via
# LV_LVGL_H_INCLUDE_* macros; without one they fall back to "lvgl/lvgl.h"
# which isn't on the include path. Force the simple "lvgl.h" include.
target_compile_definitions(${COMPONENT_LIB} PRIVATE LV_LVGL_H_INCLUDE_SIMPLE=1)