menu system menus complete
Fork of menuSystemMbed by
HANDLER_InputPage.cpp
- Committer:
- Rybowonder
- Date:
- 2013-03-08
- Revision:
- 3:bdf42b6c15f4
- Parent:
- 0:a5ece7312edc
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 InputPageHandler() { int userSelection = 0; pageMenu[INPUT].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[INPUT].erase(); printXY(" ", 5, 10); //erases the ACTION prompt userSelection = RECORDSET; exitCurrentMenu = true; break; case 0x0d: pageMenu[INPUT].highlightPrevItem(); break; case 0x0b: pageMenu[INPUT].highlightNextItem(); break; case 0x07: userSelection = pageMenu[INPUT].getHighlightedItem() ; break; }//eo select // is the user selection an ACTION assigned to this page if (userSelection != 0 && userSelection > INPUTOFFSET) //page selections are 0 through 12 { // place code here to handle actions processed directly from this page switch(userSelection) { case INMIC: printXY("Mic selected ", 5, 10); //call function to perform task break; case INLINE: printXY("Line 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; }