we are porting several pass-through mipi cameras to the Nvidia Jetson Platform (Nano, NX and AGX).
Unfortunately we hit a issue, that we are not able to solve properly without your help.
We’d like to implement:
- Arbitrary long exposure times (>200ms) / low frame rates
- Hardware triggered image acquisition (E.g. the stream is enabled but no images arrive until a hardware trigger is issued)
Both usecases are pretty common in the machine vision industry. At the moment this is not possible due to hardcoded timeouts inside the nvidia kernel drivers.
We looked at the kernel code and the nvidia forum and found several entries regarding this topic:
We found a hardcoded 200ms timeout in v2_fops.c:237, vi4_fops.c:1097 and another 2500ms timout in vi5_fops.c:390.
Just increasing the timout wouldn’t help as it would have to be infinitely large. So there should be a proper way to support triggered acquisition.
As we are not using the ISP, libargus is not involved and the enableCamInfiniteTimeout=1 setting for nvargus-daemon doesn’t help here.
How can we solve that issue? A discussion on the correct way to implement it (custom IOCTL etc.) could also help on the way to a solution that is included in the official nvidia kernel.