How to user sensor_mode?

Hello, my sensor driver has two modes, but when i use v4l2-ctl -d0 --get-ctrl sensor_mode is error , why ?

this is my dts and driver, and the use_sensor_mode_id = "true";

hello Towe_Roll,

here’s a sample pipeline by setting use_sensor_mode_id = "true"; for sensor mode selection,
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=RG10 --set-ctrl bypass_mode=0 --set-ctrl sensor_mode=4 --stream-mmap --stream-count=100

anyways,
may I double check the L4T release version you’re now working with?
please check the release tag, $ cat /etc/nv_tegra_release for confirmation.
you may also check $ v4l2-ctl --all for all available camera controls.

hello JerryChang,
its look like not support sensor_mode ?

hello Towe_Roll,

since l4t-r32.7.2 is quite old release version, please try moving forward for verification.

Hello JerryChang,
在这个版本有什么解决方案吗,我们的的老产品已经基于这个版本发布了,我们不想变动太大。

hello Towe_Roll,

please examine all available sensor modes,
$ v4l2-ctl -d /dev/video0 --list-formats-ext

you may specify the mode settings to the v4l pipeline,
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=1024,pixelformat=YUYV --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

hello Towe_Roll,

it should select correct sensor modes by setting width/height specifically.
for instance,
--set-fmt-video=width=1280,height=1024
and…
--set-fmt-video=width=1280,height=2050

Hello JerryChang,
这没有效果,另外我用imx219发现是有 sensor_mode 这个设置的,我对比了一下没有找到问题,除了设置这两个地方还有其他地方需要设置吗?


hello Towe_Roll,

what did you meant not working, please share the logs for reference.

Hello JerryChang,
是我的sensor没有sensor_mode 这个参数可以设置,但是我用 imx219接入的话是有 sensor_mode这个设置选项的,所以我想是不是我还有什么地方没有配置正确

hello Towe_Roll,

it’s boolean variable, use_sensor_mode_id; once you configure this as true, the user mode driver bypasses the default mode selection logic and uses the TEGRA_CAMERA_CID_SENSOR_MODE_ID control to select a specific sensor mode.
however, the default mode selection logic is as mentioned by previous comment #9.

the real problem should be… why the default mode selection logic not works in your scenario?

hello Towe_Roll,

to be more specific, here’s VI driver code snippets for mode selection.
did you have correct sensor mode parsed by VI driver?
for instance,
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/channel.c

static int
__tegra_channel_try_format(struct tegra_channel *chan,
                        struct v4l2_pix_format *pix)
{
...
        tegra_channel_fmt_align(chan, vfmt,
                                &pix->width, &pix->height, &pix->bytesperline);

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.