mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-08 20:46:52 +03:00
* move main part to cam file * added demo mode * . * add a define to configure the logfile handling (#1709) Co-authored-by: CaCO3 <caco@ruinelli.ch> * Move Logfile Switch to define.h * Update Reboot Algo * Update server_ota.cpp * Avoid loading of status infos twice (#1711) * Force a reboot even reboot task cannot be created due to lack of heap (#1713) * Deinit all components before reboot * Update * Update * Force reboot when reboot task cannot be created * Improve log message when web UI is incomplete (#1716) * improve warning if version.txt is missing * typo * show round duration in log Co-authored-by: CaCO3 <caco@ruinelli.ch> * . * . * . * creade demo dir * fix static IP in UP, improve explanation for HA (#1719) * fix static IP in UP, improve explanation for HA * Update edit_config_param.html Co-authored-by: CaCO3 <caco@ruinelli.ch> * Create demo folder at startup (if not present) * move demo files * Update defines.h (#1726) * updated description * moved to expert section * fixed broken enabled state Co-authored-by: CaCO3 <caco@ruinelli.ch> Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com> Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
62 lines
1.7 KiB
C++
62 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#ifndef CLASSCONTROLLCAMERA_H
|
|
#define CLASSCONTROLLCAMERA_H
|
|
|
|
#include <string>
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
#include "freertos/queue.h"
|
|
#include "freertos/event_groups.h"
|
|
|
|
#include "esp_camera.h"
|
|
#include <string>
|
|
#include <esp_http_server.h>
|
|
#include "CImageBasis.h"
|
|
#include "../../include/defines.h"
|
|
|
|
class CCamera {
|
|
protected:
|
|
int ActualQuality;
|
|
framesize_t ActualResolution;
|
|
int brightness, contrast, saturation;
|
|
bool isFixedExposure;
|
|
int waitbeforepicture_org;
|
|
int led_intensity = 4095;
|
|
|
|
void ledc_init(void);
|
|
bool CameraInitSuccessful = false;
|
|
bool demoMode = false;
|
|
|
|
bool loadNextDemoImage(camera_fb_t *fb);
|
|
long GetFileSize(std::string filename);
|
|
|
|
public:
|
|
int image_height, image_width;
|
|
|
|
CCamera();
|
|
esp_err_t InitCam();
|
|
|
|
void LightOnOff(bool status);
|
|
void LEDOnOff(bool status);
|
|
esp_err_t CaptureToHTTP(httpd_req_t *req, int delay = 0);
|
|
void SetQualitySize(int qual, framesize_t resol);
|
|
bool SetBrightnessContrastSaturation(int _brightness, int _contrast, int _saturation);
|
|
void GetCameraParameter(httpd_req_t *req, int &qual, framesize_t &resol);
|
|
void SetLEDIntensity(float _intrel);
|
|
bool testCamera(void);
|
|
void EnableAutoExposure(int flash_duration);
|
|
bool getCameraInitSuccessful();
|
|
void useDemoMode(void);
|
|
|
|
|
|
framesize_t TextToFramesize(const char * text);
|
|
|
|
esp_err_t CaptureToFile(std::string nm, int delay = 0);
|
|
esp_err_t CaptureToBasisImage(CImageBasis *_Image, int delay = 0);
|
|
};
|
|
|
|
|
|
extern CCamera Camera;
|
|
|
|
#endif |