mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'feat/esp_hal_cam' into 'master'
cam:graudate the camera hal driver into a new component Closes IDF-14277 See merge request espressif/esp-idf!43169
This commit is contained in:
@@ -4,7 +4,7 @@ set(srcs "esp_cam_ctlr.c" "dvp_share_ctrl.c")
|
||||
|
||||
set(includes "include" "interface")
|
||||
|
||||
set(requires "esp_driver_isp")
|
||||
set(requires "esp_driver_isp" "esp_hal_cam")
|
||||
|
||||
set(priv_requires "esp_driver_gpio")
|
||||
|
||||
|
||||
@@ -17,16 +17,18 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define ESP_CAM_CTLR_DVP_DATA_SIG_NUM 16
|
||||
|
||||
/**
|
||||
* @brief ESP CAM DVP pins configuration
|
||||
*/
|
||||
typedef struct esp_cam_ctlr_dvp_pin_config {
|
||||
cam_ctlr_data_width_t data_width; /*!< Number of data lines */
|
||||
gpio_num_t data_io[CAM_DVP_DATA_SIG_NUM]; /*!< DVP data pin number */
|
||||
gpio_num_t vsync_io; /*!< DVP V-Sync pin number */
|
||||
gpio_num_t de_io; /*!< DVP DE pin number */
|
||||
gpio_num_t pclk_io; /*!< DVP PCLK input pin number, clock is from camera sensor */
|
||||
gpio_num_t xclk_io; /*!< DVP output clock pin number, if using external XTAL, set xclk_io = GPIO_NUM_NC */
|
||||
cam_ctlr_data_width_t data_width; /*!< Number of data lines */
|
||||
gpio_num_t data_io[ESP_CAM_CTLR_DVP_DATA_SIG_NUM]; /*!< DVP data pin number */
|
||||
gpio_num_t vsync_io; /*!< DVP V-Sync pin number */
|
||||
gpio_num_t de_io; /*!< DVP DE pin number */
|
||||
gpio_num_t pclk_io; /*!< DVP PCLK input pin number, clock is from camera sensor */
|
||||
gpio_num_t xclk_io; /*!< DVP output clock pin number, if using external XTAL, set xclk_io = GPIO_NUM_NC */
|
||||
} esp_cam_ctlr_dvp_pin_config_t;
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "esp_log.h"
|
||||
#include "esp_check.h"
|
||||
#include "esp_clk_tree.h"
|
||||
#include "soc/cam_periph.h"
|
||||
#include "hal/cam_periph.h"
|
||||
#include "soc/soc_caps.h"
|
||||
#include "esp_cam_ctlr_dvp_cam.h"
|
||||
#include "esp_private/esp_cam_dvp.h"
|
||||
@@ -43,6 +43,14 @@
|
||||
#define DVP_CAM_CLK_ATOMIC()
|
||||
#endif
|
||||
|
||||
#if CAM_LL_DATA_WIDTH_MAX
|
||||
#define CAP_DVP_PERIPH_NUM CAM_LL_PERIPH_NUM /*!< DVP port number */
|
||||
#define CAM_DVP_DATA_SIG_NUM CAM_LL_DATA_WIDTH_MAX /*!< DVP data bus width of CAM */
|
||||
#else
|
||||
#define CAP_DVP_PERIPH_NUM 0 /*!< Default value */
|
||||
#define CAM_DVP_DATA_SIG_NUM 0 /*!< Default value */
|
||||
#endif
|
||||
|
||||
#define ALIGN_UP_BY(num, align) ((align) == 0 ? (num) : (((num) + ((align) - 1)) & ~((align) - 1)))
|
||||
|
||||
#define DVP_CAM_CONFIG_INPUT_PIN(pin, sig, inv) \
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
idf_build_get_property(target IDF_TARGET)
|
||||
if(${target} STREQUAL "linux")
|
||||
return() # This component is not supported by the POSIX/Linux simulator
|
||||
endif()
|
||||
|
||||
set(srcs)
|
||||
set(public_include "include")
|
||||
|
||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${target}/include")
|
||||
list(APPEND public_include "${target}/include")
|
||||
endif()
|
||||
|
||||
# CAM related source files
|
||||
if(CONFIG_SOC_LCDCAM_CAM_SUPPORTED)
|
||||
list(APPEND srcs "cam_hal.c")
|
||||
list(APPEND srcs "${target}/cam_periph.c")
|
||||
endif()
|
||||
|
||||
# CSI related source files
|
||||
if(CONFIG_SOC_MIPI_CSI_SUPPORTED)
|
||||
list(APPEND srcs "mipi_csi_hal.c")
|
||||
list(APPEND srcs "${target}/mipi_csi_periph.c")
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS ${srcs}
|
||||
INCLUDE_DIRS ${public_include}
|
||||
REQUIRES soc hal)
|
||||
@@ -0,0 +1,9 @@
|
||||
# `esp_hal_cam`
|
||||
|
||||
⚠️ This HAL component is still under heavy development at the moment, so we don't guarantee the stability and backward-compatibility among versions.
|
||||
|
||||
The `esp_hal_cam` component provides a **Hardware Abstraction Layer** of Camera Controller for all targets supported by ESP-IDF.
|
||||
|
||||
In a broad sense, the HAL layer consists of two sub-layers: HAL (upper) and Low-Level(bottom). The HAL layer defines the steps and data that is required to operate a peripheral (e.g. initialization, parameter settings). The low-level is a translation layer above the register files under the `soc` component, it only covers general conceptions to register configurations.
|
||||
|
||||
The functions in this file mainly provide hardware abstraction for IDF peripheral drivers. For advanced developers, the HAL layer functions can also be directly used to assist in implementing their own drivers. However, it needs to be mentioned again that the interfaces here do not guarantee stability.
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "hal/cam_hal.h"
|
||||
#include "hal/color_types.h"
|
||||
#include "soc/soc_caps.h"
|
||||
#include "soc/cam_periph.h"
|
||||
#include "hal/cam_periph.h"
|
||||
|
||||
/**
|
||||
* @brief Default format conversion configuration
|
||||
@@ -147,7 +147,7 @@ void cam_hal_stop_streaming(cam_hal_context_t *hal)
|
||||
* @param config Color conversion configuration. If NULL, default config is used.
|
||||
*/
|
||||
void cam_hal_color_format_convert(cam_hal_context_t *hal,
|
||||
const cam_ctlr_format_conv_config_t *config)
|
||||
const cam_ctlr_format_conv_config_t *config)
|
||||
{
|
||||
// Use provided config or default
|
||||
const cam_ctlr_format_conv_config_t *cfg = config;
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "soc/gpio_sig_map.h"
|
||||
#include "soc/cam_periph.h"
|
||||
#include "hal/cam_periph.h"
|
||||
|
||||
const cam_signal_conn_t cam_periph_signals = {
|
||||
.buses = {
|
||||
+2
@@ -20,6 +20,8 @@ extern "C" {
|
||||
|
||||
#define CAM_LL_CLK_FRAC_DIV_N_MAX 256 // CAM_CLK = CAM_CLK_S / (N + b/a), the N register is 8 bit-width
|
||||
#define CAM_LL_CLK_FRAC_DIV_AB_MAX 64 // CAM_CLK = CAM_CLK_S / (N + b/a), the a/b register is 6 bit-width
|
||||
#define CAM_LL_PERIPH_NUM (1U)
|
||||
#define CAM_LL_DATA_WIDTH_MAX (16U)
|
||||
|
||||
/**
|
||||
* @brief Enable the bus clock for CAM module
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/mipi_csi_periph.h"
|
||||
#include "hal/mipi_csi_periph.h"
|
||||
|
||||
const soc_mipi_csi_phy_pll_freq_range_t soc_mipi_csi_phy_pll_ranges[] = {
|
||||
{90, 99, 0x00}, // [90,100) Mbps
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "soc/gpio_sig_map.h"
|
||||
#include "soc/cam_periph.h"
|
||||
#include "hal/cam_periph.h"
|
||||
|
||||
const cam_signal_conn_t cam_periph_signals = {
|
||||
.buses = {
|
||||
+17
-15
@@ -20,6 +20,8 @@ extern "C" {
|
||||
|
||||
#define CAM_LL_CLK_FRAC_DIV_N_MAX 256 // CAM_CLK = CAM_CLK_S / (N + b/a), the N register is 8 bit-width
|
||||
#define CAM_LL_CLK_FRAC_DIV_AB_MAX 64 // CAM_CLK = CAM_CLK_S / (N + b/a), the a/b register is 6 bit-width
|
||||
#define CAM_LL_PERIPH_NUM (1U)
|
||||
#define CAM_LL_DATA_WIDTH_MAX (16U)
|
||||
|
||||
/**
|
||||
* @brief Enable the bus clock for CAM module
|
||||
@@ -80,21 +82,21 @@ static inline void cam_ll_enable_clk(int group_id, bool en)
|
||||
static inline void cam_ll_select_clk_src(int group_id, cam_clock_source_t src)
|
||||
{
|
||||
switch (src) {
|
||||
case CAM_CLK_SRC_XTAL:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 1;
|
||||
break;
|
||||
case CAM_CLK_SRC_PLL240M:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 2;
|
||||
break;
|
||||
case CAM_CLK_SRC_PLL160M:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 3;
|
||||
break;
|
||||
default:
|
||||
// disable LCD clock source
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 0;
|
||||
HAL_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
case CAM_CLK_SRC_XTAL:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 1;
|
||||
break;
|
||||
case CAM_CLK_SRC_PLL240M:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 2;
|
||||
break;
|
||||
case CAM_CLK_SRC_PLL160M:
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 3;
|
||||
break;
|
||||
default:
|
||||
// disable LCD clock source
|
||||
LCD_CAM.cam_ctrl.cam_clk_sel = 0;
|
||||
HAL_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,7 +86,7 @@ void cam_hal_stop_streaming(cam_hal_context_t *hal);
|
||||
* @param config Color conversion configuration. If NULL, default config is used.
|
||||
*/
|
||||
void cam_hal_color_format_convert(cam_hal_context_t *hal,
|
||||
const cam_ctlr_format_conv_config_t *config);
|
||||
const cam_ctlr_format_conv_config_t *config);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
+6
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
#include "soc/soc_caps.h"
|
||||
#include "soc/periph_defs.h"
|
||||
#if SOC_HAS(LCDCAM_CAM)
|
||||
#include "hal/cam_ll.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -18,13 +21,13 @@ typedef struct {
|
||||
struct {
|
||||
const shared_periph_module_t module;
|
||||
const int irq_id;
|
||||
const int data_sigs[SOC_LCDCAM_CAM_DATA_WIDTH_MAX];
|
||||
const int data_sigs[CAM_LL_DATA_WIDTH_MAX];
|
||||
const int hsync_sig;
|
||||
const int vsync_sig;
|
||||
const int pclk_sig;
|
||||
const int de_sig;
|
||||
const int clk_sig;
|
||||
} buses[SOC_LCDCAM_CAM_PERIPH_NUM];
|
||||
} buses[CAM_LL_PERIPH_NUM];
|
||||
} cam_signal_conn_t;
|
||||
|
||||
extern const cam_signal_conn_t cam_periph_signals;
|
||||
+1
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -15,14 +15,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if SOC_LCDCAM_CAM_DATA_WIDTH_MAX
|
||||
#define CAP_DVP_PERIPH_NUM SOC_LCDCAM_CAM_PERIPH_NUM /*!< DVP port number */
|
||||
#define CAM_DVP_DATA_SIG_NUM SOC_LCDCAM_CAM_DATA_WIDTH_MAX /*!< DVP data bus width of CAM */
|
||||
#else
|
||||
#define CAP_DVP_PERIPH_NUM 0 /*!< Default value */
|
||||
#define CAM_DVP_DATA_SIG_NUM 0 /*!< Default value */
|
||||
#endif
|
||||
|
||||
#if SOC_LCDCAM_CAM_SUPPORTED
|
||||
typedef soc_periph_cam_clk_src_t cam_clock_source_t; /*!< Clock source type of CAM */
|
||||
#else
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "hal/log.h"
|
||||
#include "hal/mipi_csi_hal.h"
|
||||
#include "hal/mipi_csi_ll.h"
|
||||
#include "soc/mipi_csi_periph.h"
|
||||
#include "hal/mipi_csi_periph.h"
|
||||
|
||||
#define MHZ (1000 * 1000)
|
||||
|
||||
@@ -233,3 +233,8 @@ if(NOT non_os_build)
|
||||
idf_component_optional_requires(PRIVATE esp_psram)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(${target} STREQUAL "esp32p4")
|
||||
# for mipi_csi_share_hw_ctrl.c
|
||||
idf_component_optional_requires(PRIVATE esp_hal_cam)
|
||||
endif()
|
||||
|
||||
@@ -87,6 +87,7 @@ else()
|
||||
esp_hal_emac
|
||||
esp_hal_pcnt
|
||||
esp_hal_parlio
|
||||
esp_hal_cam
|
||||
LDFRAGMENTS "linker.lf" "app.lf")
|
||||
add_subdirectory(port)
|
||||
|
||||
|
||||
@@ -145,10 +145,6 @@ elseif(NOT BOOTLOADER_BUILD)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_MIPI_CSI_SUPPORTED)
|
||||
list(APPEND srcs "mipi_csi_hal.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_ECC_SUPPORTED)
|
||||
list(APPEND srcs "ecc_hal.c")
|
||||
endif()
|
||||
@@ -224,10 +220,6 @@ elseif(NOT BOOTLOADER_BUILD)
|
||||
list(APPEND srcs "ds_hal.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_LCDCAM_CAM_SUPPORTED)
|
||||
list(APPEND srcs "cam_hal.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED)
|
||||
list(APPEND srcs "usb_serial_jtag_hal.c")
|
||||
endif()
|
||||
|
||||
@@ -109,10 +109,6 @@ if(CONFIG_SOC_TEMP_SENSOR_SUPPORTED)
|
||||
list(APPEND srcs "${target_folder}/temperature_sensor_periph.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_MIPI_CSI_SUPPORTED)
|
||||
list(APPEND srcs "${target_folder}/mipi_csi_periph.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_MPI_SUPPORTED)
|
||||
list(APPEND srcs "${target_folder}/mpi_periph.c")
|
||||
endif()
|
||||
@@ -151,10 +147,6 @@ if(CONFIG_SOC_PAU_SUPPORTED AND CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_SOC_
|
||||
list(APPEND srcs "${target_folder}/system_retention_periph.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_LCDCAM_CAM_SUPPORTED)
|
||||
list(APPEND srcs "${target_folder}/cam_periph.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_BOD_SUPPORTED)
|
||||
list(APPEND srcs "${target_folder}/power_supply_periph.c")
|
||||
endif()
|
||||
|
||||
@@ -2031,14 +2031,6 @@ config SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_LCDCAM_CAM_PERIPH_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_LCDCAM_CAM_DATA_WIDTH_MAX
|
||||
int
|
||||
default 16
|
||||
|
||||
config SOC_I3C_MASTER_PERIPH_NUM
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -772,8 +772,6 @@
|
||||
|
||||
/*--------------------------- CAM ---------------------------------*/
|
||||
#define SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV (1)
|
||||
#define SOC_LCDCAM_CAM_PERIPH_NUM (1U)
|
||||
#define SOC_LCDCAM_CAM_DATA_WIDTH_MAX (16U)
|
||||
|
||||
/*--------------------------- I3C ---------------------------------*/
|
||||
#define SOC_I3C_MASTER_PERIPH_NUM (1)
|
||||
|
||||
@@ -1374,11 +1374,3 @@ config SOC_PHY_COMBO_MODULE
|
||||
config SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_LCDCAM_CAM_PERIPH_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_LCDCAM_CAM_DATA_WIDTH_MAX
|
||||
int
|
||||
default 16
|
||||
|
||||
@@ -559,5 +559,3 @@
|
||||
|
||||
/*--------------------------- CAM ---------------------------------*/
|
||||
#define SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV (1)
|
||||
#define SOC_LCDCAM_CAM_PERIPH_NUM (1U)
|
||||
#define SOC_LCDCAM_CAM_DATA_WIDTH_MAX (16U)
|
||||
|
||||
@@ -1,57 +1,58 @@
|
||||
INPUT += \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_i2c.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_uart.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_spi.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler_loopback.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/csi/include/esp_cam_ctlr_csi.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/include/esp_cam_ctlr.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/include/esp_cam_ctlr_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/isp_dvp/include/esp_cam_ctlr_isp_dvp.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_pdm.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_std.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_vad.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_ae.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_af.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_awb.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_bf.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_blc.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_ccm.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_color.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_core.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_crop.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_demosaic.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_gamma.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_hist.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_lsc.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_sharpen.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_decode.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_encode.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_ppa/include/driver/ppa.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/hw_ver3/include/driver/touch_version_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens_types.h \
|
||||
$(PROJECT_PATH)/components/esp_hal_cam/include/hal/cam_ctlr_types.h \
|
||||
$(PROJECT_PATH)/components/esp_lcd/dsi/include/esp_lcd_mipi_dsi.h \
|
||||
$(PROJECT_PATH)/components/esp_lcd/rgb/include/esp_lcd_panel_rgb.h \
|
||||
$(PROJECT_PATH)/components/hal/include/hal/isp_types.h \
|
||||
$(PROJECT_PATH)/components/hal/include/hal/ppa_types.h \
|
||||
$(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl.h \
|
||||
$(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl_by_on_chip_ldo.h \
|
||||
$(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/bitscrambler_peri_select.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_etm.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_i2c.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_spi.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_uart.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/include/ulp_lp_core.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_gpio.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_i2c.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_mailbox.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_print.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_spi.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_uart.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_utils.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_mailbox.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/lp_core/include/ulp_lp_core_spi.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/shared/include/ulp_lp_core_lp_vad_shared.h \
|
||||
$(PROJECT_PATH)/components/ulp/ulp_common/include/ulp_common.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler_loopback.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/include/esp_cam_ctlr.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/include/esp_cam_ctlr_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/csi/include/esp_cam_ctlr_csi.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_cam/isp_dvp/include/esp_cam_ctlr_isp_dvp.h \
|
||||
$(PROJECT_PATH)/components/hal/include/hal/isp_types.h \
|
||||
$(PROJECT_PATH)/components/hal/include/hal/ppa_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_touch_sens/hw_ver3/include/driver/touch_version_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_types.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_af.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_ae.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_awb.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_ccm.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_bf.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_blc.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_lsc.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_crop.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_demosaic.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_sharpen.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_core.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_gamma.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_hist.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_isp/include/driver/isp_color.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_std.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_pdm.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_i2s/include/driver/lp_i2s_vad.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_decode.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_jpeg/include/driver/jpeg_encode.h \
|
||||
$(PROJECT_PATH)/components/esp_driver_ppa/include/driver/ppa.h \
|
||||
$(PROJECT_PATH)/components/esp_lcd/dsi/include/esp_lcd_mipi_dsi.h \
|
||||
$(PROJECT_PATH)/components/esp_lcd/rgb/include/esp_lcd_panel_rgb.h \
|
||||
$(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/bitscrambler_peri_select.h \
|
||||
$(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl.h \
|
||||
$(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl_by_on_chip_ldo.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/shared/include/ulp_lp_core_lp_uart_shared.h \
|
||||
$(PROJECT_PATH)/components/ulp/lp_core/shared/include/ulp_lp_core_lp_vad_shared.h \
|
||||
$(PROJECT_PATH)/components/ulp/ulp_common/include/ulp_common.h
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define EXAMPLE_CAM_SCCB_FREQ (10 * 1000)
|
||||
#define EXAMPLE_CAM_SCCB_FREQ (100 * 1000)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
idf_component_register(SRCS "dvp_isp_dsi_main.c"
|
||||
INCLUDE_DIRS "."
|
||||
REQUIRES esp_mm esp_driver_isp esp_driver_cam esp_driver_i2c dsi_init sensor_init
|
||||
REQUIRES esp_mm esp_driver_isp esp_driver_cam esp_driver_i2c dsi_init sensor_init esp_pm
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user