diff --git a/CHANGELOG.md b/CHANGELOG.md index 49add6bc9..6a08d06ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ All notable changes to this project will be documented in this file. ### Changed - ESP32 Platform from 2025.01.31 to 2025.02.30, Framework (Arduino Core) from v3.1.1.250109 to v3.1.1.250203 and IDF to 5.3.2 (#22943) +- ESP32 Webcam resolution changes since v14.4.0 (#22901) ### Fixed - Berry parser error in rare case (#22997) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8b584923a..e419a44f5 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -167,6 +167,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Allow negative values for AdcParam/AdcGpio INPUT, TEMP and RANGE parameters [#22809](https://github.com/arendst/Tasmota/issues/22809) - Command `Pixels` has backwards compatible arguments fixing #22755 [#22791](https://github.com/arendst/Tasmota/issues/22791) - ESP32 disable PSRAM check (and on restart some relay toggles) with `#define DISABLE_PSRAMCHECK true` [#21266](https://github.com/arendst/Tasmota/issues/21266) +- ESP32 Webcam resolution changes since v14.4.0 [#22901](https://github.com/arendst/Tasmota/issues/22901) - Berry `gpio.pin_mode` frees PWM on pin - Berry bit-shift operators to `int64` [#22709](https://github.com/arendst/Tasmota/issues/22709) - Berry callback now passes 5 arguments instead of 4 (in line with documentation) [#22908](https://github.com/arendst/Tasmota/issues/22908) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino index f43c3e055..951f95e94 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino @@ -31,32 +31,63 @@ * Supported commands: * WcInterrupt = Control streaming, 0 = stop, 1 = start * WcResolution = Set resolution - 0 = FRAMESIZE_96X96, // 96x96 - 1 = FRAMESIZE_QQVGA, // 160x120 - 2 = FRAMESIZE_QCIF, // 176x144 - 3 = FRAMESIZE_HQVGA, // 240x176 - 4 = FRAMESIZE_240X240, // 240x240 - 5 = FRAMESIZE_QVGA, // 320x240 - 6 = FRAMESIZE_CIF, // 400x296 - 7 = FRAMESIZE_HVGA, // 480x320 - 8 = FRAMESIZE_VGA, // 640x480 - 9 = FRAMESIZE_SVGA, // 800x600 + **** Pre v14.4.0 **** + 0 = FRAMESIZE_96X96, // 96x96 + 1 = FRAMESIZE_QQVGA, // 160x120 + 2 = FRAMESIZE_QCIF, // 176x144 + 3 = FRAMESIZE_HQVGA, // 240x176 + 4 = FRAMESIZE_240X240, // 240x240 + 5 = FRAMESIZE_QVGA, // 320x240 + 6 = FRAMESIZE_CIF, // 400x296 + 7 = FRAMESIZE_HVGA, // 480x320 + 8 = FRAMESIZE_VGA, // 640x480 + 9 = FRAMESIZE_SVGA, // 800x600 10 = FRAMESIZE_XGA, // 1024x768 11 = FRAMESIZE_HD, // 1280x720 12 = FRAMESIZE_SXGA, // 1280x1024 13 = FRAMESIZE_UXGA, // 1600x1200 - // 3MP Sensors above this no yet supported with this driver + // 3MP Sensors above this no yet supported with this driver 14 = FRAMESIZE_FHD, // 1920x1080 15 = FRAMESIZE_P_HD, // 720x1280 16 = FRAMESIZE_P_3MP, // 864x1536 17 = FRAMESIZE_QXGA, // 2048x1536 - // 5MP Sensors + // 5MP Sensors 18 = FRAMESIZE_QHD, // 2560x1440 19 = FRAMESIZE_WQXGA, // 2560x1600 20 = FRAMESIZE_P_FHD, // 1080x1920 21 = FRAMESIZE_QSXGA, // 2560x1920 22 = FRAMESIZE_INVALID + **** Post v14.4.0 **** + 0 = FRAMESIZE_96X96, // 96x96 + 1 = FRAMESIZE_QQVGA, // 160x120 + 2 = FRAMESIZE_128X128, // 128x128 + 3 = FRAMESIZE_QCIF, // 176x144 + 4 = FRAMESIZE_HQVGA, // 240x176 + 5 = FRAMESIZE_240X240, // 240x240 + 6 = FRAMESIZE_QVGA, // 320x240 + 7 = FRAMESIZE_320X320, // 320x320 (Known not to work. See https://github.com/espressif/arduino-esp32/pull/10814) + 8 = FRAMESIZE_CIF, // 400x296 + 9 = FRAMESIZE_HVGA, // 480x320 + 10 = FRAMESIZE_VGA, // 640x480 + 11 = FRAMESIZE_SVGA, // 800x600 + 12 = FRAMESIZE_XGA, // 1024x768 + 13 = FRAMESIZE_HD, // 1280x720 + 14 = FRAMESIZE_SXGA, // 1280x1024 + 15 = FRAMESIZE_UXGA, // 1600x1200 + // 3MP Sensors above this no yet supported with this driver + 16 = FRAMESIZE_FHD, // 1920x1080 + 17 = FRAMESIZE_P_HD, // 720x1280 + 18 = FRAMESIZE_P_3MP, // 864x1536 + 19 = FRAMESIZE_QXGA, // 2048x1536 + // 5MP Sensors + 20 = FRAMESIZE_QHD, // 2560x1440 + 21 = FRAMESIZE_WQXGA, // 2560x1600 + 22 = FRAMESIZE_P_FHD, // 1080x1920 + 23 = FRAMESIZE_QSXGA, // 2560x1920 + 24 = FRAMESIZE_5MP, // 2592x1944 + 25 = FRAMESIZE_INVALID + * WcMirror = Mirror picture, 0 = no, 1 = yes * WcFlip = Flip picture, 0 = no, 1 = yes * WcSaturation = Set picture Saturation -2 ... +2