Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions esp_cam_sensor/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 1.5.0

- Added OV02C10 MIPI camera sensor driver with support for 1288x728 and 1920x1080 resolutions at 30fps (1-lane and 2-lane modes).

## 1.4.0

- Update driver dependency, not rely on old `driver` component anymore
Expand Down
10 changes: 10 additions & 0 deletions esp_cam_sensor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ if(CONFIG_CAMERA_OS02N10)
list(APPEND priv_include_dirs "sensors/os02n10/private_include")
endif()

if(CONFIG_CAMERA_OV02C10)
list(APPEND srcs "sensors/ov02c10/ov02c10.c")
list(APPEND include_dirs "sensors/ov02c10/include")
list(APPEND priv_include_dirs "sensors/ov02c10/private_include")
endif()

if(CONFIG_CAMERA_SC101IOT)
list(APPEND srcs "sensors/sc101iot/sc101iot.c")
list(APPEND include_dirs "sensors/sc101iot/include")
Expand Down Expand Up @@ -155,6 +161,10 @@ if(CONFIG_CAMERA_OS02N10_AUTO_DETECT_MIPI_INTERFACE_SENSOR)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u os02n10_detect")
endif()

if(CONFIG_CAMERA_OV02C10_AUTO_DETECT_MIPI_INTERFACE_SENSOR)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u ov02c10_detect")
endif()

if(CONFIG_CAMERA_SC101IOT_AUTO_DETECT_DVP_INTERFACE_SENSOR)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u sc101iot_detect")
endif()
Expand Down
1 change: 1 addition & 0 deletions esp_cam_sensor/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ menu "Espressif Camera Sensors Configurations"
rsource "sensors/os02n10/Kconfig.os02n10"
rsource "sensors/ov2640/Kconfig.ov2640"
rsource "sensors/ov2710/Kconfig.ov2710"
rsource "sensors/ov02c10/Kconfig.ov02c10"
rsource "sensors/ov5640/Kconfig.ov5640"
rsource "sensors/ov5645/Kconfig.ov5645"
rsource "sensors/ov5647/Kconfig.ov5647"
Expand Down
1 change: 1 addition & 0 deletions esp_cam_sensor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ It is highly recommended that users use it in the [esp-video](https://github.com
| GC0308 | 640 x 480 | DVP | Grayscale<br/>YCbCr422<br/>RGB565 | 1/6.5" |
| GC2145 | 1600 x 1200 | MIPI & DVP | RGB565<br/>YCbCr422<br/>8bit Raw RGB data | 1/5" |
| OS02N10 | 1920 x 1080 | MIPI | 8/10-bit Raw RGB data | 1/3.27" |
| OV02C10 | 1920 x 1080 | MIPI | 10-bit Raw RGB data | 1/5" |
| OV2640 | 1600 x 1200 | DVP | 8/10-bit Raw RGB data<br/>JPEG compression<br/>YUV/YCbCr422<br/>RGB565 | 1/4" |
| OV2710 | 1920 x 1080 | MIPI | Raw RGB data | 1/2.7" |
| OV5640 | 2592 x 1944 | MIPI & DVP | RGB565<br/>YUV/YCbCr422 | 1/4" |
Expand Down
2 changes: 1 addition & 1 deletion esp_cam_sensor/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "1.4.0"
version: "1.5.0"
description: "Espressif camera sensor drivers, it is recommended to use with esp_video"
targets:
- esp32p4
Expand Down
8 changes: 8 additions & 0 deletions esp_cam_sensor/project_include.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,12 @@ if(CONFIG_CAMERA_SC035HGS)
elseif(CONFIG_CAMERA_SC035HGS_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE)
idf_build_set_property(ESP_IPA_JSON_CONFIG_FILE_PATH ${CONFIG_CAMERA_SC035HGS_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH} APPEND)
endif()
endif()

if(CONFIG_CAMERA_OV02C10)
if(CONFIG_CAMERA_OV02C10_DEFAULT_IPA_JSON_CONFIGURATION_FILE)
idf_build_set_property(ESP_IPA_JSON_CONFIG_FILE_PATH "${COMPONENT_PATH}/sensors/ov02c10/cfg/ov02c10_default.json" APPEND)
elseif(CONFIG_CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE)
idf_build_set_property(ESP_IPA_JSON_CONFIG_FILE_PATH ${CONFIG_CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH} APPEND)
endif()
endif()
109 changes: 109 additions & 0 deletions esp_cam_sensor/sensors/ov02c10/Kconfig.ov02c10
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
menuconfig CAMERA_OV02C10
bool "OV02C10"
default n
help
Enabling this option will add the support for OV02C10.

if CAMERA_OV02C10
menuconfig CAMERA_OV02C10_AUTO_DETECT
bool "Auto detect OV02C10"
default y
help
When enabled, it provides the ability in application layer to automatically
detect camera sensors one by one.

if CAMERA_OV02C10_AUTO_DETECT
config CAMERA_OV02C10_AUTO_DETECT_MIPI_INTERFACE_SENSOR
bool "Detect for MIPI interface sensor"
default y
help
When enabled, you don't need to call ov02c10_detect manually, ov02c10
will be automatically detected and connected to the MIPI CSI interface
when the application starts.
endif

choice CAMERA_OV02C10_MIPI_DEFAULT_FMT
prompt "Default format select"
default CAMERA_OV02C10_MIPI_RAW10_1288x728_30FPS
help
Select the default format to load when the sensor is detected.
When the sensor is in stream off state, the format can be changed.

config CAMERA_OV02C10_MIPI_RAW10_1288x728_30FPS
bool "RAW10 1288x728 30fps, MIPI 1lane 24M input"
config CAMERA_OV02C10_MIPI_RAW10_1920x1080_30FPS
bool "RAW10 1920x1080 30fps, MIPI 1lane 24M input"
config CAMERA_OV02C10_MIPI_RAW10_1920x1080_2LAN_30FPS
bool "RAW10 1920x1080 30fps, MIPI 2lane 24M input"
endchoice # CAMERA_OV02C10_MIPI_DEFAULT_FMT

config CAMERA_OV02C10_MIPI_IF_FORMAT_INDEX_DAFAULT
int
default 0 if CAMERA_OV02C10_MIPI_RAW10_1288x728_30FPS
default 1 if CAMERA_OV02C10_MIPI_RAW10_1920x1080_30FPS
default 2 if CAMERA_OV02C10_MIPI_RAW10_1920x1080_2LAN_30FPS
help
Set the configuration loaded by default for the MIPI interface.
More information can be obtained by calling the query_support_formats().

config CAMERA_OV02C10_CSI_LINESYNC_ENABLE
bool "CSI Line sync enable"
default y
help
If enabled, send line short packet for each line.

config CAMERA_OV02C10_ISP_AF_ENABLE
bool "AF(auto focus) enable"
default y
help
If enabled, the camera module will enable some IO pins to drive the
VCM motor.

config CAMERA_OV02C10_ABSOLUTE_GAIN_LIMIT
int "Maximum absolute gain limit"
default 66016
range 4000 126016
help
Use this value to limit the maximum gain that upper level applications can use.
To avoid using float type, the size of this value is gain x 1000.
Excessive gain can lead to a worse signal-to-noise ratio and may cause the device to overheat, affecting its functionality.

choice CAMERA_OV02C10_ABS_GAIN_MAP_PRIORITY
prompt "Gain map select"
default CAMERA_OV02C10_ANA_GAIN_PRIORITY
help
The map of gains affects the size of the noise and the smoothness of the brightness change.
Compared with digital gain, analog gain has less noise.
Choose the appropriate gain map to balance the smoothness of the noise and brightness change.

config CAMERA_OV02C10_ANA_GAIN_PRIORITY
bool "Analog Gain Priority"
config CAMERA_OV02C10_DIG_GAIN_PRIORITY
bool "Digital Gain Priority"
endchoice # CAMERA_OV02C10_ABS_GAIN_MAP_PRIORITY

choice CAMERA_OV02C10_IPA_JSON_CONFIGURATION_FILE
prompt "IPA JSON Configuration File"
default CAMERA_OV02C10_DEFAULT_IPA_JSON_CONFIGURATION_FILE
help
Select OV02C10 JSON configuration file.

config CAMERA_OV02C10_DEFAULT_IPA_JSON_CONFIGURATION_FILE
bool "Default"
help
Use the "esp_cam_sensor/sensors/ov02c10/cfg/ov02c10_default.json".

config CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE
bool "Customized"
help
Use a customized OV02C10 JSON configuration file. Users should configure
the file's path using the option "CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH."
endchoice

config CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH
string "OV02C10 Customized JSON Configuration File Path"
depends on CAMERA_OV02C10_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE
help
Customized OV02C10 JSON configuration file's path and this path is evaluated
relative to the project root directory by default.
endif
Loading