summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/camera_lens.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libcamera/camera_lens.cpp b/src/libcamera/camera_lens.cpp
index b3d48199..b0b70bdd 100644
--- a/src/libcamera/camera_lens.cpp
+++ b/src/libcamera/camera_lens.cpp
@@ -86,8 +86,10 @@ int CameraLens::init()
*/
int CameraLens::setFocusPosition(int32_t position)
{
+ int32_t lensPosition = position * 4096 / 180;
+
ControlList lensCtrls(subdev_->controls());
- lensCtrls.set(V4L2_CID_FOCUS_ABSOLUTE, static_cast<int32_t>(position));
+ lensCtrls.set(V4L2_CID_FOCUS_ABSOLUTE, lensPosition);
if (subdev_->setControls(&lensCtrls))
return -EINVAL;