Menu system broken
Dependencies: ANSITermMenuSystem
Fork of menuSystemMbed by
HANDLER_OutputPage.cpp
- Committer:
- Rybowonder
- Date:
- 2013-03-08
- Revision:
- 3:bdf42b6c15f4
- Parent:
- 0:a5ece7312edc
- Child:
- 4:1178a1905490
File content as of revision 3:bdf42b6c15f4:
#include "mbed.h" #include "menuIDs.h" #include "MainMenu.h" #include "console.h" extern BusInOut switches; //(p21, p22, p23, p24) extern MainMenu pageMenu[MAXPAGES ]; int OutputPageHandler() { int userSelection = 0; pageMenu[OUTPUT].printMenu(); unsigned char lastState = 0x0f; //0000 1111 bool exitCurrentMenu = false; while ( exitCurrentMenu == false) { unsigned char currentState = switches.read(); //reading a port add a AND MASK & 0b00000111 wait_ms(10); if( currentState == switches.read() && currentState != lastState) { lastState = currentState; switch(currentState) { case 0x0e: pageMenu[OUTPUT].erase(); printXY(" ", 5, 10); userSelection = RECORDSET; exitCurrentMenu = true; break; case 0x0d: pageMenu[OUTPUT].highlightPrevItem(); break; case 0x0b: pageMenu[OUTPUT].highlightNextItem(); break; case 0x07: userSelection = pageMenu[OUTPUT].getHighlightedItem() ; break; }//eo select if (userSelection != 0 && userSelection != RECORDSET) { // place code here to handle actions processed directly from this page switch(userSelection) { case LINE: printXY("Line selected ", 5, 10); //call function to perform task break; case HEADPHONES: printXY("Headphones selected ",5,10); //call function to perform task break; case SPEAKERS: printXY("Speakers selected ", 5, 10); //call function to perform task break; } // eo place code here ...... userSelection = 0; } wait_ms(200); }//eo if kbhit }//eo while return userSelection; }