This is a follow up to
We really need to make Jetson MIPI camera work in a mission critical system and we cannot have Argus abort after every corrupted frame.
Corrupted frames are unavoidable in most modern robotic systems because of EMI noise from motors are instruments.
I see that you are giving some people custom versions of camera-rtcpu-t234-rce.img with special features.
I wonder whether it is possible to make a version of camera-rtcpu-t234-rce.img, which will:
- Check CRC and reject corrupted frames
- Simply drop corrupted frames, do not report errors to argus, so that it will not abort the capture session, like it does now.
Or, may be, there are settings to the existing FW, which can achieve the same?
Note: the simplest way to reproduce the failure is to briefly short D+/D- lines in MIPI bus together or to the ground. (I was told by sensor makers that this is normally a safe thing to do).
Then you will see corrupted images on the screen and them Argus will abort with errors:
Mar 30 15:39:04 orin2 kernel: [RCE] ERROR: camera-ip/vi5/vi5.c:745 [vi5_handle_eof] “General error queue is out of sync with frame queue. ts=54628931184736 sof_ts=54628998768736 gerror_code=2 gerror_data=a2 notify_bits=0”
Mar 30 15:39:09 orin2 nvargus-daemon: === argus_multi_camera: CameraProvider initialized (0xffff488d9bb0)SCF: Error InvalidState: Timeout waiting on frame start sensor guid 1, capture sequence ID = 657 (in src/service
s/capture/FusaCaptureViCsiHw.cpp, function waitCsiFrameStart(), line 514)