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.

RTOS/TDA2P-ACD: i can't call a function of iss model from grpxSrc link , why?

Part Number: TDA2P-ACD

Tool/software: TI-RTOS

1.  i want call write regsiter of iss sensor  from grpxSrc link .  so i add a function to app_util_iss.c & app_util_iss.h . and include the header to grpxSrcLink_tsk.c .  then i call the function , when the link is run . 

but i had a error occured .  the error as followed ,    if i can call function like this ?   & why ? & thanks 

i run usecase on A15(hlos) . 

 [HOST] [IPU2  ]     80.899377 s:  ### XDC ASSERT - ERROR CALLBACK START ###
 [HOST] [IPU2  ]     80.899469 s:
 [HOST] [IPU2  ]     80.899591 s: E_hardFault: FORCED
 [HOST] [IPU2  ]     80.899652 s:
 [HOST] [IPU2  ]     80.899682 s:  ### XDC ASSERT - ERROR CALLBACK END ###
 [HOST] [IPU2  ]     80.899743 s:
 [HOST] [IPU2  ]     80.899987 s:
 [HOST] [IPU2  ]     80.900018 s:  ### XDC ASSERT - ERROR CALLBACK START ###
 [HOST] [IPU2  ]     80.900079 s:
 [HOST] [IPU2  ]     80.900201 s: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: ad02a024
 [HOST] [IPU2  ]     80.900292 s:
 [HOST] [IPU2  ]     80.900353 s:  ### XDC ASSERT - ERROR CALLBACK END ###

  • Hi,

    can you check "vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_ISS_SensorFrameWork.pdf" for description of ISS sensor framework and see if it can help you.

    Regards,
    Yordan
  • that pdf can't help me , and i call as follow , IssSensor_Control is there error occour .

    sensorhandle = IssSensor_GetSensorHandle(SENSOR_APTINA_AR0144);
    //Vps_printf("grpxSrclinke metadata filllength = %p sensorAePrms.chId = %d \n", sensorhandle, sensorAePrms.chId);

    status = IssSensor_Control(sensorhandle, ISS_SENSORS_IOCTL_SET_AE_PARAMS, &sensorAePrms, NULL);
    UTILS_assert(SYSTEM_LINK_STATUS_SOK == status);
  • Hi,

    From which core are you trying to access ISS sensor/this APIs? Please note that it cannot be called from Linux/A15.

    Rgds,
    Brijesh
  • i know can't call that from a15 . i call it from ipu2, & ipu1 is not used .
  • Could you please tell me which API is exactly failing? Is it get sensor handle or set AE?

    Rgds,

    Brijesh

  • status = IssSensor_Control(sensorhandle, ISS_SENSORS_IOCTL_SET_AE_PARAMS, &sensorAePrms, NULL);
  • Can you check first if the sensor handle is not null?
    Please make sure that the sensor itself is opened, from the usecase..

    Rgds,
    Brijesh
  • Int32 GrpxSrcLink_drawDMSResults(GrpxSrcLink_Obj *pObj, System_MetaDataBuffer *pMetaBuffer)
    {
    Int32 status = 0;
    Ptr sensorhandle;
    IssSensor_AeParams sensorAePrms;
    DMS_OUTPUT* dmsout;
    char sensor_name[32] = {0};

    //Void appSetar0144AeROI(IssSensor_AeParams* pAeParam);

    Vps_printf("grpxSrclinke metadata filllength = %d sizeof(dmsout) = %d \n", pMetaBuffer->metaFillLength[0], sizeof(DMS_OUTPUT));

    Cache_inv(pMetaBuffer->bufAddr[0], pMetaBuffer->metaFillLength[0], Cache_Type_ALLD, TRUE);

    dmsout = pMetaBuffer->bufAddr[0];


    sensorAePrms.chId = 0;
    sensorAePrms.roi.height = dmsout->drivers[0].faceinfo.position.bottom - dmsout->drivers[0].faceinfo.position.top;
    sensorAePrms.roi.width = dmsout->drivers[0].faceinfo.position.right - dmsout->drivers[0].faceinfo.position.left;
    sensorAePrms.roi.startx = dmsout->drivers[0].faceinfo.position.left;
    sensorAePrms.roi.starty = dmsout->drivers[0].faceinfo.position.top+40;

    //sensorAePrms.roi.startx = dmsout->drivers[0].faceinfo.position.left;
    //sensorAePrms.roi.starty = dmsout->drivers[0].faceinfo.position.top+40;

    //sensorAePrms.roi.height = sensorAePrms.roi.height*0.3
    //sensorAePrms.roi.width = sensorAePrms.roi.width*0.2

    strncpy(sensor_name, SENSOR_APTINA_AR0144, 31);

    sensorhandle = IssSensor_GetSensorHandle(sensor_name);
    Vps_printf("grpxSrclinke metadata filllength = %p sensorAePrms.chId = %d \n", sensorhandle, sensorAePrms.chId);


    BspOsal_sleep(100);

    status = IssSensor_Control(sensorhandle, ISS_SENSORS_IOCTL_SET_AE_PARAMS, &sensorAePrms, NULL);
    //UTILS_assert(SYSTEM_LINK_STATUS_SOK == status);

    //appSetar0144AeROI(&sensorAePrms);

    return status;
    }


    i add BspOsal_sleep(100); before IssSensor_Control(sensorhandle, ISS_SENSORS_IOCTL_SET_AE_PARAMS, &sensorAePrms, NULL);
    it work , not error occur. i dont know why?
  • May be within those 100ms delay, actual sensor is getting created, not before that..
    In order to configure sensor, please make sure that that sensor is opened.

    Rgds,
    Brijesh