MainFlowControl.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #pragma once
  2. #ifndef MAINFLOWCONTROL_H
  3. #define MAINFLOWCONTROL_H
  4. #include <esp_log.h>
  5. #include <string>
  6. #include <esp_http_server.h>
  7. #include "CImageBasis.h"
  8. #include "ClassFlowControll.h"
  9. #include "openmetrics.h"
  10. typedef struct
  11. {
  12. framesize_t ImageFrameSize = FRAMESIZE_VGA; // 0 - 10
  13. gainceiling_t ImageGainceiling; // Image gain (GAINCEILING_x2, x4, x8, x16, x32, x64 or x128)
  14. int ImageQuality; // 0 - 63
  15. int ImageBrightness; // (-2 to 2) - set brightness
  16. int ImageContrast; //-2 - 2
  17. int ImageSaturation; //-2 - 2
  18. int ImageSharpness; //-2 - 2
  19. bool ImageAutoSharpness;
  20. int ImageSpecialEffect; // 0 - 6
  21. int ImageWbMode; // 0 to 4 - if awb_gain enabled (0 - Auto, 1 - Sunny, 2 - Cloudy, 3 - Office, 4 - Home)
  22. int ImageAwb; // white balance enable (0 or 1)
  23. int ImageAwbGain; // Auto White Balance enable (0 or 1)
  24. int ImageAec; // auto exposure off (1 or 0)
  25. int ImageAec2; // automatic exposure sensor (0 or 1)
  26. int ImageAeLevel; // auto exposure levels (-2 to 2)
  27. int ImageAecValue; // set exposure manually (0-1200)
  28. int ImageAgc; // auto gain off (1 or 0)
  29. int ImageAgcGain; // set gain manually (0 - 30)
  30. int ImageBpc; // black pixel correction
  31. int ImageWpc; // white pixel correction
  32. int ImageRawGma; // (1 or 0)
  33. int ImageLenc; // lens correction (1 or 0)
  34. int ImageHmirror; // (0 or 1) flip horizontally
  35. int ImageVflip; // Invert image (0 or 1)
  36. int ImageDcw; // downsize enable (1 or 0)
  37. int ImageWidth;
  38. int ImageHeight;
  39. int ImageLedIntensity;
  40. bool ImageZoomEnabled;
  41. int ImageZoomMode;
  42. int ImageZoomOffsetX;
  43. int ImageZoomOffsetY;
  44. int ImageZoomSize;
  45. int WaitBeforePicture;
  46. bool isImageSize;
  47. bool CameraInitSuccessful;
  48. bool changedCameraSettings;
  49. bool DemoMode;
  50. bool SaveAllFiles;
  51. } camera_flow_config_temp_t;
  52. extern camera_flow_config_temp_t CFstatus;
  53. extern ClassFlowControll flowctrl;
  54. esp_err_t setCCstatusToCFstatus(void); // CCstatus >>> CFstatus
  55. esp_err_t setCFstatusToCCstatus(void); // CFstatus >>> CCstatus
  56. esp_err_t setCFstatusToCam(void); // CFstatus >>> Kamera
  57. void register_server_main_flow_task_uri(httpd_handle_t server);
  58. void CheckIsPlannedReboot(void);
  59. bool getIsPlannedReboot(void);
  60. void InitializeFlowTask(void);
  61. void DeleteMainFlowTask(void);
  62. bool isSetupModusActive(void);
  63. int getCountFlowRounds(void);
  64. #ifdef ENABLE_MQTT
  65. esp_err_t MQTTCtrlFlowStart(std::string _topic);
  66. #endif // ENABLE_MQTT
  67. esp_err_t GetRawJPG(httpd_req_t *req);
  68. esp_err_t GetJPG(std::string _filename, httpd_req_t *req);
  69. #endif // MAINFLOWCONTROL_H