Código para o menu no LCD

Dependencies:   mbed SDFileSystemSD TextLCD

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

Revision:
13:1670c34440a5
Parent:
12:64ed645e79ad
Child:
14:ec8d10a34a2c
--- a/main.cpp	Fri May 11 14:23:06 2018 +0000
+++ b/main.cpp	Fri May 11 18:13:38 2018 +0000
@@ -27,6 +27,7 @@
 int cola;
 int exec;
 int select = 0;
+int pontos = 1;
 
 //variáveis float
 float cx = 120.458;
@@ -154,11 +155,17 @@
         lcd.printf("Cancelar");
         movercursor(1,3,10);
         if (bot_enter!=penter){
-            if (linha==1){
-                func = 5;
-                cx_salva = cx;
-                cy_salva = cy;
-                cz_salva = cz;
+            if (linha==1){                
+                if (pontos>0){
+                    pontos--;
+                    cx_salva = cx;
+                    cy_salva = cy;
+                    cz_salva = cz;
+                    func = 5;
+                    }
+                else if (pontos==0){
+                    func = 16;
+                    }
                 }
             else if (linha==2) {
                 func = 7;
@@ -190,20 +197,58 @@
         }
     
     //func 4
+    void config() {
+        lcd.cls();
+        bot_enter = 0;
+        lcd.locate(1,0);
+        lcd.printf("Definir velocidade");
+        lcd.locate(1,1);
+        lcd.printf("Limpar seringa cola");
+        lcd.locate(1,2);
+        lcd.printf("Desligar a maquina");
+        lcd.locate(1,3);
+        lcd.printf("Voltar");
+        movercursor(0,3,0);
+        if (bot_enter!=penter){
+            if (linha==0) {
+                func = 13;
+                }
+            else if (linha==1) {
+                func = 14;
+                }
+            else if (linha==2) {
+                func = 15;
+                }
+            else if (linha==3) {
+                func = 1;
+                }
+            }        
+        }
         
     //func 5
     void telasalvamento(){ //função para quando salvar um ponto
         lcd.cls();
         lcd.locate(0,0);
-        lcd.printf("Voce salvou o ponto:");
-        lcd.locate(5,1);
-        lcd.printf("X: %.3f", cx_salva);
-        lcd.locate(5,2);
-        lcd.printf("Y: %.3f", cy_salva);
-        lcd.locate(5,3);
-        lcd.printf("Z: %.3f", cz_salva);
+        lcd.printf("Voce salvou");
+        lcd.locate(1,1);
+        lcd.printf("X:%.3f", cx_salva);
+        lcd.locate(1,2);
+        lcd.printf("Y:%.3f", cy_salva);
+        lcd.locate(1,3);
+        lcd.printf("Z:%.3f", cz_salva);
+        lcd.locate(13,1);
+        lcd.printf("Pontos");
+        lcd.locate(13,2);
+        lcd.printf("livres");
+        lcd.locate(16,3);
+        lcd.printf("%d", pontos);
         wait(1);
-        func = 6;
+        if (pontos>0){
+            func = 6;
+            }
+        else if (pontos==0){
+            func = 2;
+            }
         }
         
     //func 6
@@ -334,7 +379,25 @@
         lcd.printf("FINALIZADO");
         wait(1);
         func = 1;
-        }       
+        }     
+        
+    //func 12
+    
+    //func 13
+    
+    //func 14
+    
+    //func 15
+    
+    //func 16
+    void limitepontos(){
+        lcd.cls();
+        lcd.printf(" Voce atingiu o n%c   maximo de pontos.", 0xDF);
+        lcd.locate(0,3);
+        lcd.printf("Conclua seu programa");
+        wait(1);
+        func = 2;
+        }      
     
     Menu(); //não apagar
 };
@@ -359,7 +422,7 @@
             case 1: menu.menuprincipal(); break;
             case 2: menu.jog(); break;
             case 3: menu.automatico(); break;
-            //case 4: menu.config(); break;
+            case 4: menu.config(); break;
             case 5: menu.telasalvamento(); break;
             case 6: menu.telacola(); break;
             case 7: menu.executarprograma(); break;
@@ -367,7 +430,7 @@
             case 9: menu.executando(); break;
             case 10: menu.zerado(); break;
             case 11: menu.finalizado(); break;
-    
+            case 16: menu.limitepontos(); break;
             }
         } 
     }