This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: DATA CSI Cam

Part Number: TDA4VM

Tool/software:

Hi TI

SDK8.6

There are 2 types of cameras in the CSI1 interface,

640x480_raw12 * 4 -> Capture app is CAM1_APP.

1920x1080_uyvy * 2 -> Capture app is CAM2_APP.

When running CAM1_APP or CAM2_APP alone, the Capture data corresponding to the APP is OK.

But when two apps are running at the same time, Capture cannot get data. (I found that when the later app is running, the previous app that is capturing will stop capturing).

Our requirement is that when running CAM1_APP and CAM2_APP at the same time, their Capture data can be OK.

What should we modify and how should we do it? Is there a similar thread that you can send us?

Looking forward to your reply.

  • Hi Barry,

    Can you confirm the instance configs are same for both cap_app, and all the cameras have unique virtual channel ?

    Can you share the local_capture_config params that you are using in your both application.

    There is a faq which uses 2 capture nodes in same application, you can refer it to extend to 2 different application as well, because 2 capture nodes are used,

    https://e2e.ti.com/f/791/t/1302098

    Regards,
    Gokul

  • Thanks for your reply.

    1. All cameras are connected to CSI1 interface, and it is confirmed that VC=0 for RAW12 camera and VC=1 for UYVY camera. When one of the APP runs independently, it always works.

    2. Since we are using app_multi_cam demo for Capture, can you tell me how to modify app_multi_cam APP to collect 2 types of camera data at the same time?

    As described in the question, how to modify app_multi_cam APP? Is there a corresponding thread?

    Looking forward to your reply.

  • Hi Barry,

    1. You have 4 cameras which gives RAW12 so each camera should give vc as ( 0,1,2,3) and 2 cameras which gives UYVY should have vc as (4,5) If you are connecting in the same csi1 instance. Can you check this once.

    2. We don't have any thread for multi_cam_app, 

    Can you share your capture node config params.

    Regards,
    Gokul

  • Hi Gokul,

    Yes, the VC-ID of each camera is a different value.

    We debug using multi_cam_demo'app, raw12 and yuyv corresponding to their respective Capture APP:

    capture node config params:
    
    RAW12:
    typedef struct
    {
        uint32_t enableCsiv2p0Support;
        uint32_t numDataLanes;		:4
        uint32_t dataLanesMap[4];		:1234
        uint32_t laneBandSpeed;		:0x12
        
        tivx_raw_image_format_t.format[0].msb = 11U;
        tivx_raw_image_format_t.format[0].pixel_container = TIVX_RAW_IMAGE_16_BIT;
    } tivx_capture_inst_params_t;		
    
    
    typedef struct
    {
        tivx_capture_inst_params_t instCfg[TIVX_CAPTURE_MAX_INST];
        uint32_t instId[TIVX_CAPTURE_MAX_INST]; 		:1
        uint32_t numInst; 					:2	
        uint32_t numCh; 					:1
        uint32_t chVcNum[TIVX_CAPTURE_MAX_CH];		:0[0]
        uint32_t chInstMap[TIVX_CAPTURE_MAX_CH];		:1[0]
    	
    } tivx_capture_params_t;
    
    
    typedef struct
    {
        tivx_capture_inst_params_t instCfg[TIVX_CAPTURE_MAX_INST];
        uint32_t instId[TIVX_CAPTURE_MAX_INST]; 		:1
        uint32_t numInst; 					:2	
        uint32_t numCh; 					:1
        uint32_t chVcNum[TIVX_CAPTURE_MAX_CH];		:1[0]
        uint32_t chInstMap[TIVX_CAPTURE_MAX_CH];		:1[0]
    		
    } tivx_capture_params_t;

    What should we do to enable simultaneous capture of RAW12 camera and YUYV camera (using app_culti_cam_demo app) on CSI1 interface?
    Can you send us patches or corresponding threads? Thank you

  • Hi Barry,

    https://e2e.ti.com/f/791/t/1302098

    This faq will be a good reference to start, here 2 capture nodes are created which uses same csi instance to get raw12 and yuv image.
    Also it seems you are trying to use 2 cameras in the beginning. For which this faq should match your requirement.

    But this is done in single application, This can be extended as 2 capture nodes can be separated on 2 different application.

    You capture config seems to be correct, can you share the logs when you run 2 apps at same time. If possible can you narrow down which node is hang in applciation.