e44efe13e0
Context: New firmware "Lisael Box" targeting the ESP32-S3-BOX-3 (8MB PSRAM, 16MB flash, LCD+touch, ES8311 codec, microSD). Establish the ESP-IDF 5.4/5.5 build skeleton before adding modules. Approach: Standard IDF project layout with a single big factory app (4MB) since the binary links the esp-box BSP, LVGL 9 and ESP-ADF. ESP-ADF is not a managed component, so the top-level CMake injects $ADF_PATH/components via EXTRA_COMPONENT_DIRS and warns clearly when ADF_PATH is unset. Changes: - top-level CMakeLists with ADF_PATH wiring - partitions.csv (16MB: factory 4MB + FAT storage) - sdkconfig.defaults (+ .esp32s3: octal PSRAM, 16MB, 240MHz, LVGL/PSRAM) - main/CMakeLists, idf_component.yml (esp-box-3 ^3.2, built-in json) - Kconfig.projbuild (Wi-Fi, weather lat/lon, child volume cap) - lisael_config.h shared constants, .gitignore Impact: Buildable skeleton; modules added in following commits. Not yet compiled (no IDF/ADF/board available) - see README.
31 lines
1.3 KiB
CMake
31 lines
1.3 KiB
CMake
# Lisael Box — top-level project CMake for ESP-IDF 5.4/5.5
|
|
# Target: ESP32-S3-BOX-3
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
# --- ESP-ADF integration -----------------------------------------------------
|
|
# ESP-ADF is NOT a managed component: it is installed separately and exposed via
|
|
# the ADF_PATH environment variable (see README "Installer ESP-ADF").
|
|
# We add its component tree to EXTRA_COMPONENT_DIRS so that audio_pipeline,
|
|
# http_stream, esp_decoder, fatfs_stream, i2s_stream etc. become available.
|
|
#
|
|
# If ADF_PATH is unset the project still configures, but the audio modules that
|
|
# need ADF will fail to link. We surface a clear message instead of a cryptic
|
|
# "component not found" error.
|
|
if(DEFINED ENV{ADF_PATH})
|
|
set(ADF_COMPONENTS "$ENV{ADF_PATH}/components")
|
|
if(EXISTS "${ADF_COMPONENTS}")
|
|
list(APPEND EXTRA_COMPONENT_DIRS "${ADF_COMPONENTS}")
|
|
message(STATUS "Lisael Box: ESP-ADF components from ${ADF_COMPONENTS}")
|
|
else()
|
|
message(WARNING "Lisael Box: ADF_PATH set but ${ADF_COMPONENTS} not found")
|
|
endif()
|
|
else()
|
|
message(WARNING
|
|
"Lisael Box: ADF_PATH not set. Audio streaming (webradio / SD playback) "
|
|
"will not link. Run '. $ADF_PATH/export.sh' or export ADF_PATH. "
|
|
"See README.")
|
|
endif()
|
|
|
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
|
project(lisael_box)
|