Menu system broken

Dependencies:   ANSITermMenuSystem

Fork of menuSystemMbed by Ryan Scott

Committer:
Rybowonder
Date:
Fri Mar 08 17:37:11 2013 +0000
Revision:
3:bdf42b6c15f4
Child:
7:df9f5b6dd4ed
menus complete

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rybowonder 3:bdf42b6c15f4 1 #include "mbed.h"
Rybowonder 3:bdf42b6c15f4 2
Rybowonder 3:bdf42b6c15f4 3 #include "menuIDs.h"
Rybowonder 3:bdf42b6c15f4 4 #include "MainMenu.h"
Rybowonder 3:bdf42b6c15f4 5 #include "console.h"
Rybowonder 3:bdf42b6c15f4 6
Rybowonder 3:bdf42b6c15f4 7 extern BusInOut switches; //(p21, p22, p23, p24)
Rybowonder 3:bdf42b6c15f4 8 extern MainMenu pageMenu[MAXPAGES ];
Rybowonder 3:bdf42b6c15f4 9
Rybowonder 3:bdf42b6c15f4 10 int PlaybackmenuPageHandler()
Rybowonder 3:bdf42b6c15f4 11 {
Rybowonder 3:bdf42b6c15f4 12 int userSelection = 0;
Rybowonder 3:bdf42b6c15f4 13 pageMenu[PLAYBACK].printMenu();
Rybowonder 3:bdf42b6c15f4 14
Rybowonder 3:bdf42b6c15f4 15 unsigned char lastState = 0x0f; //0000 1111
Rybowonder 3:bdf42b6c15f4 16 bool exitCurrentMenu = false;
Rybowonder 3:bdf42b6c15f4 17
Rybowonder 3:bdf42b6c15f4 18 while ( exitCurrentMenu == false)
Rybowonder 3:bdf42b6c15f4 19 {
Rybowonder 3:bdf42b6c15f4 20
Rybowonder 3:bdf42b6c15f4 21 unsigned char currentState = switches.read(); //reading a port add a AND MASK & 0b00000111
Rybowonder 3:bdf42b6c15f4 22 wait_ms(10);
Rybowonder 3:bdf42b6c15f4 23 if( currentState == switches.read() && currentState != lastState)
Rybowonder 3:bdf42b6c15f4 24 {
Rybowonder 3:bdf42b6c15f4 25 lastState = currentState;
Rybowonder 3:bdf42b6c15f4 26 switch(currentState)
Rybowonder 3:bdf42b6c15f4 27 {
Rybowonder 3:bdf42b6c15f4 28 case 0x0e:
Rybowonder 3:bdf42b6c15f4 29 pageMenu[PLAYBACK].erase();
Rybowonder 3:bdf42b6c15f4 30 userSelection = HOME;
Rybowonder 3:bdf42b6c15f4 31 exitCurrentMenu = true;
Rybowonder 3:bdf42b6c15f4 32 break;
Rybowonder 3:bdf42b6c15f4 33 case 0x0d:
Rybowonder 3:bdf42b6c15f4 34 pageMenu[PLAYBACK].highlightPrevItem();
Rybowonder 3:bdf42b6c15f4 35 break;
Rybowonder 3:bdf42b6c15f4 36 case 0x0b:
Rybowonder 3:bdf42b6c15f4 37 pageMenu[PLAYBACK].highlightNextItem();
Rybowonder 3:bdf42b6c15f4 38 break;
Rybowonder 3:bdf42b6c15f4 39 case 0x07:
Rybowonder 3:bdf42b6c15f4 40 pageMenu[PLAYBACK].erase();
Rybowonder 3:bdf42b6c15f4 41 userSelection = pageMenu[PLAYBACK].getHighlightedItem() - PLAYBACKMENUOFFSET;
Rybowonder 3:bdf42b6c15f4 42 exitCurrentMenu = true;
Rybowonder 3:bdf42b6c15f4 43 break;
Rybowonder 3:bdf42b6c15f4 44 }//eo select
Rybowonder 3:bdf42b6c15f4 45 wait_ms(200);
Rybowonder 3:bdf42b6c15f4 46 }//eo if kbhit
Rybowonder 3:bdf42b6c15f4 47 }//eo while
Rybowonder 3:bdf42b6c15f4 48 return userSelection;
Rybowonder 3:bdf42b6c15f4 49 }