Hello I am using a CSI IMX477 camera with jetson tx2/nano. I have no issues regarding running the deepstream app and getting a video stream.
My problem is that whenever I change CSI I2C readout orientation(having a upside down flipped video), my application crashes.
I know that my camera is in I2C bus 9 at adress 0x1a. So I use command below:
i2ctransfer -f -y 9 w3@0x1a 0x1 0x1 0x1
which successfully gives a mirrored stream(no upside down.) No crash.
But using this a flipped orientation like this:
i2ctransfer -f -y 9 w3@0x1a 0x1 0x1 0x2
or:
i2ctransfer -f -y 9 w3@0x1a 0x1 0x1 0x3
crashes the application.
What might be the reason of this issue? Which settings in device tree causes this?
Error log:
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: NvViErrorDecode Stream 0.0 failed: ts 189668146816 frame 214 error 7 data 0x00000001
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: NvViErrorDecode CaptureError: ChanselShortFrame (7)
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: NvViErrorDecode See https://wiki.nvidia.com/wmpwiki/index.php/Camera_Debugging/CaptureError_debugging for more information and links to documents.
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: ChanselShortFrame : 0x00000001
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: Channels with PIXEL_INCOMPLETE [11: 0]:
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: Channels 0
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: 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.
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]: captureErrorCallback Stream 0.0 capture 3260 failed: ts 189668146816 frame 214 error 7 data 0x00000001
Oct 17 14:11:35 532a6c2 8800d6883fb1[5142]:
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 492)
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: Error: waitCsiFrameStart timeout guid 1
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI Stream Id = 0 Virtual Channel = 0
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ************VI Debug Registers**********
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_CSIMUX_STAT_FRAME_0 = 0x000100d7
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_CSIMUX_FRAME_STATUS_0 = 0x00000001
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_CFG_INTERRUPT_STATUS_0 = 0x3f000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_ISPBUFA_ERROR_0 = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_FMLITE_ERROR_0 = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: VI_NOTIFY_ERROR_0 = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: *****************************************
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: CSI Stream Id = 0 Brick Id = 0
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ************CSI Debug Registers**********
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: CILA_INTR_STATUS_CILA[0x10400] = 0x00000089
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: CILB_INTR_STATUS_CILB[0x10c00] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: INTR_STATUS[0x100a4] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: INTR_STATUS[0x100a4] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ERR_INTR_STATUS[0x100ac] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ERROR_STATUS2VI_VC0[0x10094] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ERROR_STATUS2VI_VC1[0x10098] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ERROR_STATUS2VI_VC2[0x1009c] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: ERROR_STATUS2VI_VC3[0x100a0] = 0x00000000
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: *****************************************
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: SCF: Error Timeout: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
Oct 17 14:11:36 532a6c2 8800d6883fb1[5142]: SCF: Error Timeout: Worker thread ViCsiHw frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
Oct 17 14:11:39 532a6c2 8800d6883fb1[5142]: ERROR from src_elem: TIMEOUT
Oct 17 14:11:39 532a6c2 8800d6883fb1[5142]: Debug info: Argus Error Status
Oct 17 14:11:39 532a6c2 8800d6883fb1[5142]: CONSUMER: ERROR OCCURRED
Oct 17 14:11:39 532a6c2 8800d6883fb1[5142]: Quitting
Oct 17 14:11:40 532a6c2 8800d6883fb1[5142]: GST_ARGUS: Cleaning up
Oct 17 14:11:45 532a6c2 8800d6883fb1[5142]: waitForIdleLocked remaining request 3362
Oct 17 14:11:45 532a6c2 8800d6883fb1[5142]: waitForIdleLocked remaining request 3361
Oct 17 14:11:45 532a6c2 8800d6883fb1[5142]: waitForIdleLocked remaining request 3360
Oct 17 14:11:45 532a6c2 8800d6883fb1[5142]: waitForIdleLocked remaining request 3359
Oct 17 14:11:45 532a6c2 8800d6883fb1[5142]: waitForIdleLocked remaining request 3358
Thanks for your help in advance!