コード例 #1
0
ファイル: event.c プロジェクト: gauravks/openPOWERLINK_V2
//------------------------------------------------------------------------------
static tOplkError processPdoChangeEvent(tOplkApiEventType EventType_p,
                                        tOplkApiEventArg* pEventArg_p,
                                        void* pUserArg_p)
{
    tOplkApiEventPdoChange*     pPdoChange = &pEventArg_p->pdoChange;
    UINT                        subIndex;
    UINT64                      mappObject;
    tOplkError                  ret;
    UINT                        varLen;

    UNUSED_PARAMETER(EventType_p);
    UNUSED_PARAMETER(pUserArg_p);

    console_printlog("PDO change event: (%sPDO = 0x%X to node 0x%X with %d objects %s)\n",
                     (pPdoChange->fTx ? "T" : "R"), pPdoChange->mappParamIndex,
                     pPdoChange->nodeId, pPdoChange->mappObjectCount,
                     (pPdoChange->fActivated ? "activated" : "deleted"));

    for (subIndex = 1; subIndex <= pPdoChange->mappObjectCount; subIndex++)
    {
        varLen = sizeof(mappObject);
        ret = oplk_readLocalObject(pPdoChange->mappParamIndex, subIndex, &mappObject, &varLen);
        if (ret != kErrorOk)
        {
            console_printlog("  Reading 0x%X/%d failed with 0x%X\n",
                             pPdoChange->mappParamIndex, subIndex, ret);
            continue;
        }
        console_printlog("  %d. mapped object 0x%X/%d\n", subIndex, mappObject & 0x00FFFFULL,
                         (mappObject & 0xFF0000ULL) >> 16);
    }
    return kErrorOk;
}
コード例 #2
0
//------------------------------------------------------------------------------
tOplkError ProcessThread::processPdoChangeEvent(tOplkApiEventType eventType_p,
                                                tOplkApiEventArg* pEventArg_p,
                                                void* pUserArg_p)
{
    tOplkApiEventPdoChange*     pPdoChange = &pEventArg_p->pdoChange;
    UINT                        subIndex;
    UINT64                      mappObject;
    tOplkError                  ret;
    UINT                        varLen;

    UNUSED_PARAMETER(eventType_p);
    UNUSED_PARAMETER(pUserArg_p);

    sigPrintLog(QString("PDO change event: (%1PDO = 0x%2 to node 0x%3 with %4 objects %5)")
                .arg(pPdoChange->fTx ? "T" : "R")
                .arg(pPdoChange->mappParamIndex, 4, 16, QLatin1Char('0'))
                .arg(pPdoChange->nodeId, 2, 16, QLatin1Char('0'))
                .arg(pPdoChange->mappObjectCount)
                .arg(pPdoChange->fActivated ? "activated" : "deleted"));

    for (subIndex = 1; subIndex <= pPdoChange->mappObjectCount; subIndex++)
    {
        varLen = sizeof(mappObject);
        ret = oplk_readLocalObject(pPdoChange->mappParamIndex, subIndex, &mappObject, &varLen);
        if (ret != kErrorOk)
        {
            sigPrintLog(QString("  Reading 0x%1/%2 failed with 0x%3\n\"4\"")
                        .arg(pPdoChange->mappParamIndex, 4, 16, QLatin1Char('0'))
                        .arg(subIndex)
                        .arg(ret, 4, 16, QLatin1Char('0'))
                        .arg(debugstr_getRetValStr(ret)));
            continue;
        }
        sigPrintLog(QString("  %1. mapped object 0x%2/%3")
                    .arg(subIndex)
                    .arg(mappObject & 0x00FFFFULL, 4, 16, QLatin1Char('0'))
                    .arg((mappObject & 0xFF0000ULL) >> 16, 4, 16, QLatin1Char('0')));
    }
    return kErrorOk;
}
コード例 #3
0
//------------------------------------------------------------------------------
static tOplkError processPdoChangeEvent(const tOplkApiEventPdoChange* pPdoChange_p,
                                        void* pUserArg_p)
{
    UINT        subIndex;
    UINT64      mappObject;
    tOplkError  ret;
    size_t      varLen;

    UNUSED_PARAMETER(pUserArg_p);

    eventlog_printPdoEvent(pPdoChange_p);

    for (subIndex = 1; subIndex <= pPdoChange_p->mappObjectCount; subIndex++)
    {
        varLen = sizeof(mappObject);
        ret = oplk_readLocalObject(pPdoChange_p->mappParamIndex,
                                   subIndex,
                                   &mappObject,
                                   &varLen);
        if (ret != kErrorOk)
        {
            eventlog_printMessage(kEventlogLevelError,
                                  kEventlogCategoryObjectDictionary,
                                  "Reading 0x%X/%d failed with %s(0x%X)",
                                  pPdoChange_p->mappParamIndex,
                                  subIndex,
                                  debugstr_getRetValStr(ret),
                                  ret);
            continue;
        }

        eventlog_printPdoMap(pPdoChange_p->mappParamIndex,
                             subIndex,
                             mappObject);
    }

    return kErrorOk;
}