ELEC2645 (2019/20) / Mbed 2 deprecated el18loc_final

Dependencies:   mbed

Revision:
17:358987e9f30e
Parent:
16:14c231624f3e
Child:
29:207111ffd6e6
--- a/Menu/Menu.cpp	Tue May 19 21:45:58 2020 +0000
+++ b/Menu/Menu.cpp	Thu May 21 12:50:43 2020 +0000
@@ -207,7 +207,7 @@
 }
 
 void Menu::volumerun(N5110 &lcd, Gamepad &pad)
-{   
+{
     menuflag=1; //sets flag
     printf("Volume Settings \n");
     lcd.clear();
@@ -256,24 +256,49 @@
     printf("Contrast Settings \n");
     lcd.clear();
     lcd.printString("Contrast:",3,0);
-    subunavailiable(lcd); //currently unused
+    contrast=0.5;
     pad.reset_buttons();
-    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
+    printcontrast(lcd,contrast);
+    while (menuflag==1) { //looped
+        s=scroll(lcd,pad,10,20);
+        if (s!=s_1) {
+            printf("S= %d",s);
+            if (s==1) {
+                printcontrast(lcd,contrast);
+                contrast=contrast+0.05f;
+                lcd.setContrast(contrast);
+                printf("CONTRAST UP\n");
+                wait_ms(200);
+            }
+            if (s==-1) {
+                printcontrast(lcd,contrast);
+                contrast=contrast-0.05f;
+                lcd.setContrast(contrast);
+                printf("CONTRAST DOWN\n");
+                wait_ms(200);
+            }
+            if (pad.B_pressed())  { //go back menu
+                // printf("B pressed\n");
+                printf("Main Menu selected\n"); //debug
+                submenu=0;
+                lcd.clear();
+                lcd.printString("Contrast Set",12,3);
+                lcd.refresh();
+                wait_ms(500); //debounce + display
+                menuflag=0; //sets flag
+            }
         }
+        s=s_1;
     }
+
     if(submenu==0) { //allows main menu select
         subsettings(lcd,pad);
     }
 }
 
+
 //Private Methods--------------------------------------------------------------
-void Menu::printmainmenu(N5110 &lcd) //prints main menu
+void Menu::printmainmenu(N5110 &lcd)   //prints main menu
 {
     printf("Printing Main Menu \n");
     lcd.clear(); //clears current buffer
@@ -286,7 +311,7 @@
     lcd.printString("Settings",3,4);
     lcd.refresh(); //updates display
 }
-void Menu::printsubwaveforms(N5110 &lcd)//prints subwaveforms menu
+void Menu::printsubwaveforms(N5110 &lcd)   //prints subwaveforms menu
 {
     printf("Printing Waveforms menu\n");
     lcd.clear(); //clears current buffer
@@ -299,7 +324,7 @@
     lcd.refresh(); //updates display
 }
 
-void Menu::printsubsettings(N5110 &lcd)//prints settings menu
+void Menu::printsubsettings(N5110 &lcd)   //prints settings menu
 {
     printf("Printing Settings menu\n");
     lcd.clear();
@@ -312,14 +337,21 @@
     lcd.refresh(); //updates display
 }
 
-void Menu::subunavailiable(N5110 &lcd) //for currently undeveloped menu
+void Menu::printcontrast(N5110 &lcd, float contrast)   //prints contrast edit screen
+{
+    lcd.clear();
+    lcd.printString("Contrast:",3,0);//title print
+    lcd.printString("VISIBILITY",12,3);
+    lcd.refresh();
+}
+void Menu::subunavailiable(N5110 &lcd)   //for currently undeveloped menu
 {
     printf("sub unavailiable\n");
     lcd.printString("Unavailiable",3,1);
     lcd.refresh();
 }
 
-int Menu::scroll(N5110 &lcd, Gamepad &pad, int submenu, int menusize) //checks srolling
+int Menu::scroll(N5110 &lcd, Gamepad &pad, int submenu, int menusize)   //checks srolling
 {
     int d=scroll_check(pad);
     if(d != 0) {