mirror of
https://github.com/78/xiaozhi-esp32.git
synced 2026-02-27 14:26:36 +00:00
Support both esp_video and esp32_camera (#1671)
* Update project version to 2.2.1 and refactor camera component handling - Incremented project version from 2.2.0 to 2.2.1 in CMakeLists.txt. - Removed legacy esp32_camera component and replaced it with esp_video for ESP32-S3 and ESP32-P4 boards. - Updated board implementations to utilize the new esp_video component, ensuring compatibility and improved functionality. - Cleaned up Kconfig options related to camera selection, streamlining the configuration process. - Enhanced camera initialization logic across various board files to support the new component structure. * Refactor camera handling in AtomS3R CAM/M12 EchoBase board - Replaced the legacy EspVideo component with the new Esp32Camera class for improved camera functionality. - Updated camera initialization logic to utilize a more structured configuration approach, enhancing clarity and maintainability. - Removed outdated comments and code related to the previous camera implementation in the README file. * Update camera configuration for atoms3r-cam-m12-echo-base - Removed outdated camera configuration options from config.json to streamline the setup. - Retained essential partition table configuration for improved clarity. * Enhance Esp32Camera functionality and memory management - Added esp_timer.h for improved timing functionality. - Streamlined camera initialization by removing redundant frame buffer setup and logging. - Improved memory allocation for JPEG encoding and added error handling for unsupported pixel formats. - Updated comments for clarity and consistency, ensuring better understanding of the code flow.
This commit is contained in:
@@ -52,8 +52,6 @@ list(APPEND SOURCES
|
||||
"boards/common/axp2101.cc"
|
||||
"boards/common/backlight.cc"
|
||||
"boards/common/button.cc"
|
||||
"boards/common/esp32_camera.cc"
|
||||
"boards/common/esp32s3_camera.cc"
|
||||
"boards/common/i2c_device.cc"
|
||||
"boards/common/knob.cc"
|
||||
"boards/common/power_save_timer.cc"
|
||||
@@ -758,29 +756,18 @@ if(CONFIG_IDF_TARGET_ESP32)
|
||||
"led/gpio_led.cc"
|
||||
"display/lvgl_display/jpg/image_to_jpeg.cpp"
|
||||
"display/lvgl_display/jpg/jpeg_to_image.c"
|
||||
"boards/common/esp32_camera.cc"
|
||||
"boards/common/esp32s3_camera.cc"
|
||||
"boards/common/nt26_board.cc"
|
||||
)
|
||||
endif()
|
||||
|
||||
# ESP32-S3: 根据 Kconfig 选择使用哪个摄像头组件
|
||||
if(CONFIG_IDF_TARGET_ESP32S3)
|
||||
if(CONFIG_XIAOZHI_USE_ESP_CAMERA)
|
||||
# 使用 esp_camera 组件,排除 esp32_camera.cc
|
||||
list(REMOVE_ITEM SOURCES "boards/common/esp32_camera.cc")
|
||||
elseif(CONFIG_XIAOZHI_USE_ESP_VIDEO)
|
||||
# 使用 esp_video 组件,排除 esp32s3_camera.cc
|
||||
list(REMOVE_ITEM SOURCES "boards/common/esp32s3_camera.cc")
|
||||
else()
|
||||
# 默认使用 esp_camera 组件
|
||||
list(REMOVE_ITEM SOURCES "boards/common/esp32_camera.cc")
|
||||
endif()
|
||||
# Include EspVideo if target is ESP32S3 or ESP32P4
|
||||
if(CONFIG_IDF_TARGET_ESP32S3 OR CONFIG_IDF_TARGET_ESP32P4)
|
||||
list(APPEND SOURCES "boards/common/esp_video.cc")
|
||||
endif()
|
||||
|
||||
# ESP32-P4: 只能使用 esp_video 组件,排除 esp32s3_camera.cc
|
||||
if(CONFIG_IDF_TARGET_ESP32P4)
|
||||
list(REMOVE_ITEM SOURCES "boards/common/esp32s3_camera.cc")
|
||||
# Include Esp32Camera if target is ESP32S3
|
||||
if(CONFIG_IDF_TARGET_ESP32S3)
|
||||
list(APPEND SOURCES "boards/common/esp32_camera.cc")
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS ${SOURCES}
|
||||
|
||||
Reference in New Issue
Block a user