Menu system broken
Dependencies: ANSITermMenuSystem
Fork of menuSystemMbed by
Diff: HANDLER_PlaytrackPage.cpp
- Revision:
- 3:bdf42b6c15f4
- Child:
- 7:df9f5b6dd4ed
diff -r a3b65af969d4 -r bdf42b6c15f4 HANDLER_PlaytrackPage.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HANDLER_PlaytrackPage.cpp Fri Mar 08 17:37:11 2013 +0000 @@ -0,0 +1,67 @@ +#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; +} \ No newline at end of file