mirror of
https://github.com/rzeldent/esp32cam-rtsp.git
synced 2025-11-11 18:56:21 +00:00
Added sccb_i2c_port
Retry 3 times camera init
This commit is contained in:
@@ -31,7 +31,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"arduino": {
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
@@ -31,7 +31,9 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'" ],
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
@@ -58,4 +60,4 @@
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-cam-v1.1.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino":{
|
||||
"arduino": {
|
||||
"ldscript": "esp32s2_out.ld"
|
||||
},
|
||||
"core": "esp32",
|
||||
@@ -31,7 +31,9 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'" ],
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
@@ -58,4 +60,4 @@
|
||||
},
|
||||
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-cam-v1.1.html",
|
||||
"vendor": "Espressif"
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
"'-D GROVE_SDA=13'",
|
||||
"'-D GROVE_SCL=4'"
|
||||
],
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
"'-D GROVE_SDA=13'",
|
||||
"'-D GROVE_SCL=4'"
|
||||
],
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
"'-D MICROPHONE_GPIO=32'",
|
||||
"'-D GROVE_SDA=13'",
|
||||
"'-D GROVE_SCL=4'"
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'",
|
||||
"'-D I2C_MEMS_SDA=48'",
|
||||
"'-D I2C_MEMS_SCL=47'",
|
||||
"'-D TF_CS=9'",
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
"'-D I2C_MEMS_SDA=41'",
|
||||
"'-D I2C_MEMS_SCL=42'",
|
||||
"'-D TF_CS=21'",
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
"'-D LCD_SSD1306_PIN_SDA=21'",
|
||||
"'-D LCD_SSD1306_PIN_SCL=22'",
|
||||
"'-D BUTTON_RIGHT_PIN=34'",
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'"
|
||||
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'",
|
||||
"'-D SCCB_I2C_PORT=I2C_NUM_0'"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "40000000L",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
###############################################################################
|
||||
[platformio]
|
||||
#default_envs = esp32cam_ai_thinker
|
||||
default_envs = esp32cam_ai_thinker
|
||||
#default_envs = esp32cam_espressif_esp_eye
|
||||
#default_envs = esp32cam_espressif_esp32s2_cam_board
|
||||
#default_envs = esp32cam_espressif_esp32s2_cam_header
|
||||
|
||||
23
src/main.cpp
23
src/main.cpp
@@ -219,8 +219,7 @@ esp_err_t initialize_camera()
|
||||
log_i("JPEG quality: %d", param_jpg_quality.value());
|
||||
auto jpeg_quality = param_jpg_quality.value();
|
||||
log_i("Frame duration: %d ms", param_frame_duration.value());
|
||||
constexpr auto i2c_port = I2C_NUM_0;
|
||||
|
||||
|
||||
camera_config_t camera_config = {
|
||||
.pin_pwdn = CAMERA_CONFIG_PIN_PWDN, // GPIO pin for camera power down line
|
||||
.pin_reset = CAMERA_CONFIG_PIN_RESET, // GPIO pin for camera reset line
|
||||
@@ -250,7 +249,7 @@ esp_err_t initialize_camera()
|
||||
#if CONFIG_CAMERA_CONVERTER_ENABLED
|
||||
conv_mode = CONV_DISABLE, // RGB<->YUV Conversion mode
|
||||
#endif
|
||||
.sccb_i2c_port = i2c_port // If pin_sccb_sda is -1, use the already configured I2C bus by number
|
||||
.sccb_i2c_port = SCCB_I2C_PORT // If pin_sccb_sda is -1, use the already configured I2C bus by number
|
||||
};
|
||||
|
||||
return cam.init(camera_config);
|
||||
@@ -380,11 +379,19 @@ void setup()
|
||||
#endif
|
||||
iotWebConf.init();
|
||||
|
||||
camera_init_result = initialize_camera();
|
||||
if (camera_init_result == ESP_OK)
|
||||
update_camera_settings();
|
||||
else
|
||||
log_e("Failed to initialize camera: 0x%0x. Frame size: %s, frame rate: %d ms, jpeg quality: %d", camera_init_result, param_frame_size.value(), param_frame_duration.value(), param_jpg_quality.value());
|
||||
// Try to initialize 3 times
|
||||
for (auto i = 0; i < 3; i++)
|
||||
{
|
||||
camera_init_result = initialize_camera();
|
||||
if (camera_init_result == ESP_OK)
|
||||
{
|
||||
update_camera_settings();
|
||||
break;
|
||||
}
|
||||
|
||||
log_e("Failed to initialize camera. Error: 0x%0x. Frame size: %s, frame rate: %d ms, jpeg quality: %d", camera_init_result, param_frame_size.value(), param_frame_duration.value(), param_jpg_quality.value());
|
||||
delay(500);
|
||||
}
|
||||
|
||||
// Set up required URL handlers on the web server
|
||||
web_server.on("/", HTTP_GET, handle_root);
|
||||
|
||||
Reference in New Issue
Block a user