mirror of
https://github.com/esphome/esphome.git
synced 2025-09-08 06:12:20 +01:00
Add support for ESP32 CAM resolutions for 3MP and 5MP sensors (OV5640 for example). Also support (almost) arbitrary camera clock, some cameras/ESP chips need slightly lower clock than 20MHz to avoid image corruption. (#4580)
This commit is contained in:
@@ -91,6 +91,30 @@ void ESP32Camera::dump_config() {
|
||||
case FRAMESIZE_UXGA:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 1600x1200 (UXGA)");
|
||||
break;
|
||||
case FRAMESIZE_FHD:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 1920x1080 (FHD)");
|
||||
break;
|
||||
case FRAMESIZE_P_HD:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 720x1280 (P_HD)");
|
||||
break;
|
||||
case FRAMESIZE_P_3MP:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 864x1536 (P_3MP)");
|
||||
break;
|
||||
case FRAMESIZE_QXGA:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 2048x1536 (QXGA)");
|
||||
break;
|
||||
case FRAMESIZE_QHD:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 2560x1440 (QHD)");
|
||||
break;
|
||||
case FRAMESIZE_WQXGA:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 2560x1600 (WQXGA)");
|
||||
break;
|
||||
case FRAMESIZE_P_FHD:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 1080x1920 (P_FHD)");
|
||||
break;
|
||||
case FRAMESIZE_QSXGA:
|
||||
ESP_LOGCONFIG(TAG, " Resolution: 2560x1920 (QSXGA)");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -257,6 +281,30 @@ void ESP32Camera::set_frame_size(ESP32CameraFrameSize size) {
|
||||
case ESP32_CAMERA_SIZE_1600X1200:
|
||||
this->config_.frame_size = FRAMESIZE_UXGA;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_1920X1080:
|
||||
this->config_.frame_size = FRAMESIZE_FHD;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_720X1280:
|
||||
this->config_.frame_size = FRAMESIZE_P_HD;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_864X1536:
|
||||
this->config_.frame_size = FRAMESIZE_P_3MP;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_2048X1536:
|
||||
this->config_.frame_size = FRAMESIZE_QXGA;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_2560X1440:
|
||||
this->config_.frame_size = FRAMESIZE_QHD;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_2560X1600:
|
||||
this->config_.frame_size = FRAMESIZE_WQXGA;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_1080X1920:
|
||||
this->config_.frame_size = FRAMESIZE_P_FHD;
|
||||
break;
|
||||
case ESP32_CAMERA_SIZE_2560X1920:
|
||||
this->config_.frame_size = FRAMESIZE_QSXGA;
|
||||
break;
|
||||
}
|
||||
}
|
||||
void ESP32Camera::set_jpeg_quality(uint8_t quality) { this->config_.jpeg_quality = quality; }
|
||||
|
Reference in New Issue
Block a user