void menuState() { menuItem tempItem; for (int i = 0; i < NUMBER_OF_MENU_LINES; i++) { tempItem = menuItems.pop(); if (tempItem.message != NULL) { lcd.setCursor(0,i); lcd.print(i+1); lcd.print(tempItem.message); } menuItems.push(tempItem); } lcd.setCursor(0,3); if (menuItems.count() > NUMBER_OF_MENU_LINES) { lcd.print("Next : * Back : 0"); } else{ lcd.print("Back : #"); } }
int TaskManager::executeTasksQueue() { int executedTasksCount = 0; QueueList<TaskManagerRecord*>* fromQueue; QueueList<TaskManagerRecord*>* toQueue; if( !tasksQueueA->isEmpty() ) { fromQueue = tasksQueueA; toQueue = tasksQueueB; } else { fromQueue = tasksQueueB; toQueue = tasksQueueA; } while( !fromQueue->isEmpty() ) { TaskManagerRecord* taskManagerTaskRecord = fromQueue->pop(); if( taskManagerTaskRecord->taskManagerScheduler->canExecute() ) { taskManagerTaskRecord->runnable->run(); executedTasksCount++; } if( taskManagerTaskRecord->taskManagerScheduler->canRemoveFromTaskManager() ) delete( taskManagerTaskRecord ); else toQueue->push( taskManagerTaskRecord ); } return executedTasksCount; }