Hi all,
I am implementing a camera Driver, I want to know what do I need to implement in order to get nvcamerasrc managing the V4L coarse time control, I already implemented the coarse time control, and gain control. Right now with Nvcamerasrc and auto-exposure enabled, the V4L gain control changes according the light condition but the coarse time is not working. It only works if I set manually a value using v4l2-ctl.
{
.ops = &camera_ctrl_ops,
.id = TEGRA_CAMERA_CID_COARSE_TIME,
.name = "Coarse Time",
.type = V4L2_CTRL_TYPE_INTEGER,
.flags = V4L2_CTRL_FLAG_SLIDER,
.min = CAMERA_COARSE_INT_TIME_MIN,
.max = CAMERA_COARSE_INT_TIME_MAX,
.def = CAMERA_COARSE_INT_TIME_DEF,
.step = 1,
},
At the first I was seeing the same behavior for the gain, so I added the TEGRA_CAMERA_CID_GROUP_HOLD control to the camera driver and the gain now is working as expected.
I also notice that the values on the gain and exposure-time min-max on the dtb affects the behavior of the controls (min and max control values) when the auto-exposure is enabled running nvcamerasrc.
. min_gain_val = "1.0";
max_gain_val = "180";
min_hdr_ratio = "1";
max_hdr_ratio = "64";
min_framerate = "1.462526";
max_framerate = "60";
min_exp_time = "4";
max_exp_time = "165770";
Do you know what else do I need to implement to get the coarse time changing automatically by nvcamerasrc? Is the DTB values could be affecting the coarse time control?
Thanks,
-Adrian