2 Motores + Joystick

Dependencies:   X_NUCLEO_IHM01A1 TextLCD

Fork of HelloWorld_IHM01A1_2Motors_mbedOS by ST

Files at this revision

API Documentation at this revision

Comitter:
leogrotti
Date:
Tue May 22 17:17:58 2018 +0000
Parent:
54:175e4f3682e8
Child:
56:5aedf3b4e184
Commit message:
ihm integrada com codigo

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue May 22 14:08:26 2018 +0000
+++ b/main.cpp	Tue May 22 17:17:58 2018 +0000
@@ -163,9 +163,7 @@
 
 
 /* Main ----------------------------------------------------------------------*/
-
- 
- 
+// função de correção de passos
  int correcao_passo (int passo){
      int passo_verdade;
      if (passo != 0){
@@ -174,10 +172,9 @@
      else {
          passo_verdade = 0;
          }
-     return (passo_verdade);
-     
+     return (passo_verdade);  
      }
- 
+// função salva posição 
  void salva_posicao(){
     listaX[index] = motor2->get_position();
     listaY[index] = motor1->get_position();
@@ -190,11 +187,7 @@
         index = index+1;
         wait_ms(DELAY_2);
     }
-
-void volta_menu() {
-    
-    }
-
+// função percorre caminho
  void vai_caminho_desejado (int listapontosX[10], int listapontosY[10], int listapontosZ[10], int index_local) {
     int PYatual = motor1->get_position();
     int PXatual = motor2->get_position();
@@ -313,10 +306,10 @@
         exit(EXIT_FAILURE);
     }
 
-
+//ligando lcd
     lcd.setBacklight(TextLCD::LightOn);
     lcd.setCursor(TextLCD::CurOff_BlkOff);
-    
+//abrindo menu inicial lcd    
             lcd.cls();
             lcd.setAddress(3,0);
             lcd.printf("MENU PRINCIPAL");
@@ -455,17 +448,31 @@
                         }
                     }
                }
-     
+// vai caminho de um programa ja salvo depois do menu inicial     
     if (botao2 && menu==0) {
+        lcd.cls();
+        lcd.setAddress(0,0);
+        lcd.printf("AGUARDE...");
         vai_caminho_desejado(listaX, listaY, listaZ, index);
-        printf("Vai caminho pressionado %d \r\n", index);
         wait_ms(DELAY_2);
         lcd.cls();
-        lcd.setCursor(TextLCD::CurOff_BlkOff);
-        lcd.setAddress(0,0);
+         lcd.setAddress(3,0);
+        lcd.printf("MENU PRINCIPAL");
+        lcd.setAddress(0,2);
+        lcd.printf("1-SALVAR PONTOS");
+        lcd.setAddress(0,3);
+        lcd.printf("2-INICIAR PROGRAMA"); 
+        menu=0;
+      
         }
-        
+// vai para tela de salvar pontos       
     if (botao1 && menu == 0){
+        for (int i=0; i<11;i++){
+            listaX[i] = 0;
+            listaY[i] = 0;
+            listaZ[i] = 0;
+            } 
+        index = 0;    
         menu = 1;
         lcd.cls();
         lcd.setCursor(TextLCD::CurOff_BlkOff);
@@ -480,7 +487,7 @@
         wait_ms(DELAY_2);
         }
  
-       
+// salva pontos       
     if (botao1 && menu>0 && menu <99){
             lcd.cls();
             salva_posicao();
@@ -495,9 +502,13 @@
             lcd.printf("4-CONCLUIR ");
             menu=menu+1;
         }
-        
+// descarta último ponto      
     if (botao2 && menu>1 && menu <99){
-            lcd.cls();
+            lcd.cls();  
+            listaX[index] = 0;
+            listaY[index] = 0;
+            listaZ[index] = 0; 
+            index = index - 1; 
             menu=menu-1;
             lcd.setCursor(TextLCD::CurOff_BlkOff);
             lcd.setAddress(0,0);
@@ -509,6 +520,7 @@
             lcd.setAddress(0,3);
             lcd.printf("4-CONCLUIR ");
         }
+// cancelar operação (ainda pode voltar atras)
     if (botao3 && menu>0){
             lcd.cls();
             lcd.setAddress(2,0);
@@ -523,6 +535,7 @@
             lcd.printf("2-NAO");
             menu=100;
         }
+// volta da tela de salvar pontos1 para o menu principal
     if (botao2 && menu==1){
             lcd.cls();
             menu=0;
@@ -533,8 +546,14 @@
             lcd.setAddress(0,3);
             lcd.printf("2-INICIAR PROGRAMA");  
             }
- 
+// cancela a operação em definitivo e vai para o menu principal
     if (botao1 && menu==100){
+        for (int i=0; i<11;i++){
+            listaX[i] = 0;
+            listaY[i] = 0;
+            listaZ[i] = 0;
+            } 
+            index = 0;   
             lcd.cls();
             lcd.setAddress(3,0);
             lcd.printf("MENU PRINCIPAL");
@@ -544,6 +563,7 @@
             lcd.printf("2-INICIAR PROGRAMA"); 
             menu=0;
             } 
+// desiste de cancelar a operação e volta a tela de salvar pontos
     if (botao2 && menu==100){
             lcd.cls();
             menu=index;
@@ -557,6 +577,7 @@
             lcd.setAddress(0,3);
             lcd.printf("4-CONCLUIR ");
             } 
+// vai para tela de salvar ponto de retirada
     if (botao4 && menu>0){
             lcd.cls();
             lcd.setAddress(0,0);
@@ -566,7 +587,8 @@
             lcd.setAddress(0,3);
             lcd.printf("2-VOLTAR A SALVAR");
             menu=200;
-        }            
+        }  
+// salva ponto de retirada         
     if (botao1 && menu==200){
             lcd.cls();
             lcd.setAddress(0,0);
@@ -575,15 +597,40 @@
             lcd.printf("DE RETIRADA");
             lcd.setAddress(0,4);
             lcd.printf("1-SALVAR PONTO");
-
             menu= 201;
         }    
+// volta a salvar pontos        
+    if (botao2 && menu==200){
+            lcd.cls();
+            menu=index;
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("1-SALVAR PONTO %i",menu+1);
+            lcd.setAddress(0,1);
+            lcd.printf("2-VOLTAR");
+            lcd.setAddress(0,2);
+            lcd.printf("3-CANCELAR ");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR ");
+            } 
+                    
+// executa o programa e volta para tela inicial         
     if (botao1 && menu==201){
         salva_posicao();
         lcd.cls();
         lcd.setAddress(0,0);
         lcd.printf("AGUARDE...");
-       (vai_caminho_desejado(listaX, listaY, listaZ, index);    
+        vai_caminho_desejado(listaX, listaY, listaZ, index);    
+        /*while (vai_caminho_desejado(listaX, listaY, listaZ, index)){
+            lcd.setAddress(0,0);
+            lcd.printf("AGUARDE   ");
+            lcd.setAddress(0,0);
+            lcd.printf("AGUARDE.  ");
+            lcd.setAddress(0,0);
+            lcd.printf("AGUARDE.. ");
+            lcd.setAddress(0,0);
+            lcd.printf("AGUARDE...");
+            }*/
         lcd.cls();
         lcd.setAddress(3,0);
         lcd.printf("MENU PRINCIPAL");