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.

DCC AEWB Enable - how to enable automatically on startup?

Other Parts Discussed in Thread: DM385

I'm integrating a new sensor to work with the DM385 IPNC platform. I've noticed that every time I boot, I need to click the "AEWB Enable" button in DCC so that auto exposure and gain control start working. 

I wish to enable this automatically when the IPNC boots. What registers does this button change and where in the source files do I find those settings?

I've tried the following in 

iss_params_default.c

under ti/psp/iss/core/src/

h3a_aewb_params_default.aewb_enable = H3A_FEATURE_ENABLE;

but observed no changes

  • Eliba,

    Which version of RDK release are you using? IPNC release should have AEWB enabled  by default.

    Regards

    Rajat

  • @Rajat

    I am using IPNC RDK 3.5

  • I will try to be more specific in describing my problem:

    Upon launch of the IPNC, the streaming image looks very dark, almost black. Clicking "Enable AEWB" in DCC tool causes sensor gain and exposure to be automatically adjusted through ti_params (sensor ISS drivers are implemented) and image becomes visible with automatically adjusted gain/exposure. Closing the lens causes gain/exposure to go up and opening it in bright light conditions causes gain/exposure to go down and such.

    I've tried digging around the code to see where ipnc_rdk_mcfw.out is called on boot and found the function int StartStream(StreamEnv_t* pConfig)

    under /home/user/IPNC_RDK/Source/ipnc_rdk/ipnc_app/sys_server/src/stream_env_ctrl.c

    I see that the selected usecase is checked and the appropriate command line arguments for ipnc_rdk_mcfw.out including AEWB settings are called though through cmdopt string which is initialized beforehand

    I've found the current usecase I'm using and manually added "AEWB" to the command line.

    Now on boot, the command line looks like this 

    ./bin/ipnc_rdk_mcfw.out   SINGLESTREAM SINGLE_H264 TI2A  AEWB 1080P_D1 H264 HIGH_SPEED1 &

    Now when booting the IPNC, I can see a normal (bright) image from the start, but gain/exposure are not auto-adjusted when lighting conditions change, until I click "Enable AEWB" in DCC tool as previously mentioned.

    I have debug prints in the ISS sensor driver module which display the ti_params flags and gain/exposure parameters when the appropriate flags are enabled (bits 1 and 2). When AEWB is enabled through DCC, new parameters are constantly being printed out as lighting conditions change, but when AEWB is enabled as described above, I only see a burst of such prints at startup and that's it.

    I see that in cmdopt, AEWB vendor and mode are initalized from: aewb_ven[pConfig->nAEWswitch] and aewb_con[pConfig->nAEWtype]

    which are initialized in int SystemInit() under Source/ipnc_rdk/ipnc_app/sys_server/src/system_control.c

    tConfig.nAEWswitch = pSysInfo->lan_config.nAEWswitch;
    tConfig.nAEWtype = pSysInfo->lan_config.nAEWtype;

    while pSysInfo is initialized through GetSysInfo() from the file manager through a system message.

    My questions are:

    a) Why is there a difference between enabling AEWB in the command line when running mcfw and enabling AEWB through DCC tool?

    b) How can I start AEWB in the way that is done through the DCC tool at startup?

    c) Where can I find the code that handles the received message that is sent in GetSysInfo() to the file manager?

    d) Is there any detailed documentation of the file manager?