Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Menu/Menu.cpp
- Revision:
- 30:08cc4ec58d07
- Parent:
- 29:207111ffd6e6
- Child:
- 31:cfdb014ff086
--- a/Menu/Menu.cpp Mon May 25 20:00:31 2020 +0000 +++ b/Menu/Menu.cpp Tue May 26 10:17:47 2020 +0000 @@ -152,7 +152,7 @@ { g_selecty=10; submenu=menuflag=1; //initialises Variables - menusize=3; + menusize=4; //printf("Settings menu \n"); printsubsettings(lcd); pad.reset_buttons(); @@ -186,9 +186,11 @@ case 1: volumerun(lcd,pad); case 2: - MIDIsettings(lcd,pad); + backlightrun(lcd,pad); case 3: contrastrun(lcd,pad); + case 4: + inverse_mode(lcd,pad); } } @@ -217,32 +219,39 @@ } } -void Menu::MIDIsettings(N5110 &lcd, Gamepad &pad) +void Menu::inverse_mode(N5110 &lcd, Gamepad &pad) { - menuflag=1; //sets flag - printf("MIDI Settings \n"); lcd.clear(); - lcd.printString("MIDI:",3,0); - subunavailiable(lcd); //currently unused - pad.reset_buttons(); + lcd.printString("Inverse Mode:",3,0); + lcd.printString("Press A to",3,1); + lcd.printString("toggle",3,2); + lcd.refresh(); + menuflag=1; + toggle=true; while (menuflag==1) { - if (pad.B_pressed()) { - // printf("B pressed\n"); - printf("Back Menu\n"); - submenu=0; - wait_ms(200); //debounce - menuflag=0; //sets flag + if (pad.A_pressed()) { + if (toggle==true) { + lcd.normalMode(); + toggle=false; + } else if (toggle==false) { + lcd.inverseMode(); + toggle=true; + } + wait_ms(500);//debounce + } + if (pad.B_pressed()) { + menuflag=0; } } - if(submenu==0) { //allows main menu select - subsettings(lcd,pad); - } + wait_ms(500);//debounce + pad.reset_buttons(); + subsettings(lcd,pad); } void Menu::contrastrun(N5110 &lcd, Gamepad &pad) { menuflag=1; //sets flag - printf("Contrast Settings \n"); + //printf("Contrast Settings \n"); lcd.clear(); lcd.printString("Contrast:",3,0); contrast=0.5; @@ -282,11 +291,40 @@ subsettings(lcd,pad); } +void Menu::backlightrun(N5110 &lcd, Gamepad &pad) +{ + lcd.clear(); + lcd.printString("Backlight:",3,0); + lcd.printString("Press A to",3,1); + lcd.printString("toggle",3,2); + lcd.refresh(); + menuflag=1; + toggle=true; + while (menuflag==1) { + if (pad.A_pressed()) { + if (toggle==true) { + lcd.backLightOn(); + toggle=false; + } else if (toggle==false) { + lcd.backLightOff(); + toggle=true; + } + wait_ms(500);//debounce + + } + if (pad.B_pressed()) { + menuflag=0; + } + } + wait_ms(500);//debounce + pad.reset_buttons(); + subsettings(lcd,pad); +} //Private Methods-------------------------------------------------------------- void Menu::printmainmenu(N5110 &lcd) //prints main menu { - printf("Printing Main Menu \n"); + //printf("Printing Main Menu \n"); lcd.clear(); //clears current buffer lcd.drawRect(78,g_selecty,5,5,FILL_BLACK); //prints select box at y value lcd.printString("MAIN MENU",3,0); //title print @@ -319,8 +357,9 @@ lcd.printString("Settings:",3,0); //title print //SUBMENU TITLES lcd.printString("Volume",3,1); - lcd.printString("MIDI",3,2); + lcd.printString("Backlight",3,2); lcd.printString("Contrast",3,3); + lcd.printString("Inverse Mode",3,4); lcd.refresh(); //updates display }