There are cases where the AGC gain (and possibly exposure time, not confirmed) should be set to a particular value according to the algorithm but this gain is not applied to the camera. This has to do with how the software informs the camera thread of when it is time to update these values. Now that AGC can be disabled to allow manual control, this mechanism is broken.
Recommend doing the following instead: The camera thread should be responsible for keeping track of what these values were set to most recently. Then when either of the atomic_int values for gain or exposure_time are different from what it last set, it knows to issue the appropriate commands to the camera to update them. This should eliminate the need for the _updated atomic_bool variables.
There are cases where the AGC gain (and possibly exposure time, not confirmed) should be set to a particular value according to the algorithm but this gain is not applied to the camera. This has to do with how the software informs the camera thread of when it is time to update these values. Now that AGC can be disabled to allow manual control, this mechanism is broken.
Recommend doing the following instead: The camera thread should be responsible for keeping track of what these values were set to most recently. Then when either of the atomic_int values for gain or exposure_time are different from what it last set, it knows to issue the appropriate commands to the camera to update them. This should eliminate the need for the
_updated
atomic_bool variables.