Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
8 changes: 8 additions & 0 deletions .github/ci/update_readme_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ def get_capabilities_table(header_path, main_path, manifest):
"""
Get markdown formatted table of manifest's capabilities
"""
with open(header_path, 'r') as f:
h_code = f.read()
with open(header_path, 'r') as f:
content = f.readlines()
table_data = []
Expand Down Expand Up @@ -181,6 +183,12 @@ def get_capabilities_table(header_path, main_path, manifest):
matches = re.findall(r"([a-z0-9_]+)_codec_new", mic_code_section)
additional_info = [m for m in matches if not m.startswith("audio")]

# CAMERA SENSOR
if capability == "CAMERA":
cam_match = re.search(r"Supported camera sensors:\s*(.*)", h_code)
if cam_match:
additional_info = re.findall(r"[A-Z0-9_]+", cam_match.group(1))

components = []
versions = []
if component_versions is not None:
Expand Down
9 changes: 9 additions & 0 deletions .github/ci/update_supported_boards.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def extract_board_info(board_path):
touch_types = []
speaker_codec = []
mic_codec = []
cam_sensor = []
for line in lines:
match = re.match(r"#define\s+BSP_CAPS_([A-Z0-9_]+)\s+1\b", line)
if match:
Expand All @@ -92,6 +93,12 @@ def extract_board_info(board_path):
# TOUCH: esp_lcd_touch_new_i2c_*
touch_types = re.findall(r"esp_lcd_touch_new_i2c_([a-z0-9_]+)\s*\(", c_code)

# CAMERA: find camera sensors
if "CAMERA" in features:
match = re.search(r"Supported camera sensors:\s*(.*)", content)
if match:
cam_sensor = re.findall(r"[A-Z0-9_]+", match.group(1))

# AUDIO_SPEAKER
if "AUDIO_SPEAKER" in features:
speaker_code_section = extract_function_body(c_code, 'bsp_audio_codec_speaker_init')
Expand Down Expand Up @@ -173,6 +180,8 @@ def extract_board_info(board_path):
f_suffix = f" ({', '.join(speaker_codec)})" if speaker_codec else ""
elif f == "AUDIO_MIC":
f_suffix = f" ({', '.join(mic_codec)})" if mic_codec else ""
elif f == "CAMERA":
f_suffix = f" ({', '.join(cam_sensor)})" if cam_sensor else ""

feature_list += f"{f_emoji} {f_name} {f_suffix}<br/>"
feature_list += ""
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ The following table shows the compatibility of this BSP with different ESP-IDF v
| [ESP-BOX-3](bsp/esp-box-3) | esp32s3 | :musical_note: Audio <br/>:microphone: Audio Microphone (es7210)<br/>:speaker: Audio Speaker (es8311)<br/>:radio_button: Button <br/>:pager: LCD Display (st7789, ili9341)<br/>:video_game: IMU <br/>:floppy_disk: uSD Card <br/>:point_up: Display Touch (tt21100, gt911)<br/> | <img src="bsp/esp-box-3/doc/esp-box-3.webp" width="150"> |
| [ESP32-C3-LCDKit](bsp/esp32_c3_lcdkit) | esp32c3 | :musical_note: Audio <br/>:speaker: Audio Speaker <br/>:pager: LCD Display (gc9a01)<br/>:white_circle: Knob <br/>:bulb: LED <br/> | <img src="bsp/esp32_c3_lcdkit/doc/esp32_c3_lcdkit.webp" width="150"> |
| [ESP32-LyraT](bsp/esp32_lyrat) | esp32 | :musical_note: Audio <br/>:microphone: Audio Microphone (es8388)<br/>:speaker: Audio Speaker (es8388)<br/>:radio_button: Button <br/>:bulb: LED <br/>:floppy_disk: uSD Card <br/> | <img src="bsp/esp32_lyrat/doc/esp32_lyrat.webp" width="150"> |
| [ESP32-P4-EYE](bsp/esp32_p4_eye) | esp32p4 | :musical_note: Audio <br/>:microphone: Audio Microphone <br/>:battery: Battery <br/>:radio_button: Button <br/>:camera: Camera <br/>:pager: LCD Display (st7789)<br/>:white_circle: Knob <br/>:bulb: LED <br/>:floppy_disk: uSD Card <br/> | <img src="bsp/esp32_p4_eye/doc/esp32_p4_eye.webp" width="150"> |
| [ESP32-P4 Function EV Board](bsp/esp32_p4_function_ev_board) | esp32p4 | :musical_note: Audio <br/>:microphone: Audio Microphone (es8311)<br/>:speaker: Audio Speaker (es8311)<br/>:pager: LCD Display (ek79007, ili9881c, lt8912b)<br/>:floppy_disk: uSD Card <br/>:point_up: Display Touch (gt911)<br/> | <img src="bsp/esp32_p4_function_ev_board/doc/esp32_p4_function_ev_board.webp" width="150"> |
| [ESP32-P4-EYE](bsp/esp32_p4_eye) | esp32p4 | :musical_note: Audio <br/>:microphone: Audio Microphone <br/>:battery: Battery <br/>:radio_button: Button <br/>:camera: Camera (OV2710)<br/>:pager: LCD Display (st7789)<br/>:white_circle: Knob <br/>:bulb: LED <br/>:floppy_disk: uSD Card <br/> | <img src="bsp/esp32_p4_eye/doc/esp32_p4_eye.webp" width="150"> |
| [ESP32-P4 Function EV Board](bsp/esp32_p4_function_ev_board) | esp32p4 | :musical_note: Audio <br/>:microphone: Audio Microphone (es8311)<br/>:speaker: Audio Speaker (es8311)<br/>:camera: Camera (OV5647, SC2336)<br/>:pager: LCD Display (ek79007, ili9881c, lt8912b)<br/>:floppy_disk: uSD Card <br/>:point_up: Display Touch (gt911)<br/> | <img src="bsp/esp32_p4_function_ev_board/doc/esp32_p4_function_ev_board.webp" width="150"> |
| [ESP32-S3-EYE](bsp/esp32_s3_eye) | esp32s3 | :musical_note: Audio <br/>:microphone: Audio Microphone <br/>:radio_button: Button <br/>:camera: Camera <br/>:pager: LCD Display (st7789)<br/>:video_game: IMU <br/>:floppy_disk: uSD Card <br/> | <img src="bsp/esp32_s3_eye/doc/esp32_s3_eye.webp" width="150"> |
| [ESP32-S3-KORVO-1](bsp/esp32_s3_korvo_1) | esp32s3 | :musical_note: Audio <br/>:microphone: Audio Microphone (es7210)<br/>:speaker: Audio Speaker (es8311)<br/>:radio_button: Button <br/>:bulb: LED <br/>:floppy_disk: uSD Card <br/> | <img src="bsp/esp32_s3_korvo_1/doc/esp32_s3_korvo_1.webp" width="150"> |
| [ESP32-S3-Korvo-2](bsp/esp32_s3_korvo_2) | esp32s3 | :musical_note: Audio <br/>:microphone: Audio Microphone (es7210)<br/>:speaker: Audio Speaker (es8311)<br/>:radio_button: Button <br/>:camera: Camera <br/>:pager: LCD Display (ili9341)<br/>:bulb: LED <br/>:floppy_disk: uSD Card <br/>:point_up: Display Touch (tt21100)<br/> | <img src="bsp/esp32_s3_korvo_2/doc/esp32_s3_korvo_2.webp" width="150"> |
Expand Down Expand Up @@ -72,7 +72,7 @@ Here is a summary of the available examples:
| [Display Example](examples/display) | Show an image on the screen with a simple startup animation (LVGL) | <details><summary>17 boards</summary>[esp-box](bsp/esp-box)<br/>[esp-box-3](bsp/esp-box-3)<br/>[esp-box-lite](bsp/esp-box-lite)<br/>[esp32_c3_lcdkit](bsp/esp32_c3_lcdkit)<br/>[esp32_p4_eye](bsp/esp32_p4_eye)<br/>[esp32_p4_function_ev_board](bsp/esp32_p4_function_ev_board)<br/>[esp32_s2_kaluga_kit](bsp/esp32_s2_kaluga_kit)<br/>[esp32_s3_eye](bsp/esp32_s3_eye)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[esp32_s3_lcd_ev_board](bsp/esp32_s3_lcd_ev_board)<br/>[esp32_s3_usb_otg](bsp/esp32_s3_usb_otg)<br/>[esp_wrover_kit](bsp/esp_wrover_kit)<br/>[m5_atom_s3](bsp/m5_atom_s3)<br/>[m5dial](bsp/m5dial)<br/>[m5stack_core](bsp/m5stack_core)<br/>[m5stack_core_2](bsp/m5stack_core_2)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display-) |
| [Display, Audio and Photo Example](examples/display_audio_photo) | Complex demo: browse files from filesystem and play/display JPEG, WAV, or TXT files (LVGL) | <details><summary>7 boards</summary>[esp-box](bsp/esp-box)<br/>[esp-box-3](bsp/esp-box-3)<br/>[esp-box-lite](bsp/esp-box-lite)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[esp32_s3_lcd_ev_board](bsp/esp32_s3_lcd_ev_board)<br/>[m5stack_core_2](bsp/m5stack_core_2)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_audio_photo-) |
| [Camera Example](examples/display_camera) | Stream camera output to display (LVGL) | <details><summary>4 boards</summary>[esp32_s2_kaluga_kit](bsp/esp32_s2_kaluga_kit)<br/>[esp32_s3_eye](bsp/esp32_s3_eye)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_camera-) |
| [Camera Example (MIPI-CSI)](examples/display_camera_csi) | Stream camera (MIPI-CSI) output to display (LVGL) | <details><summary>1 board</summary>[esp32_p4_eye](bsp/esp32_p4_eye)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_camera-) |
| [Camera Example (MIPI-CSI)](examples/display_camera_csi) | Stream camera (MIPI-CSI) output to display (LVGL) | <details><summary>2 boards</summary>[esp32_p4_eye](bsp/esp32_p4_eye)<br/>[esp32_p4_function_ev_board](bsp/esp32_p4_function_ev_board)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_camera-) |
| [LVGL Benchmark Example](examples/display_lvgl_benchmark) | Run LVGL benchmark tests | <details><summary>10 boards</summary>[esp-box](bsp/esp-box)<br/>[esp-box-3](bsp/esp-box-3)<br/>[esp-box-lite](bsp/esp-box-lite)<br/>[esp32_p4_function_ev_board](bsp/esp32_p4_function_ev_board)<br/>[esp32_s2_kaluga_kit](bsp/esp32_s2_kaluga_kit)<br/>[esp32_s3_eye](bsp/esp32_s3_eye)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[esp32_s3_lcd_ev_board](bsp/esp32_s3_lcd_ev_board)<br/>[m5dial](bsp/m5dial)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | - |
| [LVGL Demos Example](examples/display_lvgl_demos) | Run the LVGL demo player - all LVGL examples are included (LVGL) | <details><summary>11 boards</summary>[esp-box](bsp/esp-box)<br/>[esp-box-3](bsp/esp-box-3)<br/>[esp-box-lite](bsp/esp-box-lite)<br/>[esp32_p4_eye](bsp/esp32_p4_eye)<br/>[esp32_p4_function_ev_board](bsp/esp32_p4_function_ev_board)<br/>[esp32_s2_kaluga_kit](bsp/esp32_s2_kaluga_kit)<br/>[esp32_s3_eye](bsp/esp32_s3_eye)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[esp32_s3_lcd_ev_board](bsp/esp32_s3_lcd_ev_board)<br/>[m5dial](bsp/m5dial)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_lvgl_demos-) |
| [Display Rotation Example](examples/display_rotation) | Rotate screen using buttons or an accelerometer (`BSP_CAPS_IMU`, if available) | <details><summary>10 boards</summary>[esp-box](bsp/esp-box)<br/>[esp-box-3](bsp/esp-box-3)<br/>[esp-box-lite](bsp/esp-box-lite)<br/>[esp32_p4_eye](bsp/esp32_p4_eye)<br/>[esp32_p4_function_ev_board](bsp/esp32_p4_function_ev_board)<br/>[esp32_s3_korvo_2](bsp/esp32_s3_korvo_2)<br/>[esp32_s3_lcd_ev_board](bsp/esp32_s3_lcd_ev_board)<br/>[m5dial](bsp/m5dial)<br/>[m5stack_core](bsp/m5stack_core)<br/>[m5stack_core_s3](bsp/m5stack_core_s3)</details> | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_rotation-) |
Expand Down
146 changes: 68 additions & 78 deletions bsp/esp32_p4_eye/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@



| :1234: [CAPABILITIES](#1234-capabilities) | :floppy_disk: [SD CARD AND SPIFFS](#floppy_disk-sd-card-and-spiffs) | :musical_note: [AUDIO](#musical_note-audio) | :pager: [DISPLAY AND TOUCH](#pager-display-and-touch) | :radio_button: [BUTTONS](#radio_button-buttons) | :bulb: [LEDS](#bulb-leds) | :camera: [CAMERA](#camera-camera) | :battery: [BATTERY](#battery-battery) |
| :1234: [CAPABILITIES](#1234-capabilities) | :floppy_disk: [SD CARD AND SPIFFS](#floppy_disk-sd-card-and-spiffs) | :musical_note: [AUDIO](#musical_note-audio) | :pager: [DISPLAY AND TOUCH](#pager-display-and-touch) | :radio_button: [BUTTONS](#radio_button-buttons) | :bulb: [LEDS](#bulb-leds) | :battery: [BATTERY](#battery-battery) | :camera: [CAMERA](#camera-camera) |
| :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: | :-------------------------: |

</div>
Expand Down Expand Up @@ -1522,83 +1522,6 @@ esp_err_t bsp_led_set (
## :camera: Camera
There is no dedicated BSP API for camera functionality. Instead, the BSP provides default configuration macros:
- `BSP_CAMERA_DEFAULT_CONFIG`
- `BSP_CAMERA_VFLIP`
- `BSP_CAMERA_HMIRROR`
These macros are designed for use with the [esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) component.
> [!NOTE]
> Don't forget to initialize I2C (`bsp_i2c_init()`) before using the camera, as some camera modules require I2C for configuration.
### Example Usage
```
/* Initialize I2C bus (required by camera module) */
bsp_i2c_init();
/* Initialize the camera using BSP default config */
const camera_config_t camera_config = BSP_CAMERA_DEFAULT_CONFIG;
esp_camera_init(&camera_config);
/* Optional: Set camera orientation */
sensor_t *s = esp_camera_sensor_get();
s->set_vflip(s, BSP_CAMERA_VFLIP); // Vertical flip
s->set_hmirror(s, BSP_CAMERA_HMIRROR); // Horizontal mirror
...
/* Capture a frame */
camera_fb_t * pic = esp_camera_fb_get();
if (pic) {
/* Access raw image data in pic->buf with size pic->len */
process_image(pic->buf, pic->len); // Replace with your function
esp_camera_fb_return(pic);
}
```
### Camera API Reference
## Functions
| Type | Name |
| ---: | :--- |
| esp\_err\_t | [**bsp\_camera\_start**](#function-bsp_camera_start) (void) <br>_Initialize camera._ |
## Macros
| Type | Name |
| ---: | :--- |
| define | [**BSP\_CAMERA\_EN**](#define-bsp_camera_en) (GPIO\_NUM\_12)<br> |
| define | [**BSP\_CAMERA\_GPIO\_XCLK**](#define-bsp_camera_gpio_xclk) (GPIO\_NUM\_11)<br> |
| define | [**BSP\_CAMERA\_RST**](#define-bsp_camera_rst) (GPIO\_NUM\_26)<br> |
| define | [**BSP\_CAMERA\_XCLK\_CLOCK\_MHZ**](#define-bsp_camera_xclk_clock_mhz) 24<br> |
## Functions Documentation
### function `bsp_camera_start`
_Initialize camera._
```c
esp_err_t bsp_camera_start (
void
)
```
Camera sensor initialization.
## :battery: Battery
Some boards with battery support can measure the battery voltage using an ADC channel. BSP provides a simple API for this:
Expand Down Expand Up @@ -1698,6 +1621,73 @@ false Calibration failed
## :camera: Camera
The BSP provides a helper function bsp_camera_start() for initializing the on-board camera module.
This function sets up the required I2C bus, video subsystem, and camera clock if necessary.
### Example Usage
Camera usage can be quite complex. For a complete example, refer to the [`display_camera_csi`](https://github.com/espressif/esp-bsp/tree/master/examples/display_camera_csi) example in the BSP repository, or to the examples provided in the [`esp_video`](https://github.com/espressif/esp-video-components/tree/master/esp_video) component.
> [!NOTE]
> Please, do not forget select right camera sensor in `menuconfig`
### Camera API Reference
## Structures and Types
| Type | Name |
| ---: | :--- |
| struct | [**bsp\_camera\_cfg\_t**](#struct-bsp_camera_cfg_t) <br>_BSP camera configuration structure (for future use)_ |
## Functions
| Type | Name |
| ---: | :--- |
| esp\_err\_t | [**bsp\_camera\_start**](#function-bsp_camera_start) (const [**bsp\_camera\_cfg\_t**](#struct-bsp_camera_cfg_t) \*cfg) <br>_Initialize camera._ |
## Macros
| Type | Name |
| ---: | :--- |
| define | [**BSP\_CAMERA\_DEVICE**](#define-bsp_camera_device) (ESP\_VIDEO\_MIPI\_CSI\_DEVICE\_NAME)<br> |
| define | [**BSP\_CAMERA\_EN**](#define-bsp_camera_en) (GPIO\_NUM\_12)<br> |
| define | [**BSP\_CAMERA\_GPIO\_XCLK**](#define-bsp_camera_gpio_xclk) (GPIO\_NUM\_11)<br> |
| define | [**BSP\_CAMERA\_RST**](#define-bsp_camera_rst) (GPIO\_NUM\_26)<br> |
| define | [**BSP\_CAMERA\_XCLK\_CLOCK\_MHZ**](#define-bsp_camera_xclk_clock_mhz) (24)<br> |
## Structures and Types Documentation
### struct `bsp_camera_cfg_t`
_BSP camera configuration structure (for future use)_
Variables:
- uint8\_t dummy
## Functions Documentation
### function `bsp_camera_start`
_Initialize camera._
```c
esp_err_t bsp_camera_start (
const bsp_camera_cfg_t *cfg
)
```
Camera sensor initialization.
### Others API Reference
Expand Down
4 changes: 2 additions & 2 deletions bsp/esp32_p4_eye/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ menu "Board Support Package(ESP32-P4-EYE)"
default 1
range 0 1
help
MCU has two I2C peripherals, pick the one you want to use.
Pick the I2C you want to use.

config BSP_I2C_FAST_MODE
bool "Enable I2C fast mode"
Expand Down Expand Up @@ -90,5 +90,5 @@ menu "Board Support Package(ESP32-P4-EYE)"
default 0
range 0 2
help
MCU has three I2S peripherals, pick the one you want to use.
Pick the I2S you want to use.
endmenu
3 changes: 1 addition & 2 deletions bsp/esp32_p4_eye/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ ESP32-P4-EYE is a vision development board based on the ESP32-P4 chip, mainly ta
|:heavy_check_mark:| :microphone: AUDIO_MIC | | | |
|:heavy_check_mark:| :floppy_disk: SDCARD | | idf | >=5.4 |
|:heavy_check_mark:| :bulb: LED | |idf<br/>[espressif/led_indicator](https://components.espressif.com/components/espressif/led_indicator)|>=5.4<br/>^2|
|:heavy_check_mark:| :camera: CAMERA | | | |
|:heavy_check_mark:| :camera: CAMERA | OV2710 | | |
|:heavy_check_mark:| :battery: BAT | | idf | >=5.4 |
| :x: | :video_game: IMU | | | |

Expand All @@ -61,4 +61,3 @@ ESP32-P4-EYE is a vision development board based on the ESP32-P4 chip, mainly ta

<!-- END_EXAMPLES -->
</div>

22 changes: 14 additions & 8 deletions bsp/esp32_p4_eye/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

version: "1.0.0"
version: "2.0.0"
description: Board Support Package (BSP) for ESP32-P4-EYE
url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_p4_eye

Expand All @@ -11,28 +11,34 @@ tags:

dependencies:
idf: ">=5.4"

esp_codec_dev:
version: "~1.5"
public: true

espressif/esp_lvgl_port:
version: "^2"
public: true

knob:
version: "^1"
public: true

button:
version: "^4"
public: true

esp_video:
version: "~1.3"
public: true

led_indicator:
version: "^2"
public: true


examples:
- path: ../../examples/display
- path: ../../examples/display_rotation
- path: ../../examples/display_lvgl_demos
- path: ../../examples/display_camera_csi

19 changes: 15 additions & 4 deletions bsp/esp32_p4_eye/include/bsp/esp32_p4_eye.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
#define BSP_LCD_EN (GPIO_NUM_12)
/** @} */ // end of display

/** @defgroup g08_camera Camera
/** @defgroup g12_camera Camera
* @brief Camera BSP API
* @{
*/
Expand Down Expand Up @@ -557,24 +557,35 @@ void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation);

/** @} */ // end of display

/** @addtogroup g08_camera
/** @addtogroup g12_camera
* @{
*/

/**************************************************************************************************
*
* Camera interface
* Supported camera sensors: OV2710
* More information in display_camera_csi example
*
**************************************************************************************************/

#define BSP_CAMERA_XCLK_CLOCK_MHZ 24
#define BSP_CAMERA_DEVICE (ESP_VIDEO_MIPI_CSI_DEVICE_NAME)
#define BSP_CAMERA_XCLK_CLOCK_MHZ (24)

/**
* @brief BSP camera configuration structure (for future use)
*
*/
typedef struct {
uint8_t dummy;
} bsp_camera_cfg_t;

/**
* @brief Initialize camera
*
* Camera sensor initialization.
*/
esp_err_t bsp_camera_start(void);
esp_err_t bsp_camera_start(const bsp_camera_cfg_t *cfg);

/** @} */ // end of camera

Expand Down
Loading
Loading