ipa: raspberrypi: Switch the AGC/Lux code to use utils::Duration

Convert the core AGC and Lux controller code to use
utils::Duration for all exposure time related variables and
calculations.

Convert the exposure/shutter time fields in AgcStatus and DeviceStatus
to use utils::Duration.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2021-06-08 12:03:35 +01:00 committed by Laurent Pinchart
parent 2db8a767ca
commit 6914fc487f
8 changed files with 93 additions and 73 deletions

View file

@ -6,6 +6,8 @@
*/
#pragma once
#include "libcamera/internal/utils.h"
// Definition of "device metadata" which stores things like shutter time and
// analogue gain that downstream control algorithms will want to know.
@ -14,8 +16,8 @@ extern "C" {
#endif
struct DeviceStatus {
// time shutter is open, in microseconds
double shutter_speed;
// time shutter is open
libcamera::utils::Duration shutter_speed;
double analogue_gain;
// 1.0/distance-in-metres, or 0 if unknown
double lens_position;