Menu system broken
Dependencies: ANSITermMenuSystem
Fork of menuSystemMbed by
HANDLER_RecordscreenPage.cpp
- Committer:
- Rybowonder
- Date:
- 2013-05-04
- Revision:
- 8:6ddb8c26387a
- Parent:
- 7:df9f5b6dd4ed
File content as of revision 8:6ddb8c26387a:
#include "mbed.h" #include "menuIDs.h" #include "MainMenu.h" #include "console.h" extern BusInOut switches; //(p21, p22, p23, p24) extern MainMenu pageMenu[MAXPAGES ]; extern volatile bool exittorecord; Timer t; Ticker printtime; void displaytime(void) { char tickertime[50]; sprintf(tickertime, "Song Length:%4.2f", t.read()); printXY(tickertime, 2, 2); } int RecordscreenPageHandler() { bool recordflag = true; char timebuf[50]; clrscr(); int userSelection = 0; unsigned char lastState = 0x0f; //0000 1111 bool exitCurrentMenu = false; printtime.attach(&displaytime, 1); t.start(); while ( exitCurrentMenu == false) { if (exittorecord == true && recordflag == true) { printXY("Recording", 5, 2); // printXY("To Stop", 2, 5); // printXY("Recording", 2, 6); recordflag = 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: if (exittorecord == false) { pageMenu[RECORDSCR].erase(); printXY(" ", 5, 10); //erases the ACTION prompt userSelection = HOME; exitCurrentMenu = true; } break; case 0x07: if (exittorecord == true) { clrscr(); t.stop(); printtime.detach(); sprintf(timebuf, "Total Length:%4.2f", t.read()); printXY(timebuf, 2, 2); t.reset(); exittorecord = false; } break; } wait_ms(200); }//eo if kbhit }//eo while return userSelection; }