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: test with ub962 pattern but get wrong yuv data and WARNING of "CAPTURE:Error frame not provided using tivxCaptureRegisterErrorFrame"

Part Number: TDA4VM

Hi TI,

We try to test the 962 pattern in  R5F rtos (8.0 sdk),  but get wrong yuv data and WARNING of "CAPTURE:Error frame not provided using tivxCaptureRegisterErrorFrame", could you please help?

1.what we have changed:

1.1 ub9xx_testpat_serdes_config.h

I2cParams ub9xxDesCfg_testpat[TESTPAT_DES_CFG_SIZE] = {
     //962 PATTERN
    {0x33,0x03,0x1},//CSI0 enable
    {0xB0,0x00,0x1},//Indirect Pattern Gen Registers
    {0xB1,0x01,0x1},//PGEN_CTL
    {0xB2,0x01,0x1},
    {0xB1,0x02,0x1},//PGEN_CFG
    {0xB2,0x32,0x1},
    {0xB1,0x03,0x1},//PGEN_CSI_DI
    {0xB2,0x1E,0x1},
    {0xB1,0x04,0x1},//PGEN_LINE_SIZE1
    {0xB2,0x0A,0x1},
    {0xB1,0x05,0x1},//PGEN_LINE_SIZE0
    {0xB2,0x00,0x1},
    {0xB1,0x06,0x1},//PGEN_BAR_SIZE1
    {0xB2,0x01,0x1},
    {0xB1,0x07,0x1},//PGEN_BAR_SIZE0
    {0xB2,0x40,0x1},
    {0xB1,0x08,0x1},//PGEN_ACT_LPF1
    {0xB2,0x02,0x1},
    {0xB1,0x09,0x1},//PGEN_ACT_LPF0
    {0xB2,0xD0,0x1},
    {0xB1,0x0A,0x1},//PGEN_TOT_LPF1
    {0xB2,0x02,0x1},
    {0xB1,0x0B,0x1},//PGEN_TOT_LPF0
    {0xB2,0xFD,0x1},
    {0xB1,0x0C,0x1},//PGEN_LINE_PD1
    {0xB2,0x11,0x1},
    {0xB1,0x0D,0x1},//PGEN_LINE_PD0
    {0xB2,0x05,0x1},
    {0xB1,0x0E,0x1},//PGEN_VBP
    {0xB2,0x24,0x1},
    {0xB1,0x0F,0x1},//PGEN_VFP
    {0xB2,0x24,0x1},
    {0xB1,0x10,0x1},//PGEN_COLOR0
    {0xB2,0xAA,0x1},
    {0xB1,0x11,0x1},//PGEN_COLOR1
    {0xB2,0x33,0x1},
    {0xB1,0x12,0x1},//PGEN_COLOR2
    {0xB2,0xF0,0x1},
    {0xB1,0x13,0x1},//PGEN_COLOR3
    {0xB2,0x7F,0x1},
    {0xB1,0x14,0x1},//PGEN_COLOR4
    {0xB2,0x55,0x1},
    {0xB1,0x15,0x1},//PGEN_COLOR5
    {0xB2,0xCC,0x1},
    {0xB1,0x16,0x1},//PGEN_COLOR6
    {0xB2,0x0F,0x1},
    {0xB1,0x17,0x1},//PGEN_COLOR7
    {0xB2,0x80,0x1},
    {0xFFFF, 0x00, 0x0} //End of script
};

1.2.iss_sensor_testpat.c

static IssSensor_CreateParams  testpatCreatePrms = {
    UB96X_TESTPATTERN_UYVY,     /*sensor name*/
    0x0,                             /*i2cInstId*/
    {0, 0, 0, 0, 0, 0, 0, 0},   /*i2cAddrSensor*/
    {0, 0, 0, 0, 0, 0, 0, 0},      /*i2cAddrSer*/
    /*IssSensor_Info*/
    {
        {
            TESTPAT_OUT_WIDTH,               /*width 1280U*/
            TESTPAT_OUT_HEIGHT,              /*height 800U*/ 
            1,                              /*num_exposures*/ 
            vx_false_e,                     /*line_interleaved*/
            {
                {VX_DF_IMAGE_UYVY, 7},    /*dataFormat and MSB [0]*/
            },
            0,                              /*meta_height_before*/
            0,                              /*meta_height_after*/
        },
        ISS_SENSOR_TESTPAT_FEATURES,     /*features*/
        ALGORITHMS_ISS_AEWB_MODE_NONE,  /*aewbMode*/
        25,                             /*fps*/ 
        4,                              /*numDataLanes*/
        {1, 2, 3, 4},                   /*dataLanesMap*/
        {0, 0, 0, 0},                   /*dataLanesPolarity*/
        CSIRX_LANE_BAND_SPEED_800_TO_880_MBPS,//CSIRX_LANE_BAND_SPEED_720_TO_800_MBPS, /*csi_laneBandSpeed*/
    },
    1,                                  /*numChan*/
    962,                             /*dccId*/
};

2.Make&Run

./run_app_single_cam.sh
APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
    93.268399 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
    93.270968 s:  VX_ZONE_INIT:Enabled
    93.271007 s:  VX_ZONE_ERROR:Enabled
    93.271012 s:  VX_ZONE_WARNING:Enabled
    93.274953 s:  VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
    93.275142 s:  VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
----------------appInit------------------
Invalid token [
]
sensor_selection = [0]
Invalid token [
]
ldc_enable = [0]
Invalid token [
]
num_frames_to_run = [1000000000]
Invalid token [
]
is_interactive = [1]
IttCtrl_registerHandler: command echo registered at location 0
IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
IttCtrl_registerHandler: command iss_raw_save registered at location 3
IttCtrl_registerHandler: command iss_yuv_save registered at location 4
IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
IttCtrl_registerHandler: command dev_ctrl registered at location 7
IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
 NETWORK: Opened at IP Addr = 0.0.0.0, socket port=5000!!!
tivxImagingLoadKernels done
    93.276973 s: ISS: Enumerating sensors ... !!!
[MCU2_0]     93.277063 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
[MCU2_0]     93.277190 s: UB962 config start
[MCU2_0]     93.422907 s: End of UB962 config
    95.689817 s: ISS: Enumerating sensors ... found 0 : UB96x_UYVY_TESTPATTERN
Select camera port index 0-7 : 
Invalid entry
. Please choose between 0 and 7
Select camera port index 0-7 : 0
0x1 registered sensor drivers
a : UB96x_UYVY_TESTPATTERN
Select a sensor above or press '0' to autodetect the sensor : Invalid selection
. Try again
0x1 registered sensor drivers
a : UB96x_UYVY_TESTPATTERN
Select a sensor above or press '0' to autodetect the sensor : a
Sensor selected : UB96x_UYVY_TESTPATTERN
LDC Selection Yes(1)/No(0) : LDC Selection Yes(1)/No(0) : 0
app_init done
Querying UB96x_UYVY_TESTPATTERN
   104.336630 s: ISS: Querying sensor [UB96x_UYVY_TESTPATTERN] ... !!!
   104.336905 s: ISS: Querying sensor [UB96x_UYVY_TESTPATTERN] ... Done !!!
YUV Input selected. VISS and AEWB nodes will be bypassed.
Sensor DCC is enabled
Sensor width = 1280
Sensor height = 800
Sensor DCC ID = 962
Sensor Supported Features = 0x100
Sensor Enabled Features = 0x100
   104.336933 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN], doing IM_SENSOR_CMD_PWRON ... !!!
   104.337105 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN], doing IM_SENSOR_CMD_CONFIG ... !!!
[MCU2_0]    104.336718 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
[MCU2_0]    104.336777 s: Received Query for UB96x_UYVY_TESTPATTERN
[MCU2_0]    104.336985 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
[MCU2_0]    104.337031 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1
[MCU2_0]    104.337207 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
[MCU2_0]    104.337249 s: Application requested features = 0x100
[MCU2_0]
[MCU2_0]    104.337281 s: Configuring camera # 0
[MCU2_0]    104.337316 s: IssSensor_Config
[MCU2_0]    104.337347 s: testpat_Config
[MCU2_0]    104.337366 s: UB962 config start
   104.385036 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN] ... Done !!!
Creating graph
Initializing params for capture node
Initializing params for capture node
capture_config = 0x0x6e0410
Creating capture node
obj->capture_node = 0x0x69ad10
Display Set Target done
vxSetGraphScheduleConfig done
Scaler is disabled
[MCU2_0]    104.384910 s: End of UB962 config
[MCU2_0]    104.384959 s: IM_SENSOR_CMD_CONFIG returning status = 0
app_create_graph exiting
app_create_graph done


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice:
Unsupported command



 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice:    104.394227 s: ISS: Starting sensor [UB96x_UYVY_TESTPATTERN] ... !!!
   104.395002 s: ISS: Starting sensor [UB96x_UYVY_TESTPATTERN] ... !!!
get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/UB96x_UYVY_TESTPATTERN/wdr
[MCU2_0]    104.394295 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
[MCU2_0]    104.394365 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
[MCU2_0]    104.394406 s: UB962 config start
[MCU2_0]    104.394916 s: End of UB962 config
[MCU2_0]    104.395398 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:772]  CAPTURE: WARNING: Error frame not provided using tivxCapturme, defaulting to waiting forever !!!
s^H

Test data path is NULL. Defaulting to current folder
YUV file name .//cap_0000.yuv
imgaddr_width = 1280
imgaddr_height = 800
imgaddr_stride = 2560
width = 1280
height = 800
Written 2048000 bytes
2048000 bytes written to .//cap_0000.yuv


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice:
Unsupported command


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice:
Unsupported command



 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice: s

Test data path is NULL. Defaulting to current folder
YUV file name .//cap_0001.yuv
imgaddr_width = 1280
imgaddr_height = 800
imgaddr_stride = 2560
width = 1280
height = 800
Written 2048000 bytes
2048000 bytes written to .//cap_0001.yuv


 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice:
Unsupported command



 ==========================
 Demo : Single Camera w/ 2A
 ==========================

 p: Print performance statistics

 s: Save Sensor RAW, VISS Output and H3A output images to File System

 e: Export performance statistics

 u: Update DCC from File System


 x: Exit

 Enter Choice: s

Test data path is NULL. Defaulting to current folder
YUV file name .//cap_0002.yuv
imgaddr_width = 1280
imgaddr_height = 800
imgaddr_stride = 2560
width = 1280
height = 800
Written 2048000 bytes
2048000 bytes written to .//cap_0002.yuv

3.View the yuv image in PC

  • Can you please press 'p' on the console? Lets first see if capture is working fine. 

    You could ignore error "CAPTURE:Error frame not provided using tivxCaptureRegisterErrorFrame" for the time being. 

    Regards,

    Brijesh

  • Hi Brijesh,

    Below is the performance statistics, and our custom board is using the CSIRX_INST_1 to capture the data,  thus I try to change dataLanesMap to {4,5,6,7}, the issue still persists.  And very appreciate for your reply. thanks

    --------------------------------------------------------------------------------------------------------------
    Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 0.20 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 42949516.96 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: mcu2_1: TOTAL LOAD = 42947377.96 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: c6x_1: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 0 MB/s, PEAK = 0 MB/s
    DDR: WRITE BW: AVG = 0 MB/s, PEAK = 0 MB/s
    DDR: TOTAL BW: AVG = 0 MB/s, PEAK = 0 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 15.94 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16689920 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 262144 B, free = 261888 B ( 99 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16776960 B ( 99 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 5.20 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 262144 B, free = 262144 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 117440256 B ( 26 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: graph_84 (#nodes = 2, #executions = 0)
    NODE: CAPTURE2: node_95: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0
    NODE: DISPLAY1: node_96: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0

    PERF: TOTAL: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0

    PERF: TOTAL: 0. 0 FPS

  • One more thing is that I think the ub962 configuation is correct since I can measure the MIPI CSI singal sent from ub962 via scope. but it seems the tda4vm can't capture it correctly

  • Hi,

    According to below stats, there is no capture happening, so capture frame is not valid..

    NODE: CAPTURE2: node_95: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0
    NODE: DISPLAY1: node_96: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0

    PERF: TOTAL: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0

    PERF: TOTAL: 0. 0 FPS

    Looking at the register settings for the test pattern output, it looks like you are enabling CSI output from the first register, this must be enabled only during streamon callback. Could you please refer to ti-processor-sdk-rtos-j721e-evm-08_00_00_12\imaging\sensor_drv\src\ub9xx_yuv_test_pattern\ub9xx_testpat_serdes_config.h file and implement it in similar way?

    {0x33,0x03,0x1},//CSI0 enable

    Also i am assuming that lane speed that you are using in the CSIRX configuration is same as output lane speed from ub962.. If not, please change it accordingly. 

    Regards,

    Brijesh

  • Hi Brijesh,

    I revise the code as your advice, but there is still no capture happening. below is my change:

    1.ub9xx_testpat_serdes_config.h

    #include "iss_sensor_testpat.h"
    #include "ub9xx_testpat_serdes_config.h"
    
    
    static IssSensor_CreateParams  testpatCreatePrms = {
        UB96X_TESTPATTERN_UYVY,     /*sensor name*/
        0x0,                             /*i2cInstId*/
        {0, 0, 0, 0, 0, 0, 0, 0},   /*i2cAddrSensor*/
        {0, 0, 0, 0, 0, 0, 0, 0},      /*i2cAddrSer*/
        /*IssSensor_Info*/
        {
            {
                TESTPAT_OUT_WIDTH,               /*width*/
                TESTPAT_OUT_HEIGHT,              /*height*/
                1,                              /*num_exposures*/ 
                vx_false_e,                     /*line_interleaved*/
                {
                    {VX_DF_IMAGE_UYVY, 7},    /*dataFormat and MSB [0]*/
                },
                0,                              /*meta_height_before*/
                0,                              /*meta_height_after*/
            },
            ISS_SENSOR_TESTPAT_FEATURES,     /*features*/
            ALGORITHMS_ISS_AEWB_MODE_NONE,  /*aewbMode*/
            30,                             /*fps*/ 
            4,                              /*numDataLanes*/
            {4, 5, 6, 7},                   /*dataLanesMap*/
            {0, 0, 0, 0},                   /*dataLanesPolarity*/
            CSIRX_LANE_BAND_SPEED_720_TO_800_MBPS, /*csi_laneBandSpeed*/
        },
        1,                                  /*numChan*/
        962,                             /*dccId*/
    };
    
    static IssSensorFxns           testpatSensorFxns = {
        testpat_Probe,
        testpat_Config,
        testpat_StreamOn,
        testpat_StreamOff,
        testpat_PowerOn,
        testpat_PowerOff,
        NULL,
        NULL,
        testpat_GetDccParams,
        testpat_InitAewbConfig,
        NULL,
        NULL,
        NULL,
        testpat_deinit,
        NULL,
        NULL
    };
    
    static IssSensorIntfParams     testpatSensorIntfPrms = {
        0,             /*sensorBroadcast*/
        0,             /*enableFsin*/
        0,			   /*numCamerasStreaming*/
    };
    
    IssSensorConfig     testpatSensorRegConfig = {
        ub9xxDesCfg_testpat,     /*desCfgPreScript*/
        NULL,      /*serCfgPreScript*/
        NULL,      /*sensorCfgPreScript*/
        ub9xxtestpatDesCSI2Enable,        /*desCfgPostScript*/
        NULL,                    /*serCfgPostScript*/
        NULL,                    /*sensorCfgPostScript*/
    };
    
    
    IssSensors_Handle testpatSensorHandle = {
        1,                                 /*isUsed*/
        &testpatCreatePrms,                /*CreatePrms*/
        &testpatSensorFxns,                /*SensorFxns*/
        &testpatSensorIntfPrms,            /*SensorIntfPrms*/
    };
    
    /*
     * \brief DCC Parameters of testpat
     */
    IssCapture_CmplxIoLaneCfg           testpatCsi2CmplxIoLaneCfg;
    
    extern IssSensors_Handle * gIssSensorTable[ISS_SENSORS_MAX_SUPPORTED_SENSOR];
    
    int32_t IssSensor_testpat_Init()
    {
        int32_t status;
        status = IssSensor_Register(&testpatSensorHandle);
        if(0 != status)
        {
            printf("IssSensor_testpat_Init failed \n");
        }
    
        return status;
    }
    
    /*******************************************************************************
     *  Local Functions Definition
     *******************************************************************************
     */
    
    static int32_t testpat_Probe(uint32_t chId, void *pSensorHdl)
    {
        int32_t status = -1;
    	/*
    		Probe is used only for detecting cameras connected to an FPD Link port. 
    		UB97x test pattern is not a camera therefore it must not be detected. 
    		For test purpose, users can manually select this source from application menu.
    	*/
        return (status);
    }
    
    int8_t getUB962InstIdFromChId(uint8_t chId)
    {
        return BOARD_CSI_INST_1;
    }
    
    
    
    
    static int32_t testpat_Config(uint32_t chId, void *pSensorHdl, uint32_t sensor_features_requested)
    {
        int32_t status = 0;
        I2cParams *deserCfg = NULL;
        int8_t ub9xxInstanceId = getUB962InstIdFromChId(chId);//getUB960InstIdFromChId(chId);
    
        deserCfg = testpatSensorRegConfig.desCfgPreScript;
        printf("testpat_Config\n");
        if(NULL != deserCfg)
        {
            status |= ub962_cfgScript(deserCfg, ub9xxInstanceId);//ub960_cfgScript(deserCfg, ub9xxInstanceId);
        }
    
        return (status);
    }
    
    static int32_t testpat_StreamOn(uint32_t chId, void *pSensorHdl)
    {
        int32_t status = 0;
        int8_t ub9xxInstanceId = getUB962InstIdFromChId(chId);//getUB960InstIdFromChId(chId);
    
        if(ub9xxInstanceId < 0)
        {
            printf("Invalid ub9xxInstanceId \n");
            return 0xFF;
        }
    
        /*Start Streaming*/
        status |= ub962_cfgScript(ub9xxtestpatDesCSI2Enable, ub9xxInstanceId);//ub960_cfgScript(ub9xxtestpatDesCSI2Enable, ub9xxInstanceId);
        return (status);
    }
    
    static int32_t testpat_StreamOff(uint32_t chId, void *pSensorHdl)
    {
    
        int32_t status = 0;
        // int8_t ub9xxInstanceId = getUB962InstIdFromChId(chId);
    
        // if(ub9xxInstanceId < 0)
        // {
        //     printf("Invalid ub9xxInstanceId \n");
        //     return 0xFF;
        // }
    
        // /*Stop Streaming*/
        // status |= ub962_cfgScript(ub9xxtestpatDesCSI2Disable, ub9xxInstanceId);
        return (status);
    
    }
    
    static int32_t testpat_PowerOn(uint32_t chId, void *pSensorHdl)
    {
        int32_t status = 0;
        return status;
    }
    
    static int32_t testpat_PowerOff(uint32_t chId, void *pSensorHdl)
    {
        int32_t status= 0;
        // status = deInitFusion2_UB97x();
        // if(status != 0)
        // {
        //     printf("testpat_PowerOn : deInitFusion2_UB97x returned 0x%x \n", status);
        // }
        return status;
    }
    
    static int32_t testpat_GetDccParams(uint32_t chId, void *pSensorHdl, IssSensor_DccParams *pDccPrms)
    {
        int32_t status = 0;
        return (status);
    }
    
    static void testpat_InitAewbConfig(uint32_t chId, void *pSensorHdl)
    {
        return;
    }
    
    
    static void testpat_deinit (uint32_t chId, void *pSensorHdl)
    {
        return;
    }
    

    log after changing:

    -----------------------------------------------------------------------------------------------------------------

    Enter Choice: p


    Summary of CPU load,
    ====================

    CPU: mpu1_0: TOTAL LOAD = 0. 8 % ( HWI = 0. 1 %, SWI = 0. 0 % )
    CPU: mcu2_0: TOTAL LOAD = 6. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: mcu2_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % )
    CPU: c6x_1: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c6x_2: TOTAL LOAD = 0. 5 % ( HWI = 0. 2 %, SWI = 0. 1 % )
    CPU: c7x_1: TOTAL LOAD = 0. 7 % ( HWI = 0. 3 %, SWI = 0. 2 % )


    HWA performance statistics,
    ===========================

    DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 19 MB/s, PEAK = 19 MB/s
    DDR: WRITE BW: AVG = 3 MB/s, PEAK = 3 MB/s
    DDR: TOTAL BW: AVG = 22 MB/s, PEAK = 22 MB/s


    Detailed CPU performance/memory statistics,
    ===========================================

    CPU: mcu2_0: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CPU: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_NF: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_LDC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_VISS1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP1: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 %
    CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 %

    CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16689920 B ( 99 % unused)
    CPU: mcu2_0: HEAP: L3_MEM: size = 262144 B, free = 261888 B ( 99 % unused)
    CPU: mcu2_0: HEAP: DDR_NON_CACHE_M: size = 16777216 B, free = 16776960 B ( 99 % unused)

    CPU: mcu2_1: TASK: IPC_RX: 0. 0 %
    CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 %
    CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused)
    CPU: mcu2_1: HEAP: L3_MEM: size = 262144 B, free = 262144 B (100 % unused)
    CPU: mcu2_1: HEAP: DDR_NON_CACHE_M: size = 117440512 B, free = 117440256 B ( 26 % unused)

    CPU: c6x_1: TASK: IPC_RX: 0. 0 %
    CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c6x_2: TASK: IPC_RX: 0. 0 %
    CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 %
    CPU: c6x_2: TASK: LOAD_TEST: 0. 0 %
    CPU: c6x_2: TASK: TIVX_CPU: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16774912 B ( 99 % unused)
    CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused)
    CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused)

    CPU: c7x_1: TASK: IPC_RX: 0. 0 %
    CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 %
    CPU: c7x_1: TASK: LOAD_TEST: 0. 0 %
    CPU: c7x_1: TASK: TIVX_CPU: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %
    CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 %

    CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)
    CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused)
    CPU: c7x_1: HEAP: L2_MEM: size = 491520 B, free = 491520 B (100 % unused)
    CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused)
    CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 268435456 B, free = 268435456 B ( 4 % unused)


    GRAPH: graph_84 (#nodes = 2, #executions = 0)
    NODE: CAPTURE2: node_95: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0
    NODE: DISPLAY1: node_96: avg = 0 usecs, min/max = 18446744073709551 / 0 usecs, #executions = 0

    PERF: TOTAL: avg = 0 usecs, min/max = 4294967295 / 0 usecs, #executions = 0

    PERF: TOTAL: 0. 0 FPS

    -----------------------------------------------------------------------------------------------------------------

    2.

    Also i am assuming that lane speed that you are using in the CSIRX configuration is same as output lane speed from ub962.. If not, please change it accordingly. 

    we set the ub962 lane speed to 800Mbps, and  set CSIRX_LANE_BAND_SPEED_720_TO_800_MBPS in testpatCreatePrms struct.

    3. As I said, we are connecting CSI_INST_1 to ub962, I am wondering if there is something wrong with CSI_INST_1? and does NODE: CAPTURE2 match to CSI_INST_1?

  • Hi,

    3. As I said, we are connecting CSI_INST_1 to ub962, I am wondering if there is something wrong with CSI_INST_1? and does NODE: CAPTURE2 match to CSI_INST_1?

    ok, in this case, can you please make sure to set local_capture_config.instId[0]  to value 1?

    In single camera example, please change 

    local_capture_config.numInst = 1U;/* Configure both instances */
    local_capture_config.numCh = 1U;/* Single cam. Only 1 channel enabled */
    {
      vx_uint8 ch, id, lane, q;
      for(id = 0; id < local_capture_config.numInst; id++)
      {
        local_capture_config.instId[id] = 1;
        local_capture_config.instCfg[id].enableCsiv2p0Support = (uint32_t)vx_true_e;
        local_capture_config.instCfg[id].numDataLanes = sensorParams.sensorInfo.numDataLanes;
        local_capture_config.instCfg[id].laneBandSpeed = sensorParams.sensorInfo.csi_laneBandSpeed;

        for (lane = 0; lane < local_capture_config.instCfg[id].numDataLanes; lane++)
        {
            local_capture_config.instCfg[id].dataLanesMap[lane] = lane + 1;
        }
        for (q = 0; q < NUM_CAPT_CHANNELS; q++)
        {
            ch = (NUM_CAPT_CHANNELS-1)* id + q;
            local_capture_config.chVcNum[ch] = q;
            local_capture_config.chInstMap[ch] = 1;
        }
      }
    }

    Also in the above code, it assumes that the data is coming in on virtual channel id 0, so please make sure to configure ub962 to output on virtual channel id 0.

    Regards,

    Brijesh

  • Hi Brijesh,

    I change the code as you said above, but some new errors occur, could you please help to see? thanks in advance.

    ------------------------------------------------------

    root@j7-evm:/opt/vision_apps# ./run_app_single_cam.sh
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
    41.112413 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
    41.114950 s: VX_ZONE_INIT:Enabled
    41.114976 s: VX_ZONE_ERROR:Enabled
    41.114981 s: VX_ZONE_WARNING:Enabled
    41.119044 s: VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
    41.119219 s: VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
    ----------------appInit------------------
    Invalid token [
    ]
    sensor_selection = [0]
    Invalid token [
    ]
    ldc_enable = [0]
    Invalid token [
    ]
    num_frames_to_run = [1000000000]
    Invalid token [
    ]
    is_interactive = [1]
    IttCtrl_registerHandler: command echo registered at location 0
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
    IttCtrl_registerHandler: command iss_raw_save registered at location 3
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
    IttCtrl_registerHandler: command dev_ctrl registered at location 7
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
    NETWORK: Opened at IP Addr = 0.0.0.0, socket port=5000!!!
    tivxImagingLoadKernels done
    41.120750 s: ISS: Enumerating sensors ... !!!
    [MCU2_0] 41.120840 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
    [MCU2_0] 41.121020 s: UB962 config start
    [MCU2_0] 41.266001 s: End of UB962 config
    [MCU2_0] 41.465969 s: ub935 config start : slaveAddr = 0x18
    [MCU2_0] 41.467009 s: End of UB935 config
    [ 35.897624] tlv71033: disabling
    43.532677 s: ISS: Enumerating sensors ... found 0 : UB96x_UYVY_TESTPATTERN
    Invalid entry
    . Please choose between 0 and 7
    Select camera port index 0-7 :
    Invalid entry
    . Please choose between 0 and 7
    Select camera port index 0-7 : 0
    0x1 registered sensor drivers
    a : UB96x_UYVY_TESTPATTERN
    Select a sensor above or press '0' to autodetect the sensor : Invalid selection
    . Try again
    0x1 registered sensor drivers
    a : UB96x_UYVY_TESTPATTERN
    Select a sensor above or press '0' to autodetect the sensor : a
    Sensor selected : UB96x_UYVY_TESTPATTERN
    LDC Selection Yes(1)/No(0) : LDC Selection Yes(1)/No(0) : 0
    app_init done
    Querying UB96x_UYVY_TESTPATTERN
    47.896323 s: ISS: Querying sensor [UB96x_UYVY_TESTPATTERN] ... !!!
    47.896573 s: ISS: Querying sensor [UB96x_UYVY_TESTPATTERN] ... Done !!!
    YUV Input selected. VISS and AEWB nodes will be bypassed.
    Sensor DCC is enabled
    Sensor width = 640
    Sensor height = 480
    Sensor DCC ID = 962
    Sensor Supported Features = 0x100
    Sensor Enabled Features = 0x100
    47.896601 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN], doing IM_SENSOR_CMD_PWRON ... !!!
    47.896771 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN], doing IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0] 47.896409 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
    [MCU2_0] 47.896470 s: Received Query for UB96x_UYVY_TESTPATTERN
    [MCU2_0] 47.896654 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    [MCU2_0] 47.896699 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1
    [MCU2_0] 47.896814 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
    [MCU2_0] 47.896853 s: Application requested features = 0x100
    [MCU2_0]
    [MCU2_0] 47.896920 s: Configuring camera # 0
    [MCU2_0] 47.896962 s: IssSensor_Config
    [MCU2_0] 47.896991 s: testpat_Config
    [MCU2_0] 47.897009 s: UB962 config start
    47.944133 s: ISS: Initializing sensor [UB96x_UYVY_TESTPATTERN] ... Done !!!
    Creating graph
    Initializing params for capture node
    Initializing params for capture node
    capture_config = 0x0x6e0410
    Creating capture node
    obj->capture_node = 0x0x69ad10
    Display Set Target done
    vxSetGraphScheduleConfig done
    47.946086 s: VX_ZONE_ERROR:[ownContextSendCmd:783] Command ack message returned failure cmd_status: -1
    47.946096 s: VX_ZONE_ERROR:[ownContextSendCmd:819] tivxEventWait() failed.
    47.946102 s: VX_ZONE_ERROR:[ownNodeKernelInit:538] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_95
    47.946108 s: VX_ZONE_ERROR:[ownNodeKernelInit:539] Please be sure the target callbacks have been registered for this core
    47.946114 s: VX_ZONE_ERROR:[ownNodeKernelInit:540] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
    47.946197 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.capture ... failed !!!
    47.946205 s: VX_ZONE_ERROR:[vxVerifyGraph:2044] Node kernel init failed
    47.946210 s: VX_ZONE_ERROR:[vxVerifyGraph:2098] Graph verify failed
    Scaler is disabled
    app_create_graph exiting
    app_create_graph done


    ==========================
    Demo : Single Camera w/ 2A
    ==========================

    p: Print performance statistics

    s: Save Sensor RAW, VISS Output and H3A output images to File System

    e: Export performance statistics

    u: Update DCC from File System


    x: Exit

    Enter Choice:
    Unsupported command

    ==========================
    Demo : Single Camera w/ 2A
    ==========================

    p: Print performance statistics

    s: Save Sensor RAW, VISS Output and H3A output images to File System

    e: Export performance statistics

    u: Update DCC from File System


    x: Exit

    Enter Choice: 47.946478 s: ISS: Starting sensor [UB96x_UYVY_TESTPATTERN] ... !!!
    47.947096 s: ISS: Starting sensor [UB96x_UYVY_TESTPATTERN] ... !!!
    get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/UB96x_UYVY_TESTPATTERN/wdr
    [MCU2_0] 47.944000 s: End of UB962 config
    [MCU2_0] 47.944050 s: IM_SENSOR_CMD_CONFIG returning status = 0
    [MCU2_0] 47.945843 s: VX_ZONE_ERROR:[tivxCaptureSetCreateParams:587] CAPTURE: ERROR: Wrong Instance ID provided: 0 !!!
    [MCU2_0] 47.946529 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
    [MCU2_0] 47.946583 s: IM_SENSOR_CMD_STREAM_ON: channel_mask = 0x1
    [MCU2_0] 47.946622 s: UB962 config start
    [MCU2_0] 47.947013 s: End of UB962 config

  • Hi,

    Can you please check if below variable is getting overwritten in the code? Because, as per the error above, it seems this value is reset to 0x0 in the code. 

    local_capture_config.chInstMap[ch] = 1;

    Regards,

    Brijesh