Part Number: TDA4VM
Hi TI expert:
Now TDA4 links 4 cameras and I wrote a demo according to multi camera application in vision_apps.
I found a problem that I cannot get anther camera images besides the first camera. No matter what index I set in vxGetObjectArrayItem,
the display always shows the image from the first camera. The following source code is a sample description.
What's wrong did I make?
printf("capture node init\n");
/* Capture initialization */
tivx_capture_params_init(&capture_params);
capture_params.numInst = NUM_CAPT_INST;
capture_params.numCh = DISPLAY_CAM_NUM;//(AIRONTX_NUM_CAPT_CHANNELS * NUM_CAPT_INST);
chIdx = 0U;
for (instIdx = 0U ; instIdx < NUM_CAPT_INST ; instIdx++)
{
capture_params.instId[instIdx] = instIdx;
capture_params.instCfg[instIdx].enableCsiv2p0Support = (uint32_t)vx_true_e;
capture_params.instCfg[instIdx].numDataLanes = 4U;
for (loop_id = 0U; loop_id < capture_params.instCfg[0U].numDataLanes ; loop_id++)
{
capture_params.instCfg[instIdx].dataLanesMap[loop_id] = (loop_id + 1u);
}
for (loop_id = 0U; loop_id < AIRONTX_NUM_CAPT_CHANNELS; loop_id++)
{
capture_params.chVcNum[chIdx] = loop_id;
capture_params.chInstMap[chIdx] = instIdx;
chIdx++;
}
}
capture_param_obj = vxCreateUserDataObject(context, "tivx_capture_params_t" , sizeof(tivx_capture_params_t), &capture_params);
captureNode = tivxCaptureNode(graph, capture_param_obj, frames[0]);
vxSetNodeTarget(captureNode, VX_TARGET_STRING, TIVX_TARGET_CAPTURE1);
sample_image = (vx_image) vxGetObjectArrayItem(frames[0], 0);
sample_image2 = (vx_image) vxGetObjectArrayItem(frames[0], 1);
displayobj.display_option = 1;
displayobj2.display_option = 1;
app_init_display( context, &displayobj, "display node");
app_init_display2( context, &displayobj2, "display node2");
status = app_create_graph_display(graph, &displayobj,sample_image);
status2 = app_create_graph_display2(graph, &displayobj2,sample_image2)