//------------------------------------------------------------------------------ static tOplkError loopMain(tInstance* pInstance_p) { tOplkError ret = kErrorOk; // start processing if ((ret = oplk_execNmtCommand(kNmtEventSwReset)) != kErrorOk) return ret; while (1) { // do background tasks if ((ret = oplk_process()) != kErrorOk) break; // trigger switch off if (pInstance_p->fShutdown != FALSE) { oplk_execNmtCommand(kNmtEventSwitchOff); // reset shutdown flag to generate only one switch off command pInstance_p->fShutdown = FALSE; } // exit loop if NMT is in off state if (pInstance_p->fGsOff != FALSE) break; } return ret; }
//------------------------------------------------------------------------------ void ProcessThread::run() { tOplkError ret; // start process function ret = oplk_process(); }
//------------------------------------------------------------------------------ static tOplkError loopMain(tInstance* pInstance_p) { tOplkError ret = kErrorOk; // start processing if ((ret = oplk_execNmtCommand(kNmtEventSwReset)) != kErrorOk) return ret; while (1) { // do background tasks if ((ret = oplk_process()) != kErrorOk) break; if (oplk_checkKernelStack() == FALSE) { PRINTF("Kernel stack has gone! Exiting...\n"); instance_l.fShutdown = TRUE; } // trigger switch off if (pInstance_p->fShutdown != FALSE) { oplk_execNmtCommand(kNmtEventSwitchOff); // reset shutdown flag to generate only one switch off command pInstance_p->fShutdown = FALSE; } // exit loop if NMT is in off state if (pInstance_p->fGsOff != FALSE) break; switch (gpio_getAppInput()) { case 0x01: PRINTF("KEY0: SwReset\n"); lcd_printText("KEY0: SwReset", 2); ret = oplk_execNmtCommand(kNmtEventSwReset); break; case 0x02: PRINTF("KEY1: SwitchOff\n"); lcd_printText("KEY1: SwitchOff", 2); ret = oplk_execNmtCommand(kNmtEventSwitchOff); break; default: break; } while (gpio_getAppInput() != 0); } return ret; }
//------------------------------------------------------------------------------ static tOplkError loopMain(tInstance* pInstance_p) { tOplkError ret = kErrorOk; UINT checkStack = 0; // start processing if ((ret = oplk_execNmtCommand(kNmtEventSwReset)) != kErrorOk) return ret; while (1) { // do background tasks if ((ret = oplk_process()) != kErrorOk) break; // check the kernel part from time to time if (checkStack++ >= CHECK_KERNEL_TIMEOUT) { checkStack = 0; if (oplk_checkKernelStack() == FALSE) { PRINTF("Kernel stack has gone! Exiting...\n"); instance_l.fShutdown = TRUE; } } // trigger switch off if (pInstance_p->fShutdown != FALSE) { oplk_execNmtCommand(kNmtEventSwitchOff); // reset shutdown flag to generate only one switch off command pInstance_p->fShutdown = FALSE; } // exit loop if NMT is in off state if (pInstance_p->fGsOff != FALSE) break; } return ret; }