Tool/software:
Hi experts,
We have previously established the image data link: 4 cameras -> serdes -> Capture (csi0-rx) -> csi-tx
Now we would like to only replace the csi-rx interface, changing it from csi0-rx to csi2-rx.
I have made modifications to the Capture parameters. Both "instId" and "chInstMap" have been changed from 0 to 2.
#define CAPTURE_ERROR_FRAME_TIME_WAIT 100 //ms
#define NUM_CAPT_CHANNELS_TOTAL (4u)
#define NUM_CAPT_INST (1u)
#define CSI_INST_PORT_0 (0u)
#define CSI_INST_PORT_1 (1u)
#define CSI_INST_PORT_2 (2u)
static void set_capture_default_params(CaptureObj *captureObj, vx_int32 width, vx_int32 height, vx_int32 numCh)
{
vx_uint32 loop_id, instIdx, chIdx;
/* Capture initialization */
tivx_capture_params_init(&captureObj->params);
/* capture will dalay 2000ms if no frame available */
captureObj->params.timeout = CAPTURE_ERROR_FRAME_TIME_WAIT;
captureObj->params.timeoutInitial = CAPTURE_ERROR_FRAME_TIME_WAIT;
captureObj->params.numInst = NUM_CAPT_INST;
captureObj->params.numCh = NUM_CAPT_CHANNELS_TOTAL;
chIdx = 0U;
for (instIdx = 0U; instIdx < NUM_CAPT_INST; instIdx++)
{
captureObj->params.instId[instIdx] = CSI_INST_PORT_2;
captureObj->params.instCfg[instIdx].laneBandSpeed = TIVX_CAPTURE_LANE_BAND_SPEED_1350_TO_1500_MBPS; /* used for AVM, 4CH-1280*720@25Fps */
//captureObj->params.instCfg[instIdx].laneBandSpeed = TIVX_CAPTURE_LANE_BAND_SPEED_560_TO_640_MBPS;
captureObj->params.instCfg[instIdx].enableCsiv2p0Support = (uint32_t)vx_true_e;
captureObj->params.instCfg[instIdx].numDataLanes = 4U;
for (loop_id = 0U; loop_id < captureObj->params.instCfg[instIdx].numDataLanes; loop_id++)
{
captureObj->params.instCfg[instIdx].dataLanesMap[loop_id] = (loop_id + 1u);
}
for (loop_id = 0U; loop_id < numCh; loop_id++)
{
captureObj->params.chInstMap[chIdx] = CSI_INST_PORT_2;
chIdx++;
}
/* set the order of cam channel: 0-front, 1-rear, 2-left, 3-right */
captureObj->params.chVcNum[0] = 0;
captureObj->params.chVcNum[1] = 1;
captureObj->params.chVcNum[2] = 2;
captureObj->params.chVcNum[3] = 3;
}
captureObj->numCH = NUM_CAPT_CHANNELS_TOTAL;
captureObj->img_info.width = width;
captureObj->img_info.height = height;
captureObj->img_info.dataFormat = VX_DF_IMAGE_UYVY;
strcpy(captureObj->name_Target, TIVX_TARGET_CAPTURE1);
strcpy(captureObj->name_NodeObj, "CaptureNode");
}
However, after running the capture node, it was found that the vxVerifyGraph interface was stuck
When I changed the captured parameter back from 2 to 0, this problem no longer occurred.
Additionally, I checked the position where the vxVerifyGraph interface got stuck and it was at the ownGraphNodeKernelInit section.
Could you please help me check if there are any omissions in the Capture parameters that I have modified?
Thank you!

