I managed to set up the pipeline (media-ctl) as per instructions on the github readme and successfully retrieved the image from the camera using the v4l2 library.
Problems start to occur when I want to change the control parameters on the camera. Manual exposure and autofocus to be specific. I am setting these parameters using ioctl(fd, VIDIOC_S_CTRL, &ctrl)
call, where ctrl id for exposure is V4L2_CID_EXPOSURE_AUTO
and ctrl val is V4L2_EXPOSURE_MANUAL
, whereas for autofocus I use id V4L2_CID_FOCUS_AUTO
and value 0
. Both request fail, receiving -1 from ioctl. I also tried to set these parameters with v4l2-ctl
tool, but when running the command v4l2-ctl -d /dev/video0 -c exposure_auto=0
I received unknown control 'exposure_auto'
. When listing the controls with v4l2-ctl -d /dev/video0 --list-ctrls
I get an empty response even though the query itself is successful ( VIDIOC_QUERYCAP: ok
).
Linaro linux version is 4.14.53, v4l utils version is 1.16. I’m using this ov5640.
Any suggestions what can I do?