Capture with trigger mode

We use the TX2 and IMX264 as trigger mode.
Now we know from the oscilloscope signal that when our button is triggered, MIPI lines can generates a frame of data.
This frame data is generated randomly,and we can not get this frame data.
Can you give me some suggest?

Sorry, current driver not support trigger mode only support streaming mode.

Hello,

sudo service nvargus-daemon stop
sudo enableCamInfiniteTimeout=1 nvargus-daemon

Is this command helpful to my question? How should I use it concretely?

You should confirm streaming mode to confirm the sensor output signal is correct then try the trigger mode by infinite timeout daemon.

I try to do this:

sudo service nvargus-daemon stop
sudo enableCamInfiniteTimeout=1 nvargus-daemon

and then use the command
argus_camera -d 0

and then I config the sensor to trigger mode

the LOG like this

nvidia@nvidia-desktop:~$ sudo enableCamInfiniteTimeout=1 nvargus-daemon
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections…=== argus_camera[8546]: Connection established (7FA3FDC1D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
=== argus_camera[8546]: CameraProvider initialized (0x7f9cb555e0)LSC: LSC surface is not based on full res!
NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvViErrorDecode Stream 0.0 failed: ts 1051922527776 frame 2 error 7 data 0x00000001
NvViErrorDecode CaptureError: ChanselShortFrame (7)
NvViErrorDecode See https://wiki.nvidia.com/wmpwiki/index.php/Camera_Debugging/CaptureError_debugging for more information and links to documents.
ChanselShortFrame : 0x00000001
Channels with PIXEL_INCOMPLETE [11: 0]:
Channels 0
This can happen for three reasons: PIXEL_SHORT_FRAME: FE packet arrives before last expected pixel of the uncropped image; EMPTY_FRAME: FE packet arrives before cropped pixels other embedded data been received; PIXEL_OPEN_LINE: A pixel line has been opened with line start but FE packet arrives before line end ever arrives.
captureErrorCallback Stream 0.0 capture 19858 failed: ts 1051922527776 frame 2 error 7 data 0x00000001
nvidia@nvidia-desktop:~$ sudo enableCamInfiniteTimeout=1 nvargus-daemon
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections…=== argus_camera[8546]: Connection established (7FA3FDC1D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
=== argus_camera[8546]: CameraProvider initialized (0x7f9cb555e0)LSC: LSC surface is not based on full res!
NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvIspAfConfigParamsSanityCheck: Error: positionWorkingHigh is not larger than positionWorkingLow positionWorkingHigh = 0, positionWorkingLow = 0

NvViErrorDecode Stream 0.0 failed: ts 1051922527776 frame 2 error 7 data 0x00000001
NvViErrorDecode CaptureError: ChanselShortFrame (7)
NvViErrorDecode See https://wiki.nvidia.com/wmpwiki/index.php/Camera_Debugging/CaptureError_debugging for more information and links to documents.
ChanselShortFrame : 0x00000001
Channels with PIXEL_INCOMPLETE [11: 0]:
Channels 0
This can happen for three reasons: PIXEL_SHORT_FRAME: FE packet arrives before last expected pixel of the uncropped image; EMPTY_FRAME: FE packet arrives before cropped pixels other embedded data been received; PIXEL_OPEN_LINE: A pixel line has been opened with line start but FE packet arrives before line end ever arrives.
captureErrorCallback Stream 0.0 capture 19858 failed: ts 1051922527776 frame 2 error 7 data 0x00000001

Did you verify the steaming mode first? The log show the PIXEL_SHORT_FRAME that tell the output lines didn’t as expect.

I confirm that the streaming mode is available

And I just found a special phenomenon when I use this command

v4l2-ctl --set-fmt-video=width=2448,height=2058,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap -d /dev/video0

in the trigger mode, If I press the button many times quickly, that means there will be multiple triggers and then we can find some log “<”, that means v4l2-ctl can get some frame data
but if the signal is triggered only once, we will not get any data.

Well, I think Argus base APP should not support trigger mode. And for the v4l2-ctl you may need to modify the vi driver to increase the timeout time for your case.

Well, I think so. Can you give me some advice to increase the timeout time

Check the nvhost_syncpt_wait_timeout_ext() call in vi4_fops.c to modify the timeout for it.
Also you may need below patches.

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