Support for power down pin like on AI-Thinker esp32-cam module

This commit is contained in:
Nitek
2018-12-11 14:08:57 +01:00
parent 1f9e00849f
commit e48b0a8969
2 changed files with 14 additions and 0 deletions

View File

@@ -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

View File

@@ -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 */