TDA4VL-Q1: SingleCam Error with new camera driver

Part Number: TDA4VL-Q1
Other Parts Discussed in Thread: TDA4VL

Tool/software:

I'm using customed board based tda4vl and my image sensor is customed imx390

And my sdk version is 09_02_00

I want to run a singlecam example by connecting this camera directly without serdes

A sensor init error occurred at first, but when the sensor setting value was set correctly, the error disappeared and the singlecam example worked without error

However, nothing appears on the display, and when I capture the raw image and check the image, only three lines of red appear like attached image

static IssSensor_CreateParams IMX390CCreatePrms = {
IMX390C_RAW12, /*sensor name*/
0x1, /*i2cInstId*/
{0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21}, /*i2cAddrSensor*/
{0, 0, 0, 0, 0, 0, 0, 0}, /*i2cAddrSer*/
/*IssSensor_Info*/
{
{
IMX390_OUTPUT_WIDTH, /*width :1936
IMX390_OUTPUT_HEIGHT, /*height :1096
1, /*num_exposures*/
vx_false_e, /*line_interleaved*/
{
{TIVX_RAW_IMAGE_P12_BIT, 11}, /*dataFormat and MSB [0] 1052674 */
},
0, /*meta_height_before*/
0, /*meta_height_after*/
},
ISS_SENSOR_IMX390C_FEATURES, /*features*/
ALGORITHMS_ISS_AEWB_MODE_NONE, /*aewbMode*/
30, /*fps*/
4, /*numDataLanes*/
{1, 2, 3, 4}, /*dataLanesMap*/
{0, 0, 0, 0}, /*dataLanesPolarity*/
CSIRX_LANE_BAND_SPEED_720_TO_800_MBPS, /*csi_laneBandSpeed*/
},
1, /*numChan*/
390, /*dccId*/
};
static IssSensorFxns IMX390CSensorFxns = {
IMX390C_Probe,
IMX390C_Config,
IMX390C_StreamOn,
IMX390C_StreamOff,
IMX390C_PowerOn,
IMX390C_PowerOff,
NULL,
NULL,
IMX390C_GetDccParams,
IMX390C_InitAewbConfig,
NULL,
NULL,
NULL,
IMX390C_deinit,
NULL,
NULL
};
This is my camera setting
In this case, my question is
1. Can i check if the data captured by the camera is coming over well
     - i think i can check it 'vxGraphParameterEnqueueReadyRef(obj->graph, 0, (vx_reference*)&(obj->cap_frames[buf_id]), 1);' this part
       But how do i check if the data is valid      
2. If the camera doesn't give you normal data, how do I solve it
3. Can i put 12 bits of raw data directly into the display without viss or ldc during the graph generation process
       - How can i convert tivx_raw_image to vx_image
I changed the camera settings just in case, but I kept getting the same result or sensor initialization failed. Thank you for reading the article and I'll wait for your help.
  • Hi,

    In the single cam application, there is a way to dump the intermediate images (i.e. by pressing 's') this will give you the output of capture, viss, etc

    Please check if your capture node output is valid here.

    We cannot send the raw images directly to display as the display does not support Raw12 format.

    To begin with, we can verify the intermediate outputs to check if the sensor is streaming correctly.

    Regards,

    Nikhil

  • The attached image of the three lines of red line above is a raw image saved by pressing the 's' button. However, only a few red, blue, and green dots are displayed on the display

  • root@j721s2-evm:/opt/vision_apps# ./run_app_s[   20.844788] cdns-mhdp8546 a000000.dp-bridge: invalid resource
    [   20.850553] cdns-mhdp8546 a000000.dp-bridge: Failed to get SAPB memory resource, HDCP not supported
    [   20.859602] cdns-mhdp8546 a000000.dp-bridge: no PHY configured
    [   20.865551] platform a000000.dp-bridge: deferred probe pending
    ingle_cam.sh 
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
        28.803730 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        28.807952 s:  VX_ZONE_INIT:Enabled
        28.807991 s:  VX_ZONE_ERROR:Enabled
        28.807998 s:  VX_ZONE_WARNING:Enabled
        28.811103 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-0 
        28.811252 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-1 
        28.811362 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-2 
        28.811447 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-3 
        28.811458 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
        28.814317 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
    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
        28.830599 s: ISS: Enumerating sensors ... !!!
        28.831091 s: ISS: Enumerating sensors ... found 0 : IMX390C_RAW12
    Select camera port index 0-11 : 0
    1 registered sensor drivers
    a : IMX390C_RAW12 
    Select a sensor above or press '0' to autodetect the sensor : Invalid selection 
    . Try again 
    1 registered sensor drivers
    a : IMX390C_RAW12 
    Select a sensor above or press '0' to autodetect the sensor : a
    Sensor selected : IMX390C_RAW12
    LDC Selection Yes(1)/No(0) : LDC Selection Yes(1)/No(0) : 0
    Dual FCP enable for MV Selection Yes(1)/No(0) : Dual FCP enable for MV Selection Yes(1)/No(0) : 0
    CAC Selection Yes(1)/No(0) : CAC Selection Yes(1)/No(0) : 0
    app_init done
    Querying IMX390C_RAW12 
        31.428692 s: ISS: Querying sensor [IMX390C_RAW12] ... !!!
        31.428858 s: ISS: Querying sensor [IMX390C_RAW12] ... Done !!!
    Sensor DCC is enabled 
    Sensor width = 1920
    Sensor height = 1080
    Sensor DCC ID = 390
    Sensor Supported Features = 0x378
    Sensor Enabled Features = 0x100
        31.428890 s: ISS: Initializing sensor [IMX390C_RAW12], doing IM_SENSOR_CMD_PWRON ... !!!
        31.628752 s: ISS: Initializing sensor [IMX390C_RAW12], doing IM_SENSOR_CMD_CONFIG ... !!!
        32.761838 s: ISS: Initializing sensor [IMX390C_RAW12] ... Done !!!
    Creating graph 
    Initializing params for capture node 
    capture_config = 0x0xffffbd44f908 
    Creating capture node 
    obj->capture_node = 0x0xffffbd3c3088 
    Test data path is NULL. Defaulting to current folder 
    read_test_image_raw : Unable to open file .//img_test.raw
    app_create_viss : sensor_dcc_id = 390 
    Invalid DCC size for VISS. Disabling DCC 
    Invalid DCC size for 2A. Disabling DCC 
    AEWB Set Reference done
    Display Set Target done
    vxSetGraphScheduleConfig done
    Scaler is enabled
    app_create_graph exiting
    app_create_graph done
        32.794326 s: ISS: Starting sensor [IMX390C_RAW12] ... !!!
    
    
     ==========================
     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:     32.794635 s: ISS: Starting sensor [IMX390C_RAW12] ... Done !!!
    get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/IMX390C_RAW12/wdr 
     i 0...
     i 1...
     i 2...
     i 3...
     i 4...
     i 5...
     i 6...
     i 7...
     i 8...
     i 9...
     i 10...
     i 11...
     i 12...
     i 13...
     i 14...
     i 15...
     i 16...
     i 17...
     i 18...
     i 19...
     i 20...
     i 21...
     i 22...
     i 23...
     i 24...
     i 25...
     i 26...
     i 27...
     i 28...
     i 29...
     i 30...
     i 31...
     i 32...
     i 33...
     i 34...
     i 35...
     i 36...
     i 37...
     i 38...
     i 39...
     i 40...
     i 41...
     i 42...
     i 43...
     i 44...
     i 45...
     i 46...
     i 47...
     i 48...
     i 49...
     i 50...
     i 51...
     i 52...
     i 53...
     i 54...
     i 55...
     i 56...
     i 57...
     i 58...
     i 59...
     i 60...
     i 61...
     i 62...
     i 63...
     i 64...
     i 65...
     i 66...
     i 67...
     i 68...
     i 69...
     i 70...
     i 71...
     i 72...
     i 73...
     i 74...
     i 75...
     i 76...
     i 77...
     i 78...
     i 79...
     i 80...
     i 81...
     i 82...
     i 83...
     i 84...
     i 85...
     i 86...
     i 87...
     i 88...
     i 89...
     i 90...
     i 91...
     i 92...
     i 93...
     i 94...
     i 95...
     i 96...
     i 97...
     i 98...
     i 99...
     i 100...
     i 101...
     i 102...
     i 103...
     i 104...
     i 105...
     i 106...
     i 107...
     i 108...
     i 109...
     i 110...
    p i 111...
     i 112...
     i 113...
     i 114...
    
    
    
    Summary of CPU load,
    ====================
    
    CPU: mpu1_0: TOTAL LOAD =   0.60 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_0: TOTAL LOAD =  37. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_1: TOTAL LOAD =  36. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_2: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    
    
    HWA performance statistics,
    ===========================
    
    HWA:   VISS: LOAD =   8.24 % ( 55 MP/s )
    HWA:   MSC0: LOAD =  12.22 % ( 55 MP/s )
    
    
    DDR performance statistics,
    ===========================
    
    DDR: READ  BW: AVG =    339 MB/s, PEAK =   8896 MB/s
    DDR: WRITE BW: AVG =    168 MB/s, PEAK =   2085 MB/s
    DDR: TOTAL BW: AVG =    507 MB/s, PEAK =  10981 MB/s
    
    
    Detailed CPU performance/memory statistics,
    ===========================================
    
    DDR_SHARED_MEM: Alloc's: 21 alloc's of 40487546 bytes 
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes 
    DDR_SHARED_MEM: Open's : 21 allocs  of 40487546 bytes 
    
    CPU: mcu2_0: TASK:      FREERTOS_TA:  35.62 %
    CPU: mcu2_0: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_0: TASK:       REMOTE_SRV:   0. 3 %
    CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CPU_0:   0. 7 %
    CPU: mcu2_0: TASK:        TIVX_V1NF:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_V1LDC:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1MSC1:   0. 9 %
    CPU: mcu2_0: TASK:      TIVX_V1MSC2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1VISS:   0.11 %
    CPU: mcu2_0: TASK:       TIVX_CAPT1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT2:   0. 4 %
    CPU: mcu2_0: TASK:       TIVX_CAPT3:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT4:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT5:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT6:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT7:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT8:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP1:   0.33 %
    CPU: mcu2_0: TASK:       TIVX_DISP2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CSITX:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_CSITX2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M1:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M3:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M4:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_RX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU: mcu2_0: HEAP:    DDR_LOCAL_MEM: size =   14680064 B, free =   14188288 B ( 96 % unused)
    CPU: mcu2_0: HEAP:           L3_MEM: size =     524288 B, free =     524032 B ( 99 % unused)
    CPU: mcu2_0: HEAP:  DDR_CACHE_WT_ME: size =    2097152 B, free =    1852672 B ( 88 % unused)
    
    CPU: mcu2_1: TASK:      FREERTOS_TA:  35.40 %
    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_CPU_1:   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: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16773120 B ( 99 % unused)
    CPU: mcu2_1: HEAP:           L3_MEM: size =     524288 B, free =     524288 B (100 % unused)
    
    CPU:  c7x_1: TASK:      FREERTOS_TA:   0. 0 %
    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_C71_P1:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P2:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P3:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P4:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P5:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P6:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P7:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P8:   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 %
    
     i 115...
     i 116...
    CPU:  c7x_1: HEAP:    DDR_LOCAL_MEM: size =  268435456 B, free =  268435200 B ( 99 % unused)
    CPU:  c7x_1: HEAP:           L3_MEM: size =    3964928 B, free =    3964928 B (100 % unused)
    CPU:  c7x_1: HEAP:           L2_MEM: size =     458752 B, free =     458752 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 =  385875968 B, free =  385875968 B (100 % unused)
    
    CPU:  c7x_2: TASK:      FREERTOS_TA:   0. 0 %
    CPU:  c7x_2: TASK:           IPC_RX:   0. 0 %
    CPU:  c7x_2: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c7x_2: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c7x_2: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c7x_2: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16772608 B ( 99 % unused)
    CPU:  c7x_2: HEAP:           L2_MEM: size =     458752 B, free =     458752 B (100 % unused)
    CPU:  c7x_2: HEAP:           L1_MEM: size =      16384 B, free =      16384 B (100 % unused)
    CPU:  c7x_2: HEAP:  DDR_SCRATCH_MEM: size =   67108864 B, free =   67108864 B (100 % unused)
    
    
    GRAPH:         graph_84 (#nodes =   5, #executions =    117)
     NODE:       CAPTURE2:                  node_95: avg =  36960 usecs, min/max =  32958 / 499884 usecs, #executions =        117
     NODE:     VPAC_VISS1:          VISS_Processing: avg =   3178 usecs, min/max =   3164 /   3670 usecs, #executions =        117
     NODE:         MCU2-0:               2A_AlgNode: avg =    146 usecs, min/max =    130 /    288 usecs, #executions =        117
     NODE:      VPAC_MSC1:                 node_104: avg =   4602 usecs, min/max =   4571 /   4628 usecs, #executions =        117
     NODE:       DISPLAY1:                 node_106: avg =   8592 usecs, min/max =     50 /  16846 usecs, #executions =        117
    
     PERF:            TOTAL: avg =  39478 usecs, min/max =     22 / 504026 usecs, #executions =        117
    
     PERF:            TOTAL:   25.33 FPS
    
    
    
     ==========================
     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:  i 117...
     i 118...
     i 119...
     i 120...
     i 121...
     i 122...
     i 123...
     i 124...
     i 125...
     i 126...
     i 127...
     i 128...
     i 129...
     i 130...
     i 131...
     i 132...
    s i 133...
     i 134...
     i 135...
    
    
    Test data path is NULL. Defaulting to current folder 
    RAW file name .//img_0000.raw 
    in width =  1920
    in height =  1080
    in format =  1052674
     i 136...
    4147200 bytes written to .//img_0000.raw
    YUV file name .//img_viss_0000.yuv 
    imgaddr_width = 1920 
    imgaddr_height = 1080 
    imgaddr_stride = 1920 
    width = 1920 
    height = 1080 
    Written 3110400 bytes 
    3110400 bytes written to .//img_viss_0000.yuv
    H3A file name .//h3a_0000.bin 
    24576 bytes saved from H3A output buffer 
    YUV file name .//img_msc_0000.yuv 
    imgaddr_width = 1920 
    imgaddr_height = 1080 
    imgaddr_stride = 1920 
    width = 1920 
    height = 1080 
    Written 3110400 bytes 
     i 137...
    3110400 bytes written to .//img_msc_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:  i 138...
     i 139...
     i 140...
     i 141...
     i 142...
     i 143...
     i 144...
     i 145...
     i 146...
     i 147...
     i 148...
     i 149...
     i 150...
     i 151...
     i 152...
     i 153...
     i 154...
     i 155...
     i 156...
     i 157...
     i 158...
     i 159...
     i 160...
     i 161...
     i 162...
     i 163...
     i 164...
    x i 165...
     i 166...
     i 167...
    
    
     i 168...
        39.216967 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
        39.217234 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
        39.308492 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
        39.308740 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
    app_run_graph done
    releasing capture node
    releasing node_viss
    releasing node_aewb
    releasing displayNode
    releasing raw image done
    releasing cap_frame # 0
    releasing cap_frame # 1
    releasing cap_frame # 2
    releasing cap_frame # 3
    releasing y8_r8_c2
    releasing configuration
    releasing ae_awb_result done
    releasing h3a_aew_af
    releasing aewb_config
    releasing Display Param Data Object
    releasing Scaler Output Image 
    releasing Scaler Node 
    release Scalar coefficient data object 
    releasing test raw image buffer # 3
    releasing graph
    releasing graph done
    app_delete_graph done
    tivxHwaUnLoadKernels done
    tivxVideoIOUnLoadKernels done
    tivxImagingUnLoadKernels done
    vxReleaseContext done
    app_deinit done
        39.319419 s: ISS: De-initializing sensor [IMX390C_RAW12] ... !!!
        39.319520 s: ISS: De-initializing sensor [IMX390C_RAW12] ... Done !!!
        39.319537 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:115] De-Initialization Done for HOST !!!
        39.324015 s:  VX_ZONE_INIT:[tivxDeInitLocal:204] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    DDR_SHARED_MEM: Alloc's: 21 alloc's of 40487546 bytes 
    DDR_SHARED_MEM: Free's : 21 free's  of 40487546 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !

    here is my output logo thank you

  • Ok, so the above shared is img_0000.raw  which is output of the capture node itself. 

    Please review your sensor configuration and check if the laneband speed at the csitx on the sensor is what is set on the csirx in the source code. 

    Currently it is set for 1.5Gbps, which is the speed at which the deserializer sends the data over mipi lane.

    So please confirm the laneband speed, number of data lanes, width and height of the image etc and compare the same with the csirx configuration in the source code.

    Regards,

    Nikhil

  • Hello, I applied the things you mentioned and tried this and that and found that it works normally when I accidentally ran singlecam for the first time, shut it down with the 'x' key and ran it again. Do you know anything about this

  • Hi,

    I applied the things you mentioned and tried this and that and found that it works normally when I accidentally ran singlecam for the first time, shut it down with the 'x' key and ran it again

    Sorry did not get your question. Are you asking me why is it working at your end?

    Regards,

    Nikhil

  • The current problem is that the display does not come out when the board is turned on and the singlecam is operated for the first time, but the display will come out normally if i run it again after the singlecam is terminated while maintaining the power of the board

  • Hi,

    During the first go, can you check if the frames are being received by csirx? 

    You can see these logs when you press "x" to exit the application

    Regards,

    Nikhil

  •     46.935053 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
        46.935359 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
        47.021461 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
        47.021760 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
    app_run_graph done
    releasing capture node
    releasing node_viss
    releasing node_aewb
    releasing displayNode
    releasing raw image done
    releasing cap_frame # 0
    releasing cap_frame # 1
    releasing cap_frame # 2
    releasing cap_frame # 3
    releasing y8_r8_c2
    releasing configuration
    releasing ae_awb_result done
    releasing h3a_aew_af
    releasing aewb_config
    releasing Display Param Data Object
    releasing Scaler Output Image 
    releasing Scaler Node 
    release Scalar coefficient data object 
    releasing test raw image buffer # 3
    releasing graph
    releasing graph done
    app_delete_graph done
    tivxHwaUnLoadKernels done
    tivxVideoIOUnLoadKernels done
    tivxImagingUnLoadKernels done
    vxReleaseContext done
    app_deinit done
        47.040149 s: ISS: De-initializing sensor [IMX390C_RAW12] ... !!!
        47.040258 s: ISS: De-initializing sensor [IMX390C_RAW12] ... Done !!!
        47.040276 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:115] De-Initialization Done for HOST !!!
        47.044725 s:  VX_ZONE_INIT:[tivxDeInitLocal:204] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    DDR_SHARED_MEM: Alloc's: 21 alloc's of 40987770 bytes 
    DDR_SHARED_MEM: Free's : 21 free's  of 40987770 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

    I think the log shows that it is being received

  • Hi,

    The capture status logs comes from the core [MCU2_0]. Please run the script ./vision_apps_init.sh before running the application, to get the logs from the remote core.

    Regards,

    nikhil

  • Enter Choice: x
    
       254.717913 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
       254.718222 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
    [MCU2_0]    254.717979 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF 
    [MCU2_0]    254.718039 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
       254.730817 s: ISS: Stopping sensor [IMX390C_RAW12] ... !!!
       254.731062 s: ISS: Stopping sensor [IMX390C_RAW12] ... Done !!!
    [MCU2_0]    254.730862 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF 
    [MCU2_0]    254.730894 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
    [MCU2_0]    254.736564 s: ==========================================================
    [MCU2_0]    254.736614 s:  Capture Status: Instance|0
    [MCU2_0]    254.736636 s: ==========================================================
    [MCU2_0]    254.736666 s:  overflowCount: 0
    [MCU2_0]    254.736687 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    254.736709 s:  frontFIFOOvflCount: 0
    [MCU2_0]    254.736728 s:  crcCount: 0
    [MCU2_0]    254.736745 s:  eccCount: 0
    [MCU2_0]    254.736764 s:  correctedEccCount: 0
    [MCU2_0]    254.736784 s:  dataIdErrorCount: 0
    [MCU2_0]    254.736805 s:  invalidAccessCount: 0
    [MCU2_0]    254.736825 s:  invalidSpCount: 0
    [MCU2_0]    254.736847 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    254.736870 s:  strmFIFOOvflCount[1]: 0
    [MCU2_0]    254.736890 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    254.736933 s:            0 |                 4 |                    4 |                0 |                 0 |
    [MCU2_0]    254.737217 s: ==========================================================
    [MCU2_0]    254.737260 s:  Capture Status: Instance|1
    [MCU2_0]    254.737278 s: ==========================================================
    [MCU2_0]    254.737307 s:  overflowCount: 0
    [MCU2_0]    254.737327 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    254.737349 s:  frontFIFOOvflCount: 0
    [MCU2_0]    254.737368 s:  crcCount: 0
    [MCU2_0]    254.737384 s:  eccCount: 0
    [MCU2_0]    254.737403 s:  correctedEccCount: 0
    [MCU2_0]    254.737423 s:  dataIdErrorCount: 0
    [MCU2_0]    254.737443 s:  invalidAccessCount: 0
    [MCU2_0]    254.737463 s:  invalidSpCount: 0
    [MCU2_0]    254.737486 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    254.737508 s:  strmFIFOOvflCount[1]: 0
    [MCU2_0]    254.737528 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
       254.756649 s: ISS: De-initializing sensor [IMX390C_RAW12] ... !!!
       254.756771 s: ISS: De-initializing sensor [IMX390C_RAW12] ... Done !!!
       254.756789 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:115] De-Initialization Done for HOST !!!
       254.761242 s:  VX_ZONE_INIT:[tivxDeInitLocal:204] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    DDR_SHARED_MEM: Alloc's: 21 alloc's of 40987770 bytes 
    DDR_SHARED_MEM: Free's : 21 free's  of 40987770 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

    Log result after run the script ./vision_apps_init.sh

  • Hi,

    So, the current scenario is that, when you run the single cam app after power ON, then you do not see anything on the display

    When you end the application and run again, you can see the frames on display right?

    Again, when you reset the board, the same behaviour is observed. (i.e. no stream on first run, then it streams the subsequent run)

    From the log you shared, Looks like the sensor itself is not sending the frames during the first run, but when you are stopping the sensor and reconfiguring the same again and streaming it, it starts streaming.

    Just to check if this is an issue with the sensor, while running the application, can you do 2 experiments,

    1. stop and start the sensor again

    2. stop and reconfigure and start the sensor again.

    Can you check if the above is getting anything on the screen?

    Note: You have the sensor directly connected to the board without any SERDES right?

    Regards,

    Nikhil

  • As you said, stop and reconfigure and start the sensor again, so it's solved. Thank you.

  • And Currently, it doesn't go through VISS, LDC node, only scaler, and it's displayed on display,

    but I want to use viss, ldc module I know viss doesn't support raw12bit, should I change it to a different format and use node?

    how can i do that?

  • Hi,

    Are you currently streaming Raw12? If yes, then how are you displaying the same?

    Can you press "p" when you are running the application and check which all nodes are involved?

    Regards,

    Nikhil

  • Summary of CPU load,
    ====================
    
    CPU: mpu1_0: TOTAL LOAD =   0.82 % ( HWI =   0. 7 %, SWI =   0. 0 % )
    CPU: mcu2_0: TOTAL LOAD =  10. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_1: TOTAL LOAD =  10. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_2: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    
    
    HWA performance statistics,
    ===========================
    
    HWA:   VISS: LOAD =   9.13 % ( 62 MP/s )
    HWA:   MSC0: LOAD =  13.54 % ( 61 MP/s )
    
    
    DDR performance statistics,
    ===========================
    
    DDR: READ  BW: AVG =    386 MB/s, PEAK =   3605 MB/s
    DDR: WRITE BW: AVG =    285 MB/s, PEAK =   2184 MB/s
    DDR: TOTAL BW: AVG =    671 MB/s, PEAK =   5789 MB/s
    
    
    Detailed CPU performance/memory statistics,
    ===========================================
    
    DDR_SHARED_MEM: Alloc's: 21 alloc's of 40987770 bytes 
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes 
    DDR_SHARED_MEM: Open's : 21 allocs  of 40987770 bytes 
    
    CPU: mcu2_0: TASK:      FREERTOS_TA:   9.48 %
    CPU: mcu2_0: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_0: TASK:       REMOTE_SRV:   0.31 %
    CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CPU_0:   0. 2 %
    CPU: mcu2_0: TASK:        TIVX_V1NF:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_V1LDC:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1MSC1:   0. 3 %
    CPU: mcu2_0: TASK:      TIVX_V1MSC2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1VISS:   0. 6 %
    CPU: mcu2_0: TASK:       TIVX_CAPT1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT2:   0. 3 %
    CPU: mcu2_0: TASK:       TIVX_CAPT3:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT4:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT5:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT6:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT7:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT8:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP1:   0. 1 %
    CPU: mcu2_0: TASK:       TIVX_DISP2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CSITX:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_CSITX2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M1:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M3:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M4:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_RX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_0: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU: mcu2_0: HEAP:    DDR_LOCAL_MEM: size =   14680064 B, free =   14188288 B ( 96 % unused)
    CPU: mcu2_0: HEAP:           L3_MEM: size =     524288 B, free =     524032 B ( 99 % unused)
    CPU: mcu2_0: HEAP:  DDR_CACHE_WT_ME: size =    2097152 B, free =    1852672 B ( 88 % unused)
    
    CPU: mcu2_1: TASK:      FREERTOS_TA:   9.42 %
    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_CPU_1:   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: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16773120 B ( 99 % unused)
    CPU: mcu2_1: HEAP:           L3_MEM: size =     524288 B, free =     524288 B (100 % unused)
    
    CPU:  c7x_1: TASK:      FREERTOS_TA:   0. 0 %
    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_C71_P1:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P2:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P3:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P4:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P5:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P6:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P7:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P8:   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: HEAP:    DDR_LOCAL_MEM: size =  268435456 B, free =  268435200 B ( 99 % unused)
    CPU:  c7x_1: HEAP:           L3_MEM: size =    3964928 B, free =    3964928 B (100 % unused)
    CPU:  c7x_1: HEAP:           L2_MEM: size =     458752 B, free =     458752 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 =  385875968 B, free =  385875968 B (100 % unused)
    
    CPU:  c7x_2: TASK:      FREERTOS_TA:   0. 0 %
    CPU:  c7x_2: TASK:           IPC_RX:   0. 0 %
    CPU:  c7x_2: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c7x_2: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c7x_2: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_2: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c7x_2: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16772608 B ( 99 % unused)
    CPU:  c7x_2: HEAP:           L2_MEM: size =     458752 B, free =     458752 B (100 % unused)
    CPU:  c7x_2: HEAP:           L1_MEM: size =      16384 B, free =      16384 B (100 % unused)
    CPU:  c7x_2: HEAP:  DDR_SCRATCH_MEM: size =   67108864 B, free =   67108864 B (100 % unused)
    
    
    GRAPH:         graph_84 (#nodes =   5, #executions =    153)
     NODE:       CAPTURE2:                  node_95: avg =  33433 usecs, min/max =  33268 /  53988 usecs, #executions =        153
     NODE:     VPAC_VISS1:          VISS_Processing: avg =   3257 usecs, min/max =   3232 /   3741 usecs, #executions =        153
     NODE:         MCU2-0:               2A_AlgNode: avg =     69 usecs, min/max =     64 /    176 usecs, #executions =        153
     NODE:      VPAC_MSC1:                 node_104: avg =   4676 usecs, min/max =   4660 /   4764 usecs, #executions =        153
     NODE:       DISPLAY1:                 node_106: avg =   8620 usecs, min/max =     50 /   8838 usecs, #executions =        153
    
     PERF:            TOTAL: avg =  33488 usecs, min/max =  32826 /  58042 usecs, #executions =        153
    
     PERF:            TOTAL:   29.86 FPS

    Is viss and aewb working?

  • Yes,

    GRAPH: graph_84 (#nodes = 5, #executions = 153)
    NODE: CAPTURE2: node_95: avg = 33433 usecs, min/max = 33268 / 53988 usecs, #executions = 153
    NODE: VPAC_VISS1: VISS_Processing: avg = 3257 usecs, min/max = 3232 / 3741 usecs, #executions = 153
    NODE: MCU2-0: 2A_AlgNode: avg = 69 usecs, min/max = 64 / 176 usecs, #executions = 153
    NODE: VPAC_MSC1: node_104: avg = 4676 usecs, min/max = 4660 / 4764 usecs, #executions = 153
    NODE: DISPLAY1: node_106: avg = 8620 usecs, min/max = 50 / 8838 usecs, #executions = 153

    These are the nodes involved in the application and all of them are running.

    You can see the execution number as 153 which means that it ran 153 times / frames at 30 FPS.

    Regards,

    Nikhil