diff --git a/internal/core/path_manager.go b/internal/core/path_manager.go index eda418f2..671f5d3f 100644 --- a/internal/core/path_manager.go +++ b/internal/core/path_manager.go @@ -21,8 +21,9 @@ func pathConfCanBeUpdated(oldPathConf *conf.PathConf, newPathConf *conf.PathConf copy.RPICameraExposure = newPathConf.RPICameraExposure copy.RPICameraAWB = newPathConf.RPICameraAWB copy.RPICameraDenoise = newPathConf.RPICameraDenoise - copy.RPICameraMetering = newPathConf.RPICameraMetering copy.RPICameraShutter = newPathConf.RPICameraShutter + copy.RPICameraMetering = newPathConf.RPICameraMetering + copy.RPICameraGain = newPathConf.RPICameraGain copy.RPICameraEV = newPathConf.RPICameraEV copy.RPICameraFPS = newPathConf.RPICameraFPS diff --git a/internal/rpicamera/exe/camera.cpp b/internal/rpicamera/exe/camera.cpp index ce20a3b8..850db515 100644 --- a/internal/rpicamera/exe/camera.cpp +++ b/internal/rpicamera/exe/camera.cpp @@ -296,6 +296,8 @@ static void fill_dynamic_controls(ControlList *ctrls, const parameters_t *params } ctrls->set(controls::draft::NoiseReductionMode, denoise_mode); + ctrls->set(controls::ExposureTime, params->shutter); + int metering_mode; if (strcmp(params->metering, "spot") == 0) { metering_mode = controls::MeteringSpot; @@ -308,7 +310,7 @@ static void fill_dynamic_controls(ControlList *ctrls, const parameters_t *params } ctrls->set(controls::AeMeteringMode, metering_mode); - ctrls->set(controls::ExposureTime, params->shutter); + ctrls->set(controls::AnalogueGain, params->gain); ctrls->set(controls::ExposureValue, params->ev); @@ -323,10 +325,6 @@ bool camera_start(camera_t *cam) { fill_dynamic_controls(camp->ctrls.get(), camp->params); - if (camp->params->gain > 0) { - camp->ctrls->set(controls::AnalogueGain, camp->params->gain); - } - if (camp->camera->controls().count(&controls::AfMode) > 0) { int af_mode; if (strcmp(camp->params->af_mode, "manual") == 0) {