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:
@ -10,7 +10,7 @@
|
||||
#include "application.h"
|
||||
#include "button.h"
|
||||
#include "config.h"
|
||||
#include "esp32_camera.h"
|
||||
#include "esp_video.h"
|
||||
|
||||
#include <esp_log.h>
|
||||
#include <inttypes.h>
|
||||
@ -45,7 +45,7 @@ private:
|
||||
Button boot_button_;
|
||||
LcdDisplay *display_ = nullptr;
|
||||
esp_lcd_touch_handle_t tp_ = nullptr;
|
||||
Esp32Camera* camera_ = nullptr;
|
||||
EspVideo* camera_ = nullptr;
|
||||
|
||||
void InitializeI2cBuses()
|
||||
{
|
||||
@ -115,7 +115,7 @@ private:
|
||||
ESP_LOGE(TAG, "Failed to initialize BSP camera: %s", esp_err_to_name(ret));
|
||||
ESP_LOGI(TAG, "Attempting alternative camera initialization");
|
||||
|
||||
// Alternative: Direct Esp32Camera initialization if BSP fails
|
||||
// Alternative: Direct EspVideo initialization if BSP fails
|
||||
// This provides more control over camera configuration
|
||||
static esp_cam_ctlr_dvp_pin_config_t dvp_pin_config = {
|
||||
.data_width = CAM_CTLR_DATA_WIDTH_8,
|
||||
@ -154,7 +154,7 @@ private:
|
||||
};
|
||||
|
||||
// Try to create camera with direct configuration
|
||||
camera_ = new Esp32Camera(video_config);
|
||||
camera_ = new EspVideo(video_config);
|
||||
ESP_LOGI(TAG, "Camera initialized with direct configuration");
|
||||
} else {
|
||||
ESP_LOGI(TAG, "Camera initialized successfully via BSP");
|
||||
|
||||
Reference in New Issue
Block a user