picamera2
picamera2 copied to clipboard
[BUG] LensPosition control ignored in still configuration with AfMode set to manual.
Describe the bug
Setting AfMode = AfModeEnum.Manual
and LensPosition = 10.0
(Or anything else between 0 and 10) with Picamera2.set_controls()
does not set the lens position on supported cameras.
To Reproduce Script:
from picamera2 import Picamera2
from libcamera import controls
picam2 = Picamera2()
picam2.configure(picam2.create_still_configuration())
picam2.start()
picam2.set_controls({"AfMode" : controls.AfModeEnum.Manual})
picam2.set_controls({"LensPosition" : 10.0})
picam2.capture_file("test.jpg")
picam2.stop()
picam2.close()
picam2 = None
Expected behaviour An image file focused at approx. 10 centimeters when LensPosition is set to 10.0.
Console Output, Screenshots Output looks fine:
[71:09:34.910826613] [7361] INFO Camera camera_manager.cpp:297 libcamera v0.0.5+83-bde9b04f
[71:09:35.219248128] [7362] INFO RPI vc4.cpp:437 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media3 and ISP device /dev/media0
[71:09:35.221504125] [7362] INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
[71:09:35.314907978] [7361] INFO Camera camera.cpp:1033 configuring streams: (0) 4608x2592-BGR888 (1) 4608x2592-SBGGR10_CSI2P
[71:09:35.318746972] [7362] INFO RPI vc4.cpp:565 Sensor: /base/soc/i2c0mux/i2c@1/imx708@1a - Selected sensor format: 4608x2592-SBGGR10_1X10 - Selected unicam format: 4608x2592-pBAA
Hardware : Raspberry Pi Zero W + Raspberry Camera Module V3
Additional context
picamera2 version: 0.3.12-2
libcamera version: 0.0.5+83-bde9b04f
Everything works fine using libcamera-apps. The following command produces the expected image focused at 10 centimeters:
libcamera-jpeg -n --autofocus-mode manual --lens-position 10.0 -o test.jpg