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:
Xiaoxia
2026-01-20 22:44:37 +08:00
committed by GitHub
parent d5ec8f7081
commit 734b5b410a
41 changed files with 1348 additions and 1581 deletions

View File

@ -4,14 +4,6 @@
{
"name": "kevin-sp-v4-dev",
"sdkconfig_append": [
"CONFIG_XIAOZHI_USE_ESP_CAMERA=y",
"CONFIG_CAMERA_OV2640=y",
"CONFIG_CAMERA_OV3660=y",
"CONFIG_CAMERA_OV3660_AUTO_DETECT_DVP_INTERFACE_SENSOR=y",
"CONFIG_CAMERA_OV3660_DVP_RGB565_240X240_24FPS=y",
"CONFIG_CAMERA_OV2640_AUTO_DETECT_DVP_INTERFACE_SENSOR=y",
"CONFIG_CAMERA_OV2640_DVP_RGB565_240X240_25FPS=y",
"CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y"
]
}
]

View File

@ -10,7 +10,7 @@
#include <esp_log.h>
#include <esp_lcd_panel_vendor.h>
#include <driver/i2c_master.h>
#include "esp32s3_camera.h"
#include "esp32_camera.h"
#define TAG "kevin-sp-v4"
@ -19,7 +19,7 @@ private:
Button boot_button_;
LcdDisplay* display_;
i2c_master_bus_handle_t i2c_bus_;
Esp32S3Camera* camera_;
Esp32Camera* camera_;
void InitializeCodecI2c() {
// Initialize I2C peripheral
@ -130,7 +130,7 @@ private:
.sccb_i2c_port = (i2c_port_t)1,
};
camera_ = new Esp32S3Camera(camera_config);
camera_ = new Esp32Camera(camera_config);
}
public: