Merge 423550d2c4 into db0112e9c2
commit
55324c9cb9
|
|
@ -43,6 +43,7 @@
|
||||||
# Icon must end with two \r
|
# Icon must end with two \r
|
||||||
Icon
|
Icon
|
||||||
|
|
||||||
|
|
||||||
# Thumbnails
|
# Thumbnails
|
||||||
._*
|
._*
|
||||||
|
|
||||||
|
|
@ -68,3 +69,6 @@ Temporary Items
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/c++,macos
|
# End of https://www.toptal.com/developers/gitignore/api/c++,macos
|
||||||
|
|
||||||
|
# Arduino IDE build output
|
||||||
|
build/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ void Camera::InitCameraModule() {
|
||||||
CameraConfig.pin_sccb_scl = SIOC_GPIO_NUM;
|
CameraConfig.pin_sccb_scl = SIOC_GPIO_NUM;
|
||||||
CameraConfig.pin_pwdn = PWDN_GPIO_NUM;
|
CameraConfig.pin_pwdn = PWDN_GPIO_NUM;
|
||||||
CameraConfig.pin_reset = RESET_GPIO_NUM;
|
CameraConfig.pin_reset = RESET_GPIO_NUM;
|
||||||
CameraConfig.xclk_freq_hz = 15000000; // or 3000000; 16500000; 20000000
|
CameraConfig.xclk_freq_hz = 20000000; // or 3000000; 15000000; 16500000
|
||||||
CameraConfig.pixel_format = PIXFORMAT_JPEG; /* YUV422,GRAYSCALE,RGB565,JPEG */
|
CameraConfig.pixel_format = PIXFORMAT_JPEG; /* YUV422,GRAYSCALE,RGB565,JPEG */
|
||||||
|
|
||||||
/* OV2640
|
/* OV2640
|
||||||
|
|
@ -322,6 +322,18 @@ void Camera::ApplyCameraCfg() {
|
||||||
sensor->set_vflip(sensor, vflip); // vertical flip 0 = disable , 1 = enable
|
sensor->set_vflip(sensor, vflip); // vertical flip 0 = disable , 1 = enable
|
||||||
sensor->set_dcw(sensor, 1); // 0 = disable , 1 = enable
|
sensor->set_dcw(sensor, 1); // 0 = disable , 1 = enable
|
||||||
sensor->set_colorbar(sensor, 0); // external collor lines, 0 = disable , 1 = enable
|
sensor->set_colorbar(sensor, 0); // external collor lines, 0 = disable , 1 = enable
|
||||||
|
|
||||||
|
/* OV3660-specific initialization */
|
||||||
|
if (sensor->id.PID == OV3660_PID) {
|
||||||
|
sensor->set_vflip(sensor, 1); // OV3660 image is natively inverted
|
||||||
|
sensor->set_saturation(sensor, -2); // reduce initial oversaturation
|
||||||
|
/* OV3660 max resolution is SXGA (1280x1024); clamp if a larger size was stored */
|
||||||
|
if (TFrameSize > FRAMESIZE_SXGA) {
|
||||||
|
log->AddEvent(LogLevel_Warning, F("OV3660: frame size exceeds SXGA, clamping"));
|
||||||
|
TFrameSize = FRAMESIZE_SXGA;
|
||||||
|
sensor->set_framesize(sensor, FRAMESIZE_SXGA);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
|
|
||||||
/* ------------------ EXIF CFG ------------------*/
|
/* ------------------ EXIF CFG ------------------*/
|
||||||
#define CAMERA_MAKE "OmniVision" ///< Camera make string
|
#define CAMERA_MAKE "OmniVision" ///< Camera make string
|
||||||
#define CAMERA_MODEL "OV2640" ///< Camera model string
|
#define CAMERA_MODEL "OV3660" ///< Camera model string
|
||||||
#define CAMERA_SOFTWARE "Prusa ESP32-cam" ///< Camera software string
|
#define CAMERA_SOFTWARE "Prusa ESP32-cam" ///< Camera software string
|
||||||
#define CAMERA_EXIF_ROTATION_STREAM false ///< enable camera exif rotation for stream
|
#define CAMERA_EXIF_ROTATION_STREAM false ///< enable camera exif rotation for stream
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ These are currently known or tested camera modules:
|
||||||
| OV2640IR | 160° | 2MP | Yes | Yes | |
|
| OV2640IR | 160° | 2MP | Yes | Yes | |
|
||||||
| OV8225N | 66° | 2MP | Yes | Yes | |
|
| OV8225N | 66° | 2MP | Yes | Yes | |
|
||||||
| OV3360 | 66° | 3MP | Yes | Yes | |
|
| OV3360 | 66° | 3MP | Yes | Yes | |
|
||||||
|
| OV3660 | 66° | 3MP | Yes | Yes | Max resolution SXGA (1280x1024) |
|
||||||
| OV5640-AF | 72° | 5MP | Yes | Yes | Overheating, slow photo loading |
|
| OV5640-AF | 72° | 5MP | Yes | Yes | Overheating, slow photo loading |
|
||||||
|
|
||||||
<a name="different_mcu"></a>
|
<a name="different_mcu"></a>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue