示例#1
0
//------------------------------------------------------------------------------
BOOL ctrlk_process(void)
{
    tOplkError          ret = kErrorOk;
    UINT16              fRet;
    tCtrlKernelStatus   status;
    tCtrlCmdType        cmd = kCtrlNone;
    BOOL                fExit = FALSE;

    if (ctrlkcal_getCmd(&cmd) != kErrorOk)
    {
        DEBUG_LVL_ERROR_TRACE("%s: error getting command!\n", __func__);
        return FALSE;
    }

    if (cmd != kCtrlNone)
    {
        ret = ctrlk_executeCmd(cmd, &fRet, &status, &fExit);
        if (ret == kErrorOk)
        {
            ctrlkcal_sendReturn(fRet);
            if (status != kCtrlStatusUnchanged)
                ctrlkcal_setStatus(status);
        }
    }

    eventkcal_process();

#if defined(CONFIG_INCLUDE_LEDK)
    ledk_process();
#endif

    ret = ctrlkcal_process();
    if (ret != kErrorOk)
    {
        DEBUG_LVL_ERROR_TRACE("%s: CAL process returned with 0x%X\n", __func__, ret);
        fExit = TRUE;
    }

    return fExit;
}
示例#2
0
//------------------------------------------------------------------------------
tOplkError drv_executeCmd(tCtrlCmd* pCtrlCmd_p)
{
    tOplkError  oplkRet = kErrorOk;
    UINT16      retVal;
    UINT16      status;

    if (pCtrlCmd_p == NULL)
        return kErrorInvalidOperation;

    oplkRet = ctrlk_executeCmd(pCtrlCmd_p->cmd, &retVal, &status, NULL);
    if (oplkRet != kErrorOk)
    {
        pCtrlCmd_p->cmd = 0;
        pCtrlCmd_p->retVal = (UINT16)oplkRet;
        return oplkRet;
    }

    pCtrlCmd_p->cmd = 0;
    pCtrlCmd_p->retVal = retVal;

    ctrlkcal_setStatus(status);

    return oplkRet;
}