Support for power down pin like on AI-Thinker esp32-cam module
This commit is contained in:
@@ -852,6 +852,18 @@ esp_err_t camera_probe(const camera_config_t* config, camera_model_t* out_camera
|
||||
vTaskDelay(10 / portTICK_PERIOD_MS);
|
||||
gpio_set_level(config->pin_reset, 1);
|
||||
vTaskDelay(10 / portTICK_PERIOD_MS);
|
||||
} else if(config->pin_pwdn >= 0) {
|
||||
ESP_LOGD(TAG, "Resetting camera by power down line");
|
||||
gpio_config_t conf = { 0 };
|
||||
conf.pin_bit_mask = 1LL << config->pin_pwdn;
|
||||
conf.mode = GPIO_MODE_OUTPUT;
|
||||
gpio_config(&conf);
|
||||
|
||||
// carefull, logic is inverted compared to reset pin
|
||||
gpio_set_level(config->pin_pwdn, 1);
|
||||
vTaskDelay(10 / portTICK_PERIOD_MS);
|
||||
gpio_set_level(config->pin_pwdn, 0);
|
||||
vTaskDelay(10 / portTICK_PERIOD_MS);
|
||||
#if CONFIG_OV2640_SUPPORT
|
||||
} else {
|
||||
//reset OV2640
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*
|
||||
static camera_config_t camera_example_config = {
|
||||
.pin_reset = PIN_RESET,
|
||||
.pin_pwdn = PIN_PWDN,
|
||||
.pin_xclk = PIN_XCLK,
|
||||
.pin_sscb_sda = PIN_SIOD,
|
||||
.pin_sscb_scl = PIN_SIOC,
|
||||
@@ -77,6 +78,7 @@ extern "C" {
|
||||
*/
|
||||
typedef struct {
|
||||
int pin_reset; /*!< GPIO pin for camera reset line */
|
||||
int pin_pwdn; /*!< GPIO pin for camera power down line */
|
||||
int pin_xclk; /*!< GPIO pin for camera XCLK line */
|
||||
int pin_sscb_sda; /*!< GPIO pin for camera SDA line */
|
||||
int pin_sscb_scl; /*!< GPIO pin for camera SCL line */
|
||||
|
||||
Reference in New Issue
Block a user