IHM com 4 botões e todas as telas de pontos

Dependencies:   TextLCD mbed

Fork of Menu_IHM by Rodrigo Lino

Revision:
8:bd5509788843
Parent:
7:a550ec99045b
Child:
9:d9148b367fd9
--- a/teste.cpp	Wed May 09 11:56:00 2018 +0000
+++ b/teste.cpp	Wed May 09 16:14:38 2018 +0000
@@ -7,8 +7,10 @@
 
 //#include "TextLCDScroll.h"
 
-InterruptIn button1(D5);
-InterruptIn button2(D4);
+DigitalIn button1(D5);
+DigitalIn button2(D4);
+DigitalIn button3(D6);
+DigitalIn button4(D7);
 
 DigitalOut led(LED2);
  
@@ -26,63 +28,188 @@
 
 void aumenta_menu(){
     menu = menu + 1;
-    if (menu>2){
-        menu=2;
-    }
+    //printf("menu %d \r\n",menu);
+   
 }
     
 void diminui_menu()
 {
     menu = menu - 1;  
-    if (menu<0){
-        menu=0;
-    }
+   // printf("menu %d \r\n",menu);  
+     
 }
     
     
 int main() {   
 
-    button1.rise(&aumenta_menu);
-    button2.rise(&diminui_menu);
+    //button1.fall(&aumenta_menu);
+    //button2.fall(&diminui_menu);
     
     lcd.setBacklight(TextLCD::LightOn);
     lcd.setCursor(TextLCD::CurOff_BlkOff);
  
     while(1){
         
-        while (menu==0){
-            lcd.setAddress(0,0);
-            lcd.printf("SELECIONE UMA FUNCAO ");
+        if (menu<0){
+            menu=0;
+            printf("menu %d \r\n",menu);  
+        }
+        if (menu>6){
+        menu=6;
+        printf("menu %d \r\n",menu);  
+        }
+        
+        while ((menu==0)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+            lcd.setAddress(3,0);
+            lcd.printf("MENU PRINCIPAL");
+            //lcd.setAddress(0,1);
+            //lcd.printf("SELECIONE UMA FUNCAO ");
             lcd.setAddress(0,2);
             lcd.printf("1-SALVAR PONTOS");
             lcd.setAddress(0,3);
-            lcd.printf("2-FUNCAO B");
+            lcd.printf("2-INICIAR PROGRAMA");
+            if(button1==apertado)
+            {menu+=1;}
+            if(button2==apertado)
+            {menu-=1;}
+           /* if(button3==apertado)
+            {menu=0;}
+            if(button4==apertado)
+            {menu=0;}*/
         }
         lcd.cls();
-        while (menu==1){
-            lcd.setAddress(0,0);
-            lcd.printf("SELECIONE O PONTO 1"); // Ponto 1
+        while ((menu==1)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+            //lcd.setAddress(0,0);
+            //lcd.printf("SELECIONE O PONTO 1"); // Ponto 1
             lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,1);
+            lcd.printf("1-SALVAR PONTO 1");
             lcd.setAddress(0,2);
-            lcd.printf("1-SALVAR");
+            lcd.printf("2-VOLTAR");
             lcd.setAddress(0,3);
-            lcd.printf("2-CANCELAR OPERACAO");
-            previous1 = 1;
+            lcd.printf("3-CANCELAR OPERACAO");
+           // previous1 = 1;
             printf("dentro do menu1\r\n");
+            if(button1==apertado)
+            {menu+=1;}
+            if(button2==apertado)
+            {menu-=1;}
+            if(button3==apertado)
+            {menu=0;}
+           /* if(button4==apertado)
+            {menu=1;}*/
+        }
+        lcd.cls();
+        while ((menu==2)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+            //lcd.setAddress(0,0);
+            //lcd.printf("SELECIONE O PONTO 2"); // Ponto 2
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,1);
+            lcd.printf("1-SALVAR PONTO 2");
+            lcd.setAddress(0,2);
+            lcd.printf("2-VOLTAR");
+            lcd.setAddress(0,3);
+            lcd.printf("3-CANCELAR OPERACAO");
+           // previous1 = 1;
+            printf("dentro do menu2\r\n");   
+            if(button1==apertado)
+            {menu+=1;}   
+            if(button2==apertado)
+            {menu-=1;}
+            if(button3==apertado)
+            {menu=1;}
+           // if(button4==apertado)
+            //{menu=0;}
         }
         lcd.cls();
-        while (menu==2){
+        while ((menu==3)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+           // lcd.setAddress(0,0);
+            //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
             lcd.setAddress(0,0);
-            lcd.printf("SELECIONE O PONTO 2"); // Ponto 2
-            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.printf("1-SALVAR PONTO 3");
+            lcd.setAddress(0,1);
+            lcd.printf("2-voltar");
             lcd.setAddress(0,2);
-            lcd.printf("1-SALVAR");
+            lcd.printf("3-CANCELAR OPERACAO");
             lcd.setAddress(0,3);
-            lcd.printf("2-CANCELAR OPERACAO");
-            previous1 = 1;
-            printf("dentro do menu2\r\n");      
+            lcd.printf("4-CONCLUIR");
+            //previous1 = 1;
+            printf("dentro do menu3\r\n");   
+            if(button1==apertado)
+            {menu+=1;}   
+            if(button2==apertado)
+            {menu-=1;}
+            if(button3==apertado)
+            {menu=0;}
+            if(button4==apertado)
+            {menu=6;}
         }
         lcd.cls();
+        while ((menu==4)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+           // lcd.setAddress(0,0);
+            //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("1-SALVAR PONTO 4");
+            lcd.setAddress(0,1);
+            lcd.printf("2-voltar");
+            lcd.setAddress(0,2);
+            lcd.printf("3-CANCELAR OPERACAO");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR");
+            //previous1 = 1;
+            printf("dentro do menu3\r\n");   
+            if(button1==apertado)
+            {menu+=1;}   
+            if(button2==apertado)
+            {menu-=1;}
+            if(button3==apertado)
+            {menu=0;}
+            if(button4==apertado)
+            {menu=6;}
+        }
+        lcd.cls();
+        while ((menu==5)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+           // lcd.setAddress(0,0);
+            //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("1-SALVAR PONTO 5");
+            lcd.setAddress(0,1);
+            lcd.printf("2-voltar");
+            lcd.setAddress(0,2);
+            lcd.printf("3-CANCELAR OPERACAO");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR");
+            //previous1 = 1;
+            printf("dentro do menu3\r\n");   
+            if(button1==apertado)
+            {menu+=1;}   
+            if(button2==apertado)
+            {menu-=1;}
+            if(button3==apertado)
+            {menu=0;}
+            if(button4==apertado)
+            {menu=6;}
+        }
+        lcd.cls();
+        while ((menu==6)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("Pontos salvos!");
+            lcd.setAddress(0,2);
+            lcd.printf("1-Voltar ao menu");
+            lcd.setAddress(0,3);
+            lcd.printf("2-ressalvar pontos");
+            printf("dentro do menu4\r\n");
+            if(button1==apertado)
+            {menu=0;}   
+            if(button2==apertado)
+            {menu=1;}
+        }
+        lcd.cls();
+        
     }
 }
-            
\ No newline at end of file
+           
\ No newline at end of file