ipa: raspberrypi: Add lens position to DeviceStatus
Add the current frame's lens position (in dioptres) to the DeviceStatus structure. This value is obtained from the AfAlgorithm::getLensPosition() member function. Return this lens position back to the pipeline handler to store in the metadata field of the request. As a drive-by, fixup some inaccurate comments in the DeviceStatus structure. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Nick Hollinghurst nick.hollinghurst@raspberrypi.com Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
cc010b0c35
commit
9b0db2aa43
2 changed files with 9 additions and 2 deletions
|
@ -586,6 +586,8 @@ void IPARPi::reportMetadata(unsigned int ipaContext)
|
|||
helper_->exposure(deviceStatus->frameLength, deviceStatus->lineLength).get<std::micro>());
|
||||
if (deviceStatus->sensorTemperature)
|
||||
libcameraMetadata_.set(controls::SensorTemperature, *deviceStatus->sensorTemperature);
|
||||
if (deviceStatus->lensPosition)
|
||||
libcameraMetadata_.set(controls::LensPosition, *deviceStatus->lensPosition);
|
||||
}
|
||||
|
||||
AgcStatus *agcStatus = rpiMetadata.getLocked<AgcStatus>("agc.status");
|
||||
|
@ -1352,6 +1354,11 @@ void IPARPi::fillDeviceStatus(const ControlList &sensorControls, unsigned int ip
|
|||
deviceStatus.analogueGain = helper_->gain(gainCode);
|
||||
deviceStatus.frameLength = mode_.height + vblank;
|
||||
|
||||
RPiController::AfAlgorithm *af = dynamic_cast<RPiController::AfAlgorithm *>(
|
||||
controller_.getAlgorithm("af"));
|
||||
if (af)
|
||||
deviceStatus.lensPosition = af->getLensPosition();
|
||||
|
||||
LOG(IPARPI, Debug) << "Metadata - " << deviceStatus;
|
||||
|
||||
rpiMetadata_[ipaContext].set("device.status", deviceStatus);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue