mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
Подбираем оптимальный размер буфера и качества картинки, иначе памяти не хвататет.
This commit is contained in:
@@ -25,6 +25,8 @@
|
|||||||
#define HREF_GPIO_NUM 23
|
#define HREF_GPIO_NUM 23
|
||||||
#define PCLK_GPIO_NUM 22
|
#define PCLK_GPIO_NUM 22
|
||||||
|
|
||||||
|
#define PICBUF_SIZE 50000
|
||||||
|
|
||||||
|
|
||||||
IoTItem* globalItem = nullptr;
|
IoTItem* globalItem = nullptr;
|
||||||
bool webTicker = false;
|
bool webTicker = false;
|
||||||
@@ -78,16 +80,16 @@ class EspCam : public IoTItem {
|
|||||||
config.xclk_freq_hz = 20000000;
|
config.xclk_freq_hz = 20000000;
|
||||||
config.pixel_format = PIXFORMAT_JPEG;
|
config.pixel_format = PIXFORMAT_JPEG;
|
||||||
|
|
||||||
value.extBinInfo = (uint8_t*)malloc(sizeof(uint8_t) * 35000);
|
value.extBinInfo = (uint8_t*)malloc(sizeof(uint8_t) * PICBUF_SIZE);
|
||||||
|
|
||||||
if(psramFound()){
|
if(psramFound()){
|
||||||
config.frame_size = FRAMESIZE_SVGA; // FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA
|
config.frame_size = FRAMESIZE_SVGA; // FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA
|
||||||
config.jpeg_quality = 12;
|
config.jpeg_quality = 20; //0-63 lower number means higher quality
|
||||||
config.fb_count = 1;
|
config.fb_count = 1;
|
||||||
Serial.printf("Camera psramFound\n");
|
Serial.printf("Camera psramFound\n");
|
||||||
} else {
|
} else {
|
||||||
config.frame_size = FRAMESIZE_SVGA;
|
config.frame_size = FRAMESIZE_SVGA;
|
||||||
config.jpeg_quality = 12;
|
config.jpeg_quality = 20;
|
||||||
config.fb_count = 1;
|
config.fb_count = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,8 +108,11 @@ class EspCam : public IoTItem {
|
|||||||
|
|
||||||
// Take Picture with Camera
|
// Take Picture with Camera
|
||||||
fb = esp_camera_fb_get();
|
fb = esp_camera_fb_get();
|
||||||
if(!fb || fb->len >= 35000) {
|
if(!fb || fb->len >= PICBUF_SIZE) {
|
||||||
Serial.println("Camera capture failed");
|
if (fb) {
|
||||||
|
Serial.printf("Camera capture failed size=%d\n", fb->len);
|
||||||
|
esp_camera_fb_return(fb);
|
||||||
|
} else Serial.printf("Camera capture failed\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user