Skip to content

Commit

Permalink
rpicamera: allow to set gain without disconnecting readers
Browse files Browse the repository at this point in the history
  • Loading branch information
aler9 committed Feb 14, 2023
1 parent 31d315b commit 19b06f9
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
3 changes: 2 additions & 1 deletion internal/core/path_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
8 changes: 3 additions & 5 deletions internal/rpicamera/exe/camera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);

Expand All @@ -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) {
Expand Down

0 comments on commit 19b06f9

Please sign in to comment.