This commit is contained in:
SybexX
2024-12-04 22:57:43 +01:00
committed by GitHub
parent be7146c886
commit 50ada0a5a8
5 changed files with 19 additions and 14 deletions

View File

@@ -229,13 +229,12 @@ void CCamera::ledc_init(void)
#endif #endif
} }
void CCamera::SetLEDIntensity(float _intrel) int CCamera::SetLEDIntensity(int _intrel)
{ {
_intrel = min(_intrel, (float)100); // CCstatus.ImageLedIntensity = (int)(std::min(std::max((float)0, _intrel), (float)100) / 100 * 8191)
_intrel = max(_intrel, (float)0); Camera.LedIntensity = (int)((float)(std::min(std::max(0, _intrel), 100)) / 100 * 8191);
_intrel = _intrel / 100; ESP_LOGD(TAG, "Set led_intensity to %i of 8191", Camera.LedIntensity);
CCstatus.ImageLedIntensity = (int)(_intrel * 8191); return Camera.LedIntensity;
ESP_LOGD(TAG, "Set led_intensity to %d of 8191", CCstatus.ImageLedIntensity);
} }
bool CCamera::getCameraInitSuccessful(void) bool CCamera::getCameraInitSuccessful(void)
@@ -944,6 +943,7 @@ esp_err_t CCamera::CaptureToStream(httpd_req_t *req, bool FlashlightOn)
{ {
Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera
Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip); Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip);
Camera.LedIntensity = CCstatus.ImageLedIntensity;
CFstatus.changedCameraSettings = false; CFstatus.changedCameraSettings = false;
} }
@@ -1034,8 +1034,8 @@ void CCamera::LightOnOff(bool status)
#ifdef USE_PWM_LEDFLASH #ifdef USE_PWM_LEDFLASH
if (status) if (status)
{ {
ESP_LOGD(TAG, "Internal Flash-LED turn on with PWM %d", CCstatus.ImageLedIntensity); ESP_LOGD(TAG, "Internal Flash-LED turn on with PWM %d", Camera.LedIntensity);
ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, LEDC_CHANNEL, CCstatus.ImageLedIntensity)); ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, LEDC_CHANNEL, Camera.LedIntensity));
// Update duty to apply the new value // Update duty to apply the new value
ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, LEDC_CHANNEL)); ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, LEDC_CHANNEL));
} }

View File

@@ -80,6 +80,8 @@ protected:
void SanitizeZoomParams(int imageSize, int frameSizeX, int frameSizeY, int &imageWidth, int &imageHeight, int &zoomOffsetX, int &zoomOffsetY); void SanitizeZoomParams(int imageSize, int frameSizeX, int frameSizeY, int &imageWidth, int &imageHeight, int &zoomOffsetX, int &zoomOffsetY);
public: public:
int LedIntensity = 4096;
CCamera(void); CCamera(void);
esp_err_t InitCam(void); esp_err_t InitCam(void);
@@ -100,7 +102,7 @@ public:
void SetQualityZoomSize(int qual, framesize_t resol, bool zoomEnabled, int zoomOffsetX, int zoomOffsetY, int imageSize, int imageVflip); void SetQualityZoomSize(int qual, framesize_t resol, bool zoomEnabled, int zoomOffsetX, int zoomOffsetY, int imageSize, int imageVflip);
void SetZoomSize(bool zoomEnabled, int zoomOffsetX, int zoomOffsetY, int imageSize, int imageVflip); void SetZoomSize(bool zoomEnabled, int zoomOffsetX, int zoomOffsetY, int imageSize, int imageVflip);
void SetLEDIntensity(float _intrel); int SetLEDIntensity(int _intrel);
bool testCamera(void); bool testCamera(void);
bool getCameraInitSuccessful(void); bool getCameraInitSuccessful(void);
void useDemoMode(void); void useDemoMode(void);

View File

@@ -101,6 +101,7 @@ esp_err_t handler_capture(httpd_req_t *req)
{ {
Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera
Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip); Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip);
Camera.LedIntensity = CCstatus.ImageLedIntensity;
CFstatus.changedCameraSettings = false; CFstatus.changedCameraSettings = false;
} }
@@ -159,6 +160,7 @@ esp_err_t handler_capture_with_light(httpd_req_t *req)
{ {
Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera
Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip); Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip);
Camera.LedIntensity = CCstatus.ImageLedIntensity;
CFstatus.changedCameraSettings = false; CFstatus.changedCameraSettings = false;
} }
@@ -241,6 +243,7 @@ esp_err_t handler_capture_save_to_file(httpd_req_t *req)
{ {
Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera
Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip); Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip);
Camera.LedIntensity = CCstatus.ImageLedIntensity;
CFstatus.changedCameraSettings = false; CFstatus.changedCameraSettings = false;
} }

View File

@@ -499,8 +499,8 @@ bool ClassFlowTakeImage::ReadParameter(FILE *pfile, string &aktparamgraph)
{ {
if (isStringNumeric(splitted[1])) if (isStringNumeric(splitted[1]))
{ {
float ledintensity = std::stof(splitted[1]); int ledintensity = std::stoi(splitted[1]);
Camera.SetLEDIntensity(ledintensity); CCstatus.ImageLedIntensity = Camera.SetLEDIntensity(ledintensity);
} }
} }
@@ -559,6 +559,7 @@ bool ClassFlowTakeImage::doFlow(string zwtime)
{ {
Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera Camera.setSensorDatenFromCCstatus(); // CCstatus >>> Kamera
Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip); Camera.SetQualityZoomSize(CCstatus.ImageQuality, CCstatus.ImageFrameSize, CCstatus.ImageZoomEnabled, CCstatus.ImageZoomOffsetX, CCstatus.ImageZoomOffsetY, CCstatus.ImageZoomSize, CCstatus.ImageVflip);
Camera.LedIntensity = CCstatus.ImageLedIntensity;
CFstatus.changedCameraSettings = false; CFstatus.changedCameraSettings = false;
} }

View File

@@ -1364,9 +1364,8 @@ esp_err_t handler_editflow(httpd_req_t *req)
std::string _ledi = std::string(_valuechar); std::string _ledi = std::string(_valuechar);
if (isStringNumeric(_ledi)) if (isStringNumeric(_ledi))
{ {
float _ImageLedIntensity = std::stof(_valuechar); int _ImageLedIntensity = std::stoi(_valuechar);
Camera.SetLEDIntensity(_ImageLedIntensity); CFstatus.ImageLedIntensity = Camera.SetLEDIntensity(_ImageLedIntensity);
CFstatus.ImageLedIntensity = CCstatus.ImageLedIntensity;
} }
} }