//------------------------------------------------------------------------------ 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; }
//------------------------------------------------------------------------------ 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; }
//------------------------------------------------------------------------------ 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; }