mirror of
https://github.com/rzeldent/esp32cam-rtsp.git
synced 2025-11-12 11:16:22 +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_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"build": {
|
"build": {
|
||||||
"arduino":{
|
"arduino": {
|
||||||
"ldscript": "esp32s2_out.ld"
|
"ldscript": "esp32s2_out.ld"
|
||||||
},
|
},
|
||||||
"core": "esp32",
|
"core": "esp32",
|
||||||
@@ -31,7 +31,9 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "80000000L",
|
"f_flash": "80000000L",
|
||||||
"flash_mode": "qio",
|
"flash_mode": "qio",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"build": {
|
"build": {
|
||||||
"arduino":{
|
"arduino": {
|
||||||
"ldscript": "esp32s2_out.ld"
|
"ldscript": "esp32s2_out.ld"
|
||||||
},
|
},
|
||||||
"core": "esp32",
|
"core": "esp32",
|
||||||
@@ -31,7 +31,9 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "80000000L",
|
"f_flash": "80000000L",
|
||||||
"flash_mode": "qio",
|
"flash_mode": "qio",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "80000000L",
|
"f_flash": "80000000L",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "80000000L",
|
"f_flash": "80000000L",
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
"'-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'"
|
||||||
"'-D GROVE_SDA=13'",
|
"'-D GROVE_SDA=13'",
|
||||||
"'-D GROVE_SCL=4'"
|
"'-D GROVE_SCL=4'"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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'"
|
||||||
"'-D GROVE_SDA=13'",
|
"'-D GROVE_SDA=13'",
|
||||||
"'-D GROVE_SCL=4'"
|
"'-D GROVE_SCL=4'"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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'"
|
||||||
"'-D MICROPHONE_GPIO=32'",
|
"'-D MICROPHONE_GPIO=32'",
|
||||||
"'-D GROVE_SDA=13'",
|
"'-D GROVE_SDA=13'",
|
||||||
"'-D GROVE_SCL=4'"
|
"'-D GROVE_SCL=4'"
|
||||||
|
|||||||
@@ -29,7 +29,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
||||||
"'-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'",
|
||||||
"'-D I2C_MEMS_SDA=48'",
|
"'-D I2C_MEMS_SDA=48'",
|
||||||
"'-D I2C_MEMS_SCL=47'",
|
"'-D I2C_MEMS_SCL=47'",
|
||||||
"'-D TF_CS=9'",
|
"'-D TF_CS=9'",
|
||||||
|
|||||||
@@ -29,7 +29,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=2'",
|
"'-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'"
|
||||||
"'-D I2C_MEMS_SDA=41'",
|
"'-D I2C_MEMS_SDA=41'",
|
||||||
"'-D I2C_MEMS_SCL=42'",
|
"'-D I2C_MEMS_SCL=42'",
|
||||||
"'-D TF_CS=21'",
|
"'-D TF_CS=21'",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
"'-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'"
|
||||||
"'-D LCD_SSD1306_PIN_SDA=21'",
|
"'-D LCD_SSD1306_PIN_SDA=21'",
|
||||||
"'-D LCD_SSD1306_PIN_SCL=22'",
|
"'-D LCD_SSD1306_PIN_SCL=22'",
|
||||||
"'-D BUTTON_RIGHT_PIN=34'",
|
"'-D BUTTON_RIGHT_PIN=34'",
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
|
||||||
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
|
||||||
"'-D CAMERA_CONFIG_FB_COUNT=1'",
|
"'-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_cpu": "240000000L",
|
||||||
"f_flash": "40000000L",
|
"f_flash": "40000000L",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
[platformio]
|
[platformio]
|
||||||
#default_envs = esp32cam_ai_thinker
|
default_envs = esp32cam_ai_thinker
|
||||||
#default_envs = esp32cam_espressif_esp_eye
|
#default_envs = esp32cam_espressif_esp_eye
|
||||||
#default_envs = esp32cam_espressif_esp32s2_cam_board
|
#default_envs = esp32cam_espressif_esp32s2_cam_board
|
||||||
#default_envs = esp32cam_espressif_esp32s2_cam_header
|
#default_envs = esp32cam_espressif_esp32s2_cam_header
|
||||||
|
|||||||
21
src/main.cpp
21
src/main.cpp
@@ -219,7 +219,6 @@ esp_err_t initialize_camera()
|
|||||||
log_i("JPEG quality: %d", param_jpg_quality.value());
|
log_i("JPEG quality: %d", param_jpg_quality.value());
|
||||||
auto jpeg_quality = param_jpg_quality.value();
|
auto jpeg_quality = param_jpg_quality.value();
|
||||||
log_i("Frame duration: %d ms", param_frame_duration.value());
|
log_i("Frame duration: %d ms", param_frame_duration.value());
|
||||||
constexpr auto i2c_port = I2C_NUM_0;
|
|
||||||
|
|
||||||
camera_config_t camera_config = {
|
camera_config_t camera_config = {
|
||||||
.pin_pwdn = CAMERA_CONFIG_PIN_PWDN, // GPIO pin for camera power down line
|
.pin_pwdn = CAMERA_CONFIG_PIN_PWDN, // GPIO pin for camera power down line
|
||||||
@@ -250,7 +249,7 @@ esp_err_t initialize_camera()
|
|||||||
#if CONFIG_CAMERA_CONVERTER_ENABLED
|
#if CONFIG_CAMERA_CONVERTER_ENABLED
|
||||||
conv_mode = CONV_DISABLE, // RGB<->YUV Conversion mode
|
conv_mode = CONV_DISABLE, // RGB<->YUV Conversion mode
|
||||||
#endif
|
#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);
|
return cam.init(camera_config);
|
||||||
@@ -380,11 +379,19 @@ void setup()
|
|||||||
#endif
|
#endif
|
||||||
iotWebConf.init();
|
iotWebConf.init();
|
||||||
|
|
||||||
camera_init_result = initialize_camera();
|
// Try to initialize 3 times
|
||||||
if (camera_init_result == ESP_OK)
|
for (auto i = 0; i < 3; i++)
|
||||||
update_camera_settings();
|
{
|
||||||
else
|
camera_init_result = initialize_camera();
|
||||||
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());
|
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
|
// Set up required URL handlers on the web server
|
||||||
web_server.on("/", HTTP_GET, handle_root);
|
web_server.on("/", HTTP_GET, handle_root);
|
||||||
|
|||||||
Reference in New Issue
Block a user