3399pro搭载的双摄ov9281,一直有个问题,就是第一次上电启动后,就会有一个1-2分钟的自动调整过程。
调整的过程比较卡顿,似乎是在调整曝光时间等一些参数。这就有点影响使用了。但是第二次启动应用是没这个问题了(不是reboot系统,只是重新启动应用)。
今天追查了一下,发现是v4l2驱动在进行参数调整
加几条打印语句:
static int ov9281_set_ctrl(struct v4l2_ctrl *ctrl)
{
struct ov9281 *ov9281 = container_of(ctrl->handler,
struct ov9281, ctrl_handler);
struct i2c_client *client = ov9281->client;
s64 max;
int ret = 0;
/* Propagate change of current control to all related controls */
switch (ctrl->id) {
case V4L2_CID_VBLANK:
/* Update max exposure while meeting expected vblanking */
max = ov9281->cur_mode->height + ctrl->val - 4;
__v4l2_ctrl_modify_range(ov9281->exposure,
ov9281->exposure->minimum, max,
ov9281->exposure->step,
ov9281->exposure->default_value);
break;
}
if (pm_runtime_get(&client->dev) <= 0)
return 0;
switch (ctrl->id) {
case V4L2_CID_EXPOSURE:
/* 4 least significant bits of expsoure are fractional part */
printk(KERN_ERR "V4L2_CID_EXPOSURE ctrl->val = %d\n",ctrl->val);
ret = ov9281_write_reg(ov9281->client, OV9281_REG_EXPOSURE,
OV9281_REG_VALUE_24BIT, ctrl->val << 4);
break;
case V4L2_CID_ANALOGUE_GAIN:
printk(KERN_ERR "V4L2_CID_ANALOGUE_GAIN ctrl->val = %d\n",ctrl->val);
ret = ov9281_write_reg(ov9281->client, OV9281_REG_GAIN_H,
OV9281_REG_VALUE_08BIT,
(ctrl->val >> OV9281_GAIN_H_SHIFT) & OV9281_GAIN_H_MASK);
ret |= ov9281_write_reg(ov9281->client, OV9281_REG_GAIN_L,
OV9281_REG_VALUE_08BIT,
ctrl->val & OV9281_GAIN_L_MASK);
break;
case V4L2_CID_VBLANK:
printk(KERN_ERR "V4L2_CID_VBLANK ctrl->val = %d\n",ctrl->val);
ret = ov9281_write_reg(ov9281->client, OV9281_REG_VTS,
OV9281_REG_VALUE_16BIT,
ctrl->val + ov9281->cur_mode->height);
break;
case V4L2_CID_TEST_PATTERN:
printk(KERN_ERR "V4L2_CID_TEST_PATTERN ctrl->val = %d\n",ctrl->val);
ret = ov9281_enable_test_pattern(ov9281, ctrl->val);
break;
default:
dev_warn(&client->dev, "%s Unhandled id:0x%x, val:0x%x\n",
__func__, ctrl->id, ctrl->val);
break;
}
pm_runtime_put(&client->dev);
return ret;
}
发现启动软件后,就会在后台有打印
看来是驱动在捣鬼。
被我注释掉了,果然就没事了,哈哈哈!!!
从这个来看,应该是驱动里面在训练参数,所以有一个自动调整时期。
同时,根据显示的效果,修改寄存器,使得显示正常一点:
更多推荐
11-15.ov9281双摄-rk3399pro-续集
发布评论