Dear community,
I am using the following hardware configuration:
- Jetson Nano with Jetpack 4.6
- Arducam OV2311 connected via CSI/MIPI
After installing Arducam’s Jetvariety driver, I wrote a C++ program that reads the camera frames using Video4Linux (linux/videodev2.h
). After configuring Video4Linux for low-latency (sudo v4l2-ctl -c low_latency_mode=1
) I can reach the following “glass-to-software latencies” on average:
- 15ms at 120fps (8.3ms per frame)
- 22ms at 80fps (12.5ms per frame)
- 26ms at 60fps (16.6ms per frame)
These measurements were done with an LED, the Nano’s GPIO, and an oscilloscope. This means there is a latency of more or less two frames between the LED and the C++ program. This observation matches the information I found in this forum and elsewhere on the web. It seems that the driver is buffering something here, although low-latency mode has been enabled.
The question is: (How) Is it possible to further reduce this latency to approximately one frame? The concrete use case is the creation of a camera-based control loop without additional dead time for various industrial use cases.
Thank you very much in advance!
Chris