ipa: raspberrypi: Use std::optional in DeviceStatus

Switch the aperture, lens_position, and flash_intensity fields in the
DeviceStatus structure to use std::optional instead of using invalid default
values.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Naushir Patuck
2022-06-29 09:57:22 +01:00
committed by Kieran Bingham
parent 95151dd06f
commit 8acfb8494c
3 changed files with 15 additions and 12 deletions
@@ -19,8 +19,7 @@
struct DeviceStatus {
DeviceStatus()
: shutter_speed(std::chrono::seconds(0)), frame_length(0),
analogue_gain(0.0), lens_position(0.0), aperture(0.0),
flash_intensity(0.0)
analogue_gain(0.0)
{
}
@@ -32,11 +31,11 @@ struct DeviceStatus {
uint32_t frame_length;
double analogue_gain;
/* 1.0/distance-in-metres, or 0 if unknown */
double lens_position;
std::optional<double> lens_position;
/* 1/f so that brightness quadruples when this doubles, or 0 if unknown */
double aperture;
std::optional<double> aperture;
/* proportional to brightness with 0 = no flash, 1 = maximum flash */
double flash_intensity;
std::optional<double> flash_intensity;
/* Sensor reported temperature value (in degrees) */
std::optional<double> sensor_temperature;
};