menu system menus complete
Fork of menuSystemMbed by
HANDLER_PlaytrackPage.cpp
- Committer:
- Rybowonder
- Date:
- 2013-03-08
- Revision:
- 3:bdf42b6c15f4
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 PlaytrackPageHandler() { int userSelection = 0; pageMenu[PLAY].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[PLAY].erase(); printXY(" ", 5, 10); //erases the ACTION prompt userSelection = PLAYBACK; exitCurrentMenu = true; break; case 0x0d: pageMenu[PLAY].highlightPrevItem(); break; case 0x0b: pageMenu[PLAY].highlightNextItem(); break; case 0x07: userSelection = pageMenu[PLAY].getHighlightedItem() ; break; }//eo select // is the user selection an ACTION assigned to this page if (userSelection != 0 && userSelection > PLAYTRACKOFFSET) //page selections are 0 through 12 { // place code here to handle actions processed directly from this page switch(userSelection) { case EX_PLAYTRACK : printXY("Example Track selected ", 5, 10); //***********---------------***************------------********** Discuss with Brad //call function to perform task break; } // eo place code here ...... userSelection = 0; } wait_ms(200); }//eo if kbhit }//eo while return userSelection; }