Can't receive image with a single external trigger

I can’t receive images with a single external trigger

I am using Jetson Nano and MIPI-CSI cameras to make an image inspection device for use in machine tools.
The capture timing is an external trigger from the machine tool.
The external trigger is input directly to the camera.
I am developing an application using V4L2.

Process flow

  1. Capture images with an external trigger
  2. Inspect the image
  3. Send the inspection result to the machine tool

I can’t receive images with one external trigger.
(1) ioctl VIDIOC_REQBUFS (memory = V4L2_MEMORY_MMAP)
(2) ioctl VIDIOC_QUERYBUF
(3) ioctl VIDIOC_QBUF
(4) ioctl VIDIOC_STREAMON
(5) select
(6) ioctl VIDIOC_DQBUF
(7) ioctl VIDIOC_QBUF

One external trigger does not return from (5) “Select”.

I don’t use streaming features.
I need to check in sync with an external trigger.

I appreciate your cooperation.

Sorry to tell current VI driver not support single trigger mode.

Thanks

Thank you.

I’m in trouble!
If I can’t use single trigger mode, the machine vision device development project using Jetson Nano will stop.

I believe the VI driver is using a FIFO buffer.
I think it’s because Jetson Nano doesn’t miss streaming.
I don’t use streaming features.
It is okay if the streaming feature is disabled.

I want to challenge in the following ways if possible.
I want to disable the FIFO buffer or modify the number of FIFO buffers to one.
Which function or definition should I update?

Please tell me if there is another good way.

Please help me and my company.

I appreciate your cooperation.

I think it’s could be a complicated work. You can check current driver and modify it.
…/kernel/nvidia/drivers/media/platform/tegra/camera/*

Or you can have USB camera or PCIE interface.

Thank you.

I am using MIPI-CSI.
Four imx296 are connected.
The carrier board was developed by my company.

vi_port0: port@0 -> port-index = <0>; CSI-A
vi_port1: port@1 -> port-index = <4>; CSI-E
vi_port2: port@2 -> port-index = <5>;:CSI-F
vi_port3: port@3 -> port-index = <2>;CSI-C

I appreciate your cooperation.

sorry.
I was wrong in your question.
I don’t have a USB camera or PCIe interface camera.
I want to confirm
Is it possible to capture a single trigger with a USB camera or PCIe interface camera?

I think that depend on the USB/PCIE chip(bridge) can support it or not.

Thank you for the information.

I believe that industrial machine vision equipment requires a single trigger capture function.

Will NVIDIA support single trigger in the future?

Sorry I didn’t hear have plan to support this currently.

Thank you for your support.