Fix OV2640 not being reset when OV3660 is enabled

This commit is contained in:
me-no-dev
2019-04-13 22:38:53 +02:00
parent 67cf2403c0
commit bd617234a7

View File

@@ -992,6 +992,17 @@ esp_err_t camera_probe(const camera_config_t* config, camera_model_t* out_camera
ESP_LOGD(TAG, "Detected camera at address=0x%02x", s_state->sensor.slv_addr); ESP_LOGD(TAG, "Detected camera at address=0x%02x", s_state->sensor.slv_addr);
sensor_id_t* id = &s_state->sensor.id; sensor_id_t* id = &s_state->sensor.id;
#if (CONFIG_OV2640_SUPPORT && CONFIG_OV3660_SUPPORT)
if (slv_addr == 0x30) {
ESP_LOGD(TAG, "Resetting OV2640");
//camera might be OV2640. try to reset it
SCCB_Write(0x30, 0xFF, 0x01);//bank sensor
SCCB_Write(0x30, 0x12, 0x80);//reset
vTaskDelay(10 / portTICK_PERIOD_MS);
slv_addr = SCCB_Probe();
}
#endif
#if CONFIG_OV3660_SUPPORT #if CONFIG_OV3660_SUPPORT
if(s_state->sensor.slv_addr == 0x3c){ if(s_state->sensor.slv_addr == 0x3c){
id->PID = SCCB_Read16(s_state->sensor.slv_addr, REG16_CHIDH); id->PID = SCCB_Read16(s_state->sensor.slv_addr, REG16_CHIDH);