set(platform_srcs "src/runtime/platform_core_runtime.c" "src/runtime/platform_storage.c" "src/runtime/platform_time.c" "src/runtime/platform_https_client.c" "src/runtime/platform_lan_http_server.c" "src/platform_console_driver.c" "src/runtime/platform_behavior_runtime.c" "src/runtime/platform_multimodal_runtime.c" "src/runtime/platform_lcd_runtime.c" "src/platform_stepper_driver.c" "src/platform_digital_input_driver.c" "src/lcd_direct.c" "src/lcd_direct_assets.c" "src/multimodal/audio_pipeline.c" "src/multimodal/transport_ws.c" "src/wifi_portal_bridge.cpp" "src/platform_behavior_stubs.c" ) set(platform_priv_requires 78__esp-wifi-connect cxx driver esp_audio_codec esp_codec_dev esp_driver_gpio esp_driver_i2c esp_driver_i2s esp_driver_spi esp_event esp_app_format esp_http_client esp_http_server esp_lcd esp_netif esp_psram esp_system esp_timer esp_wifi esp_websocket_client json littlefs log espressif__mdns mbedtls nvs_flash ) idf_component_register( SRCS ${platform_srcs} INCLUDE_DIRS "include" PRIV_INCLUDE_DIRS "internal" PRIV_REQUIRES ${platform_priv_requires} ) target_add_binary_data(${COMPONENT_LIB} "assets/lcd/buyunqian1.rle" BINARY ) foreach(lcd_rle_asset jichubiaoqing0 jichubiaoqing1 jichubiaoqing2 muyu0 muyu1 muyu2) target_add_binary_data(${COMPONENT_LIB} "assets/lcd/${lcd_rle_asset}.rle" BINARY ) endforeach() set(platform_audio_prompt_src_dir "${CMAKE_CURRENT_SOURCE_DIR}/assets/audio_prompts") set(platform_asset_image_dir "${CMAKE_CURRENT_BINARY_DIR}/asset_image") set(platform_asset_stage_stamp "${CMAKE_CURRENT_BINARY_DIR}/asset_image.stamp") file(GLOB_RECURSE platform_audio_prompt_files CONFIGURE_DEPENDS "${platform_audio_prompt_src_dir}/*.opus" ) set(platform_asset_stage_commands) foreach(audio_file IN LISTS platform_audio_prompt_files) file(RELATIVE_PATH audio_rel_path "${platform_audio_prompt_src_dir}" "${audio_file}") list(APPEND platform_asset_stage_commands COMMAND ${CMAKE_COMMAND} -E make_directory "${platform_asset_image_dir}/audio_prompts" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${audio_file}" "${platform_asset_image_dir}/audio_prompts/${audio_rel_path}" ) endforeach() add_custom_command( OUTPUT "${platform_asset_stage_stamp}" COMMAND ${CMAKE_COMMAND} -E rm -rf "${platform_asset_image_dir}" COMMAND ${CMAKE_COMMAND} -E make_directory "${platform_asset_image_dir}" ${platform_asset_stage_commands} COMMAND ${CMAKE_COMMAND} -E touch "${platform_asset_stage_stamp}" DEPENDS ${platform_audio_prompt_files} ) littlefs_create_partition_image( gifpack "${platform_asset_image_dir}" FLASH_IN_PROJECT DEPENDS "${platform_asset_stage_stamp}" )