testando

Dependencies:   mbed TextLCD2

Revision:
81:aa3f095fd82a
Parent:
80:3a69b08e062f
Child:
82:b8b6374ce1e6
--- a/main_PM.cpp	Sat Jun 06 23:31:33 2020 +0000
+++ b/main_PM.cpp	Sun Jun 07 02:07:00 2020 +0000
@@ -134,6 +134,26 @@
    }
 }
 
+//Função que troca de tela
+void troca_tela(bool cond, void tela1(), void tela2(), float valory){
+    TextLCD lcd(D4, D5, D6, D7, D8, D9);
+    while(cond){
+        tela1();
+        wait(2);
+        tela2();
+        if(valory !=0){
+            lcd.locate(18,1);
+            lcd.printf("OK");    
+        }
+        wait(2);
+        tecla = pega_tecla();
+        if(tecla!='k'){
+            printf("entrou no if");
+            cond = 0;
+        }  
+    };
+}
+
 //Funcao que será chamada na interrupcao da queda do botao de emergencia
 void emergencia(){TextLCD lcd(D4, D5, D6, D7, D8, D9); 
         rele2 = 0; //desligamento eletrico dos motores   
@@ -245,21 +265,22 @@
         //Ações para a tela inicial
         if(tecla == '1' && status_tela == "inicio"){
             continuar = 1; //Condição de funcionamento do loop abaixo
-            while(continuar){//Esse loop indica que há a alternancia entre duas telas enquanto nada for selecionado.
-                             //Ele aparecerá todas as vezes que isso for necessário, portanto não será mais comentado daqui em diante   
-                funcao_pega1();
-                wait(2);
-                funcao_pega2();
-                if(pos_y_pega[programa] !=0){
-                    lcd.locate(18,1);lcd.printf("OK");    
-                }
-                wait(2);
-                tecla = pega_tecla();
-                if(tecla!='k'){
-                    printf("entrou no if");
-                    continuar = 0;
-                }
-            }
+            troca_tela(continuar, funcao_pega1, funcao_pega2, pos_y_pega[programa]);
+            //while(continuar){//Esse loop indica que há a alternancia entre duas telas enquanto nada for selecionado.
+//                             //Ele aparecerá todas as vezes que isso for necessário, portanto não será mais comentado daqui em diante   
+//                funcao_pega1();
+//                wait(2);
+//                funcao_pega2();
+//                if(pos_y_pega[programa] !=0){
+//                    lcd.locate(18,1);lcd.printf("OK");    
+//                }
+//                wait(2);
+//                tecla = pega_tecla();
+//                if(tecla!='k'){
+//                    printf("entrou no if");
+//                    continuar = 0;
+//                }
+//            }
              status_tela = "novo";
         }
         else if(tecla == '2' && status_tela == "inicio"){
@@ -1476,7 +1497,8 @@
                 confirmacao_pos_solta[programa]=0;
             }
             }}
-        if(tecla == 'A' && status_tela == "acompanhamento"){           int cont_pipeta = 0;
+        if(confirmacao_pos_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && confirmacao_vol_pega[programa]==0 && confirmacao_pos_solta[programa]==0 && status_tela == "acompanhamento"){           
+            int cont_pipeta = 0;
            float altura;
            
            float pos1[2] = {pos_x_solta[programa], pos_y_solta[programa]} ;