void initMenuItems() { menuItem changeHour = {1, "Change hour"}; menuItems.push(changeHour); menuItem test = {2, "Start LED time"}; menuItems.push(test); menuItem test2 = {3, "Stop LED time"}; menuItems.push(test2); // Complete the queue with NULL element to get a modulo // of the line number menuItem nullItem = {0, NULL}; for (int i = 0; i < menuItems.count()%NUMBER_OF_MENU_LINES; i++) { menuItems.push(nullItem); } }
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 : #"); } }