int main() { // // Disable the watchdog // WDTimerDisable(); xSysCtlClockSet32KhzFLLExt(); //48mhz from 32768khz external clock xSysTickPeriodSet(xSysCtlClockGet()/SYSTICKS_PER_SECOND); //1ms xSysTickIntEnable(); xSysTickEnable(); // End of SysTick init ulClockMS = xSysCtlClockGet() / (3 * 1000); pwmInit(); // Setup and configure rf radio RF24 radio = RF24(); rf24_init(radio); while (1) { // if there is data ready report_t gamepad_report; if (!getNRF24report(&radio, &gamepad_report)) { drive(&gamepad_report); // if (gamepad_report.reportid == 1) { // // Delay just a little bit to let the other unit // // make the transition to receiver // xSysCtlDelay(ulClockMS * 10); // // radio.stopListening(); // uint8_t response = 0; // radio.write(&response, sizeof(uint8_t)); // radio.startListening(); // } timeoutcounter = millis(); } else { if ((millis() - timeoutcounter) > TIMEOUT) { stopall(); xSysCtlDelay(ulClockMS * 10); } } } return 0; }
void LSession::procFinished(){ //Go through and check the status on all the procs to determine which one finished int stopped = 0; for(int i=0; i<PROCS.length(); i++){ if(PROCS[i]->state()==QProcess::NotRunning){ stopped++; if(!stopping){ //See if this process is the main desktop binary if(PROCS[i]->program().section("/",-1) == "lumina-desktop"){ stopall(); } //start closing down everything //else{ PROCS[i]->start(QIODevice::ReadOnly); } //restart the process break; } } } if(stopping && stopped==PROCS.length()){ QCoreApplication::exit(0); } }