Message ID | 20210709095638.2801713-3-naush@raspberrypi.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Naush, On 09/07/2021 10:56, Naushir Patuck wrote: > Add an operator<< overload to log all fields in DeviceStatus, and remove the > manual logging statements in the IPA and CamHelper. > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> > Reviewed-by: David Plowman <david.plowman@raspberrypi.com> > --- > src/ipa/raspberrypi/cam_helper.cpp | 5 +---- > src/ipa/raspberrypi/controller/device_status.h | 15 +++++++++++++++ > src/ipa/raspberrypi/raspberrypi.cpp | 5 +---- > 3 files changed, 17 insertions(+), 8 deletions(-) > > diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp > index e6d2258c66d7..1ec3f03e1aa3 100644 > --- a/src/ipa/raspberrypi/cam_helper.cpp > +++ b/src/ipa/raspberrypi/cam_helper.cpp > @@ -188,10 +188,7 @@ void CamHelper::parseEmbeddedData(Span<const uint8_t> buffer, > deviceStatus.shutter_speed = parsedDeviceStatus.shutter_speed; > deviceStatus.analogue_gain = parsedDeviceStatus.analogue_gain; > > - LOG(IPARPI, Debug) << "Metadata updated - Exposure : " > - << deviceStatus.shutter_speed > - << " Gain : " > - << deviceStatus.analogue_gain; > + LOG(IPARPI, Debug) << "Metadata updated - " << deviceStatus; > > metadata.Set("device.status", deviceStatus); > } > diff --git a/src/ipa/raspberrypi/controller/device_status.h b/src/ipa/raspberrypi/controller/device_status.h > index 73df7ce228dd..e2511d19b96d 100644 > --- a/src/ipa/raspberrypi/controller/device_status.h > +++ b/src/ipa/raspberrypi/controller/device_status.h > @@ -6,6 +6,8 @@ > */ > #pragma once > > +#include <iostream> > + > #include <libcamera/base/utils.h> > > /* > @@ -20,6 +22,19 @@ struct DeviceStatus { > { > } > > + friend std::ostream &operator<<(std::ostream &out, const DeviceStatus &d) > + { > + using namespace libcamera; /* for the Duration operator<< overload */ > + Generally in libcamera we try not to modify or extend the standard library namespace, which this does. That's why we have used the toString() pattern instead of operator<< overloads.. However, given that this code is in src/ipa/raspberrypi and separated from the main libcamera code base - I think this is probably something that can apply as an exception. > + out << "Exposure: " << d.shutter_speed > + << " Gain: " << d.analogue_gain > + << " Aperture: " << d.aperture > + << " Lens: " << d.lens_position > + << " Flash: " << d.flash_intensity; > + > + return out; > + } > + > /* time shutter is open */ > libcamera::utils::Duration shutter_speed; > double analogue_gain; > diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp > index 4d09a84f6532..f51c970befb5 100644 > --- a/src/ipa/raspberrypi/raspberrypi.cpp > +++ b/src/ipa/raspberrypi/raspberrypi.cpp > @@ -1019,10 +1019,7 @@ void IPARPi::fillDeviceStatus(const ControlList &sensorControls) > deviceStatus.shutter_speed = helper_->Exposure(exposureLines); > deviceStatus.analogue_gain = helper_->Gain(gainCode); > > - LOG(IPARPI, Debug) << "Metadata - Exposure : " > - << deviceStatus.shutter_speed > - << " Gain : " > - << deviceStatus.analogue_gain; > + LOG(IPARPI, Debug) << "Metadata - " << deviceStatus; > > rpiMetadata_.Set("device.status", deviceStatus); > } >
diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp index e6d2258c66d7..1ec3f03e1aa3 100644 --- a/src/ipa/raspberrypi/cam_helper.cpp +++ b/src/ipa/raspberrypi/cam_helper.cpp @@ -188,10 +188,7 @@ void CamHelper::parseEmbeddedData(Span<const uint8_t> buffer, deviceStatus.shutter_speed = parsedDeviceStatus.shutter_speed; deviceStatus.analogue_gain = parsedDeviceStatus.analogue_gain; - LOG(IPARPI, Debug) << "Metadata updated - Exposure : " - << deviceStatus.shutter_speed - << " Gain : " - << deviceStatus.analogue_gain; + LOG(IPARPI, Debug) << "Metadata updated - " << deviceStatus; metadata.Set("device.status", deviceStatus); } diff --git a/src/ipa/raspberrypi/controller/device_status.h b/src/ipa/raspberrypi/controller/device_status.h index 73df7ce228dd..e2511d19b96d 100644 --- a/src/ipa/raspberrypi/controller/device_status.h +++ b/src/ipa/raspberrypi/controller/device_status.h @@ -6,6 +6,8 @@ */ #pragma once +#include <iostream> + #include <libcamera/base/utils.h> /* @@ -20,6 +22,19 @@ struct DeviceStatus { { } + friend std::ostream &operator<<(std::ostream &out, const DeviceStatus &d) + { + using namespace libcamera; /* for the Duration operator<< overload */ + + out << "Exposure: " << d.shutter_speed + << " Gain: " << d.analogue_gain + << " Aperture: " << d.aperture + << " Lens: " << d.lens_position + << " Flash: " << d.flash_intensity; + + return out; + } + /* time shutter is open */ libcamera::utils::Duration shutter_speed; double analogue_gain; diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp index 4d09a84f6532..f51c970befb5 100644 --- a/src/ipa/raspberrypi/raspberrypi.cpp +++ b/src/ipa/raspberrypi/raspberrypi.cpp @@ -1019,10 +1019,7 @@ void IPARPi::fillDeviceStatus(const ControlList &sensorControls) deviceStatus.shutter_speed = helper_->Exposure(exposureLines); deviceStatus.analogue_gain = helper_->Gain(gainCode); - LOG(IPARPI, Debug) << "Metadata - Exposure : " - << deviceStatus.shutter_speed - << " Gain : " - << deviceStatus.analogue_gain; + LOG(IPARPI, Debug) << "Metadata - " << deviceStatus; rpiMetadata_.Set("device.status", deviceStatus); }