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:
- 13:27300c533dd1
- Parent:
- 12:7a399a476cfd
- Child:
- 14:9cfe0041cc4e
diff -r 7a399a476cfd -r 27300c533dd1 Menu/Menu.cpp --- a/Menu/Menu.cpp Fri May 08 20:08:36 2020 +0000 +++ b/Menu/Menu.cpp Sat May 09 13:45:23 2020 +0000 @@ -21,9 +21,16 @@ printmainmenu(lcd); //prints menu to display int menuflag=1; //sets flag while (menuflag==1) { - s=scroll(lcd, pad); + s=scroll(lcd, pad, submenu, menusize); if (s==1) { printmainmenu(lcd); + submenu++; + wait_ms(200); + } + if (s==-1) { + printmainmenu(lcd); + submenu--; + wait_ms(200); } if ( pad.A_pressed()) { //selects // printf("A pressed\n"); @@ -34,7 +41,7 @@ } while (1) { if (submenu==1) { //waveform submenu launch - subwaveforms(lcd, pad, submenu); + subwaveforms(lcd, pad); break; } if (submenu==2) { //instructions submenu launch @@ -48,7 +55,7 @@ } } -void Menu::subwaveforms(N5110 &lcd, Gamepad &pad, int submenu) //waveforms sub +void Menu::subwaveforms(N5110 &lcd, Gamepad &pad) //waveforms sub { menusize=3; g_selecty=10; @@ -59,15 +66,18 @@ lcd.printString("Waveforms:",3,0); printsubwaveforms(lcd); while (menuflag==1) { //looped - s=scroll(lcd,pad); + s=scroll(lcd,pad,submenu,menusize); + //printf("S= %d",s); if (s==1) { printsubwaveforms(lcd); submenu++; + wait_ms(200); } if (s==-1) { printsubwaveforms(lcd); submenu--; - } + wait_ms(200); + } if (pad.A_pressed()) { //go back menu // printf("A pressed\n"); printf("Submenu: %d selected\n", submenu); //debug @@ -173,40 +183,42 @@ lcd.refresh(); } -int Menu::scroll(N5110 &lcd, Gamepad &pad) //checks srolling +int Menu::scroll(N5110 &lcd, Gamepad &pad, int submenu, int menusize) //checks srolling { int d=scroll_check(pad); if(d != 0) { - if (d==5) { //N scrolls up - //printf("N \n"); //debug - g_selecty=g_selecty+8; //line size=8 - submenu++; - if (submenu > menusize) { //3 items in menu stops overflow - submenu = submenu-1; - g_selecty = g_selecty-8; + if (d==1) { //N scrolls up + printf("N \n"); //debug + submenu--; + g_selecty=g_selecty-8; //line size=8 + if (submenu<=0) { //3 items in menu stops overflow + submenu++; + g_selecty = g_selecty+8; + return(0); } //printmainmenu(lcd); //reprints main - //prntf("SubMenu= %d\n", submenu); //debug + printf("SubMenu= %d\n", submenu); //debug return(-1); } - if (d==1) { //S scrolls down - //printf("S \n"); - g_selecty=g_selecty-8; - submenu=submenu-1; - if (submenu <=0) { //stops overflow - submenu = submenu+1; - g_selecty = g_selecty+8; + if (d==5) { //S scrolls down + printf("S \n"); + submenu++; + g_selecty=g_selecty+8; + if (submenu >menusize) { //stops overflow + submenu--; + g_selecty = g_selecty-8; + return(0); } //printmainmenu(lcd); //reprints menu - //printf("SubMenu= %d\n", submenu); //debug + printf("SubMenu= %d\n", submenu); //debug return(1); } wait_ms(200); //debounce - } else { - return(0); - } + } + return(0); } + int Menu::scroll_check (Gamepad &pad) { return(pad.get_direction()); //checks for stick