Final code for Klaus, the glue applying machine.

Dependencies:   mbed TextLCD

Committer:
julianonn
Date:
Fri Jun 14 00:25:17 2019 +0000
Revision:
3:f183d2ffae11
Parent:
2:ad0b044d0a10
Final code for the glue applying machine.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:334327d1a416 1 #include "mbed.h"
simon 0:334327d1a416 2 #include "TextLCD.h"
julianonn 3:f183d2ffae11 3 #include "string"
simon 0:334327d1a416 4
julianonn 3:f183d2ffae11 5 //-----------Botões Anna----------
julianonn 3:f183d2ffae11 6 // ------------------------Portas X ----------------------------
julianonn 3:f183d2ffae11 7 DigitalOut dirX(PC_10);
julianonn 3:f183d2ffae11 8 DigitalOut stepX(PC_12);
julianonn 3:f183d2ffae11 9 DigitalOut enableX(PA_14);
julianonn 3:f183d2ffae11 10
julianonn 3:f183d2ffae11 11
julianonn 3:f183d2ffae11 12 // ------------------------Portas Y ----------------------------
julianonn 3:f183d2ffae11 13 DigitalOut dirY(A1);
julianonn 3:f183d2ffae11 14 DigitalOut stepY(A0);
julianonn 3:f183d2ffae11 15 DigitalOut enableY(PC_3);
julianonn 3:f183d2ffae11 16
julianonn 3:f183d2ffae11 17 // ------------------------Portas Z ----------------------------
julianonn 3:f183d2ffae11 18 DigitalOut dirZ(PB_7);
julianonn 3:f183d2ffae11 19 DigitalOut stepZ(PC_13);
julianonn 3:f183d2ffae11 20 DigitalOut enableZ(A2);
julianonn 3:f183d2ffae11 21
julianonn 3:f183d2ffae11 22 // ------------------------Portas IHM --------------------------
julianonn 3:f183d2ffae11 23 /*DigitalIn mais(A5);
julianonn 3:f183d2ffae11 24 DigitalIn menos(A4);
julianonn 3:f183d2ffae11 25 InterruptIn X(PA_13);
julianonn 3:f183d2ffae11 26 InterruptIn Z(PA_15);*/
julianonn 3:f183d2ffae11 27 /*InterruptIn enter(D9);
julianonn 3:f183d2ffae11 28 InterruptIn X(D10);
julianonn 3:f183d2ffae11 29 InterruptIn Y(D11);
julianonn 3:f183d2ffae11 30 InterruptIn Z(D12);
julianonn 3:f183d2ffae11 31 DigitalIn mais(D13);
julianonn 3:f183d2ffae11 32 DigitalIn menos(D14);*/
julianonn 3:f183d2ffae11 33 InterruptIn enter(A4);
julianonn 3:f183d2ffae11 34 InterruptIn X(PC_2);
julianonn 3:f183d2ffae11 35 InterruptIn Y(D11);
julianonn 3:f183d2ffae11 36 InterruptIn Z(D12);
julianonn 3:f183d2ffae11 37
julianonn 3:f183d2ffae11 38 InterruptIn cancelar(PC_4);
julianonn 3:f183d2ffae11 39
julianonn 3:f183d2ffae11 40 DigitalIn mais(D13);
julianonn 3:f183d2ffae11 41 DigitalIn menos(A3);
julianonn 3:f183d2ffae11 42
julianonn 3:f183d2ffae11 43 DigitalOut LedX(PC_0);
julianonn 3:f183d2ffae11 44 DigitalOut LedY(PC_11);
julianonn 3:f183d2ffae11 45 DigitalOut LedZ(PC_5);
julianonn 3:f183d2ffae11 46
julianonn 3:f183d2ffae11 47 DigitalOut Valvula_embolo(PC_8);
julianonn 3:f183d2ffae11 48 DigitalOut Valvula_ponta(PC_6);
julianonn 3:f183d2ffae11 49
julianonn 3:f183d2ffae11 50 DigitalIn fdcx2(PB_1);
julianonn 3:f183d2ffae11 51 DigitalIn fdcx1(PB_2);
julianonn 3:f183d2ffae11 52 DigitalIn fdcy2(PB_11);
julianonn 3:f183d2ffae11 53 DigitalIn fdcy1(PB_15);
julianonn 3:f183d2ffae11 54 DigitalIn fdcz2(PB_12);
julianonn 3:f183d2ffae11 55 DigitalIn fdcz1(PB_14);
julianonn 3:f183d2ffae11 56
julianonn 3:f183d2ffae11 57 InterruptIn Emergencia(D15);
julianonn 3:f183d2ffae11 58 DigitalIn Emerg(D15);
julianonn 3:f183d2ffae11 59
julianonn 3:f183d2ffae11 60
julianonn 3:f183d2ffae11 61 //Varíaveis auxiliares
julianonn 3:f183d2ffae11 62 int ponto = 0;
julianonn 3:f183d2ffae11 63
julianonn 3:f183d2ffae11 64 int continuax = 0;
julianonn 3:f183d2ffae11 65 int continuay = 0;
julianonn 3:f183d2ffae11 66 int continuaz = 0;
julianonn 3:f183d2ffae11 67 bool seguranca = 1;
julianonn 3:f183d2ffae11 68 bool printou = 0;
julianonn 3:f183d2ffae11 69 bool check_cancela = 1;
julianonn 3:f183d2ffae11 70 int iteracoes = 1;
julianonn 3:f183d2ffae11 71
julianonn 3:f183d2ffae11 72 #define velocidade_jog 20
julianonn 3:f183d2ffae11 73 #define velocidade_padrao 20
julianonn 3:f183d2ffae11 74 #define velocidade_lenta 100
julianonn 3:f183d2ffae11 75 #define velocidade_mais_lenta 300
julianonn 3:f183d2ffae11 76 #define velocidade_rapida 10
julianonn 3:f183d2ffae11 77
julianonn 3:f183d2ffae11 78 int velocidade = velocidade_padrao;
julianonn 3:f183d2ffae11 79 float tempo_acionado;
julianonn 3:f183d2ffae11 80 //--------------------------------
julianonn 3:f183d2ffae11 81
julianonn 3:f183d2ffae11 82 //------Varíaveis Juliano---------
julianonn 3:f183d2ffae11 83 InterruptIn button_UP(D13);//A5);
julianonn 3:f183d2ffae11 84 InterruptIn button_DOWN(A3);//A4);
julianonn 3:f183d2ffae11 85 /*InterruptIn enter(USER_BUTTON);*/
julianonn 3:f183d2ffae11 86
julianonn 3:f183d2ffae11 87 TextLCD lcd(D2, D3, D4, D5, D6, D7, TextLCD::LCD20x4); // rs, e, d4-d7
julianonn 3:f183d2ffae11 88
julianonn 3:f183d2ffae11 89 //Listas Programa e posicao atual do bico
julianonn 3:f183d2ffae11 90 int posicao[3] = {0,0,0};
julianonn 3:f183d2ffae11 91 double passo = 0.0015625;
julianonn 3:f183d2ffae11 92 float passox = 0.0009375f;
julianonn 3:f183d2ffae11 93 float Px;
julianonn 3:f183d2ffae11 94 int trajetoriax[100] = {0,0,0};
julianonn 3:f183d2ffae11 95 int trajetoriay[100] = {0,0,0};
julianonn 3:f183d2ffae11 96 int trajetoriaz[100] = {0,0,0};
julianonn 3:f183d2ffae11 97 int Pcola[100] = {0,1,2,2,1,2,2,2,1,1};
julianonn 3:f183d2ffae11 98 int Pcola_quant[100] = {0,1,2,2,2,2,1,2,2,1};
julianonn 3:f183d2ffae11 99
julianonn 3:f183d2ffae11 100 int tam_pontos = 2;
julianonn 3:f183d2ffae11 101
julianonn 3:f183d2ffae11 102 //Variaveis auxiliares
julianonn 3:f183d2ffae11 103 int fim = 3;
julianonn 3:f183d2ffae11 104 int i = 0;
julianonn 3:f183d2ffae11 105 int aux = 0;
julianonn 3:f183d2ffae11 106 int escolha = 0;
julianonn 3:f183d2ffae11 107
julianonn 3:f183d2ffae11 108 //Listas de menus e variaveis relacionadas aos menus
julianonn 3:f183d2ffae11 109 char* tela_Inicial[6] = {"------Klaus-------","Programa","Referenciar","Teste Vazao"};
julianonn 3:f183d2ffae11 110 char* tela_Programar[5] = {"Voltar","Iniciar Programa","Editar Programa","Novo Programa"};
julianonn 3:f183d2ffae11 111 char* tela_Informacoes[10] = {"Voltar","KLAUS","Desenvolvedores:","Giovana Lemes","Andre Annunziato","Anna","Ana Henrique","Arthur Rizzo","Juliano Nassar"};
julianonn 3:f183d2ffae11 112 char* tela_Editar[4] = {"Voltar","Redefinir","Cola:","Quant:"};
julianonn 3:f183d2ffae11 113 char* tela_Cola_Quant[3] = {"Padrao","Pouco","Muita"};
julianonn 3:f183d2ffae11 114 char* tela_Cola[3] = {"Nao","Ponto","trajeto"};
julianonn 3:f183d2ffae11 115 int tam_Editar = 4;
julianonn 3:f183d2ffae11 116 int tam_Inicial = 4;
julianonn 3:f183d2ffae11 117 int tam_Programar = 4;
julianonn 3:f183d2ffae11 118 int tam_Informacoes = 9;
julianonn 3:f183d2ffae11 119 int tam_Cola= 3;
julianonn 3:f183d2ffae11 120 int tam_Cola_Quant = 3;
julianonn 3:f183d2ffae11 121 int tam;
julianonn 3:f183d2ffae11 122 int select = 0;
julianonn 3:f183d2ffae11 123 int select1 = 0;
julianonn 3:f183d2ffae11 124 //Posicao do cursor
julianonn 3:f183d2ffae11 125 int cursor_row = 0;
julianonn 3:f183d2ffae11 126 int cursor_column = 0;
julianonn 3:f183d2ffae11 127
julianonn 3:f183d2ffae11 128 //Flags para rodar funcoes
julianonn 3:f183d2ffae11 129 bool flagMenu = 1;
julianonn 3:f183d2ffae11 130 bool flagSelect = 0;
julianonn 3:f183d2ffae11 131 bool referencia = 0;
julianonn 3:f183d2ffae11 132
julianonn 3:f183d2ffae11 133
julianonn 3:f183d2ffae11 134 // ------------------------ Movimentação -----------------------------
julianonn 3:f183d2ffae11 135 void atualiza_posicao(int eixo, bool dir) { // eixo: X=0 Y=1 Z=2
julianonn 3:f183d2ffae11 136 if(dir == 1){
julianonn 3:f183d2ffae11 137 posicao[eixo] = posicao[eixo]+ 1;
julianonn 3:f183d2ffae11 138 }
julianonn 3:f183d2ffae11 139 else{
julianonn 3:f183d2ffae11 140 posicao[eixo] = posicao[eixo]- 1;
julianonn 3:f183d2ffae11 141 }
julianonn 3:f183d2ffae11 142 }
julianonn 3:f183d2ffae11 143 void movimentax(bool enable,bool dir,int velocidade){
julianonn 3:f183d2ffae11 144 if(posicao[0]<0 && dir == 0 && referencia ==0 || fdcx1 == 1 && dir ==0 && referencia == 0 || fdcx2 == 1 && dir ==1){
julianonn 3:f183d2ffae11 145 enableX = 1;
julianonn 3:f183d2ffae11 146 }
julianonn 3:f183d2ffae11 147 else{
julianonn 3:f183d2ffae11 148 enableX=enable;
julianonn 3:f183d2ffae11 149 dirX = dir;
julianonn 3:f183d2ffae11 150 stepX = !stepX;
julianonn 3:f183d2ffae11 151 atualiza_posicao(0,dir);
julianonn 3:f183d2ffae11 152 wait_us(velocidade);
julianonn 3:f183d2ffae11 153 stepX = !stepX;
julianonn 3:f183d2ffae11 154 wait_us(velocidade);
julianonn 3:f183d2ffae11 155 }
julianonn 3:f183d2ffae11 156 }
julianonn 3:f183d2ffae11 157
julianonn 3:f183d2ffae11 158 void movimentay(bool enable,bool dir,int velocidade){
julianonn 3:f183d2ffae11 159 if(posicao[1]<0 && dir == 0 && referencia ==0 || fdcy1 == 1 && dir ==0 && referencia == 0 || fdcy2 == 1 && dir ==1){
julianonn 3:f183d2ffae11 160 enableY = 1;
julianonn 3:f183d2ffae11 161 }
julianonn 3:f183d2ffae11 162 else{
julianonn 3:f183d2ffae11 163 enableY=enable;
julianonn 3:f183d2ffae11 164 dirY = dir;
julianonn 3:f183d2ffae11 165 stepY = !stepY;
julianonn 3:f183d2ffae11 166 atualiza_posicao(1,dir);
julianonn 3:f183d2ffae11 167 wait_us(velocidade);
julianonn 3:f183d2ffae11 168 stepY = !stepY;
julianonn 3:f183d2ffae11 169 wait_us(velocidade);
julianonn 3:f183d2ffae11 170 }
julianonn 3:f183d2ffae11 171 }
julianonn 3:f183d2ffae11 172
julianonn 3:f183d2ffae11 173 void movimentaz(bool enable,bool dir,int velocidade){
julianonn 3:f183d2ffae11 174 if(posicao[2]>0 && dir == 1 && referencia ==0 || fdcz1 == 1 && dir ==1 && referencia == 0 || fdcz2 == 1 && dir ==0){
julianonn 3:f183d2ffae11 175 enableZ = 1;
julianonn 3:f183d2ffae11 176 }
julianonn 3:f183d2ffae11 177 else{
julianonn 3:f183d2ffae11 178 enableZ=enable;
julianonn 3:f183d2ffae11 179 dirZ = dir;
julianonn 3:f183d2ffae11 180 stepZ = !stepZ;
julianonn 3:f183d2ffae11 181 atualiza_posicao(2,dir);
julianonn 3:f183d2ffae11 182 wait_us(velocidade);
julianonn 3:f183d2ffae11 183 stepZ = !stepZ;
julianonn 3:f183d2ffae11 184 wait_us(velocidade);
julianonn 3:f183d2ffae11 185 }
julianonn 3:f183d2ffae11 186
julianonn 3:f183d2ffae11 187 }
julianonn 3:f183d2ffae11 188 //------------------------Válvula----------------------------------
julianonn 3:f183d2ffae11 189
julianonn 3:f183d2ffae11 190 void aciona_valvula(){
julianonn 3:f183d2ffae11 191 Valvula_embolo = 1;
julianonn 3:f183d2ffae11 192 Valvula_ponta = 0;
julianonn 3:f183d2ffae11 193 }
julianonn 3:f183d2ffae11 194
julianonn 3:f183d2ffae11 195 void desliga_valvula(){
julianonn 3:f183d2ffae11 196 Valvula_embolo = 0;
julianonn 3:f183d2ffae11 197 Valvula_ponta = 1;
julianonn 3:f183d2ffae11 198 }
julianonn 3:f183d2ffae11 199
julianonn 3:f183d2ffae11 200 void aciona_eixos()
julianonn 3:f183d2ffae11 201 {
julianonn 3:f183d2ffae11 202 X.enable_irq();
julianonn 3:f183d2ffae11 203 Y.enable_irq();
julianonn 3:f183d2ffae11 204 Z.enable_irq();
julianonn 3:f183d2ffae11 205
julianonn 3:f183d2ffae11 206 }
julianonn 3:f183d2ffae11 207
julianonn 3:f183d2ffae11 208 void desliga_eixos()
julianonn 3:f183d2ffae11 209 {
julianonn 3:f183d2ffae11 210 X.disable_irq();
julianonn 3:f183d2ffae11 211 Y.disable_irq();
julianonn 3:f183d2ffae11 212 Z.disable_irq();
julianonn 3:f183d2ffae11 213 }
julianonn 3:f183d2ffae11 214 //--------------------------------
julianonn 3:f183d2ffae11 215 void pressionado(){
julianonn 3:f183d2ffae11 216 if (printou == 0){
julianonn 3:f183d2ffae11 217 desliga_valvula();
julianonn 3:f183d2ffae11 218 enableX = 1;
julianonn 3:f183d2ffae11 219 enableY = 1;
julianonn 3:f183d2ffae11 220 enableZ = 1;
julianonn 3:f183d2ffae11 221 lcd.cls();
julianonn 3:f183d2ffae11 222 lcd.locate(5,0);
julianonn 3:f183d2ffae11 223 lcd.printf("EMERGENCIA\n MAQUINA DESLIGADA");
julianonn 3:f183d2ffae11 224 LedX = 0;
julianonn 3:f183d2ffae11 225 LedY = 0;
julianonn 3:f183d2ffae11 226 LedZ = 0;
julianonn 3:f183d2ffae11 227 desliga_eixos();
julianonn 3:f183d2ffae11 228 printou = 1;
julianonn 3:f183d2ffae11 229 }
julianonn 3:f183d2ffae11 230 }
julianonn 3:f183d2ffae11 231
julianonn 3:f183d2ffae11 232 // ------------------- Referenciamento ------------------------------
julianonn 3:f183d2ffae11 233 void posicao_ref(int eixo){
julianonn 3:f183d2ffae11 234 posicao[eixo]= 0;
julianonn 3:f183d2ffae11 235 }
julianonn 3:f183d2ffae11 236
julianonn 3:f183d2ffae11 237 void referenciamentox(){
julianonn 3:f183d2ffae11 238 if(seguranca){
julianonn 3:f183d2ffae11 239 while(fdcx1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 240 if (seguranca){
julianonn 3:f183d2ffae11 241 movimentax(0,0,velocidade_rapida); // 1 = pra esquerda, pra porta
julianonn 3:f183d2ffae11 242 }
julianonn 3:f183d2ffae11 243 else{
julianonn 3:f183d2ffae11 244 break;
julianonn 3:f183d2ffae11 245 }
julianonn 3:f183d2ffae11 246 }
julianonn 3:f183d2ffae11 247 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 248 int i = 0;
julianonn 3:f183d2ffae11 249 while (i<10000 && check_cancela){
julianonn 3:f183d2ffae11 250 if (seguranca){
julianonn 3:f183d2ffae11 251 movimentax(0,1,velocidade_padrao);
julianonn 3:f183d2ffae11 252 i=i+1;
julianonn 3:f183d2ffae11 253 }
julianonn 3:f183d2ffae11 254 else{
julianonn 3:f183d2ffae11 255 break;
julianonn 3:f183d2ffae11 256 }
julianonn 3:f183d2ffae11 257 }
julianonn 3:f183d2ffae11 258 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 259 while (fdcx1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 260 if (seguranca){
julianonn 3:f183d2ffae11 261 movimentax(0,0,velocidade_lenta);
julianonn 3:f183d2ffae11 262 }
julianonn 3:f183d2ffae11 263 else{
julianonn 3:f183d2ffae11 264 break;
julianonn 3:f183d2ffae11 265 }
julianonn 3:f183d2ffae11 266 }
julianonn 3:f183d2ffae11 267 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 268 i = 0;
julianonn 3:f183d2ffae11 269 while (i < 5000 && check_cancela){
julianonn 3:f183d2ffae11 270 if (seguranca){
julianonn 3:f183d2ffae11 271 movimentax(0,1,velocidade_lenta);
julianonn 3:f183d2ffae11 272 i=i+1;
julianonn 3:f183d2ffae11 273 }
julianonn 3:f183d2ffae11 274 else{
julianonn 3:f183d2ffae11 275 break;
julianonn 3:f183d2ffae11 276 }
julianonn 3:f183d2ffae11 277 }
julianonn 3:f183d2ffae11 278 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 279 while (fdcx1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 280 if (seguranca){
julianonn 3:f183d2ffae11 281 movimentax(0,0,velocidade_mais_lenta);
julianonn 3:f183d2ffae11 282 }
julianonn 3:f183d2ffae11 283 else{
julianonn 3:f183d2ffae11 284 break;
julianonn 3:f183d2ffae11 285 }
julianonn 3:f183d2ffae11 286 }
julianonn 3:f183d2ffae11 287 if(seguranca){
julianonn 3:f183d2ffae11 288 wait(0.1);
julianonn 3:f183d2ffae11 289 enableX = 1;
julianonn 3:f183d2ffae11 290 posicao_ref(0);
julianonn 3:f183d2ffae11 291 }
julianonn 3:f183d2ffae11 292 else{
julianonn 3:f183d2ffae11 293 pressionado();
julianonn 3:f183d2ffae11 294 }
julianonn 3:f183d2ffae11 295 }
julianonn 3:f183d2ffae11 296 else{
julianonn 3:f183d2ffae11 297 pressionado();
julianonn 3:f183d2ffae11 298 }
julianonn 3:f183d2ffae11 299
julianonn 3:f183d2ffae11 300 }
julianonn 3:f183d2ffae11 301
julianonn 3:f183d2ffae11 302
julianonn 3:f183d2ffae11 303 void referenciamentoy(){
julianonn 3:f183d2ffae11 304 while(fdcy1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 305 if (seguranca){
julianonn 3:f183d2ffae11 306 movimentay(0,0,velocidade_rapida); // 1 = pra direita -> mais pra perto de nós // aplicar seguranca x
julianonn 3:f183d2ffae11 307 }
julianonn 3:f183d2ffae11 308 else{
julianonn 3:f183d2ffae11 309 pressionado();
julianonn 3:f183d2ffae11 310 break;
julianonn 3:f183d2ffae11 311 }
julianonn 3:f183d2ffae11 312 }
julianonn 3:f183d2ffae11 313 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 314 int i = 0;
julianonn 3:f183d2ffae11 315 while (i<10000 && check_cancela){
julianonn 3:f183d2ffae11 316 if (seguranca){
julianonn 3:f183d2ffae11 317 movimentay(0,1,velocidade_padrao);
julianonn 3:f183d2ffae11 318 i=i+1;
julianonn 3:f183d2ffae11 319 }
julianonn 3:f183d2ffae11 320 else{
julianonn 3:f183d2ffae11 321 pressionado();
julianonn 3:f183d2ffae11 322 break;
julianonn 3:f183d2ffae11 323 }
julianonn 3:f183d2ffae11 324 }
julianonn 3:f183d2ffae11 325 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 326 while (fdcy1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 327 if (seguranca){
julianonn 3:f183d2ffae11 328 movimentay(0,0,velocidade_lenta);
julianonn 3:f183d2ffae11 329 }
julianonn 3:f183d2ffae11 330 else{
julianonn 3:f183d2ffae11 331 pressionado();
julianonn 3:f183d2ffae11 332 break;
julianonn 3:f183d2ffae11 333 }
julianonn 3:f183d2ffae11 334 }
julianonn 3:f183d2ffae11 335 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 336 i = 0;
julianonn 3:f183d2ffae11 337 while (i < 5000 && check_cancela){
julianonn 3:f183d2ffae11 338 if (seguranca){
julianonn 3:f183d2ffae11 339 movimentay(0,1,velocidade_lenta);
julianonn 3:f183d2ffae11 340 i=i+1;
julianonn 3:f183d2ffae11 341 }
julianonn 3:f183d2ffae11 342 else{
julianonn 3:f183d2ffae11 343 pressionado();
julianonn 3:f183d2ffae11 344 break;
julianonn 3:f183d2ffae11 345 }
julianonn 3:f183d2ffae11 346 }
julianonn 3:f183d2ffae11 347 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 348 while (fdcy1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 349 if (seguranca){
julianonn 3:f183d2ffae11 350 movimentay(0,0,velocidade_mais_lenta);
julianonn 3:f183d2ffae11 351 }
julianonn 3:f183d2ffae11 352 else{
julianonn 3:f183d2ffae11 353 pressionado();
julianonn 3:f183d2ffae11 354 break;
julianonn 3:f183d2ffae11 355 }
julianonn 3:f183d2ffae11 356 }
julianonn 3:f183d2ffae11 357 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 358 enableY = 1;
julianonn 3:f183d2ffae11 359 posicao_ref(1);
julianonn 3:f183d2ffae11 360
julianonn 3:f183d2ffae11 361 }
julianonn 3:f183d2ffae11 362
julianonn 3:f183d2ffae11 363
julianonn 3:f183d2ffae11 364 void referenciamentoz(){
julianonn 3:f183d2ffae11 365 while(fdcz1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 366 if (seguranca){
julianonn 3:f183d2ffae11 367 movimentaz(0,1,velocidade_padrao);
julianonn 3:f183d2ffae11 368 }
julianonn 3:f183d2ffae11 369 else{
julianonn 3:f183d2ffae11 370 pressionado();
julianonn 3:f183d2ffae11 371 break;
julianonn 3:f183d2ffae11 372 }
julianonn 3:f183d2ffae11 373 }
julianonn 3:f183d2ffae11 374 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 375 int i = 0;
julianonn 3:f183d2ffae11 376 while (i<10000 && check_cancela){
julianonn 3:f183d2ffae11 377 if (seguranca){
julianonn 3:f183d2ffae11 378 movimentaz(0,0,velocidade_padrao);
julianonn 3:f183d2ffae11 379 i=i+1;
julianonn 3:f183d2ffae11 380 }
julianonn 3:f183d2ffae11 381 else{
julianonn 3:f183d2ffae11 382 pressionado();
julianonn 3:f183d2ffae11 383 break;
julianonn 3:f183d2ffae11 384 }
julianonn 3:f183d2ffae11 385 }
julianonn 3:f183d2ffae11 386 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 387 while (fdcz1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 388 if (seguranca){
julianonn 3:f183d2ffae11 389 movimentaz(0,1,velocidade_lenta);
julianonn 3:f183d2ffae11 390 }
julianonn 3:f183d2ffae11 391 else{
julianonn 3:f183d2ffae11 392 pressionado();
julianonn 3:f183d2ffae11 393 break;
julianonn 3:f183d2ffae11 394 }
julianonn 3:f183d2ffae11 395 }
julianonn 3:f183d2ffae11 396 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 397 i = 0;
julianonn 3:f183d2ffae11 398 while (i < 5000 && check_cancela){
julianonn 3:f183d2ffae11 399 if (seguranca){
julianonn 3:f183d2ffae11 400 movimentaz(0,0,velocidade_lenta);
julianonn 3:f183d2ffae11 401 i=i+1;
julianonn 3:f183d2ffae11 402 }
julianonn 3:f183d2ffae11 403 else{
julianonn 3:f183d2ffae11 404 pressionado();
julianonn 3:f183d2ffae11 405 break;
julianonn 3:f183d2ffae11 406 }
julianonn 3:f183d2ffae11 407 }
julianonn 3:f183d2ffae11 408 if(seguranca){wait(0.1);}
julianonn 3:f183d2ffae11 409 while (fdcz1 == 0 && check_cancela){
julianonn 3:f183d2ffae11 410 if (seguranca){
julianonn 3:f183d2ffae11 411 movimentaz(0,1,velocidade_mais_lenta);
julianonn 3:f183d2ffae11 412 }
julianonn 3:f183d2ffae11 413 else{
julianonn 3:f183d2ffae11 414 pressionado();
julianonn 3:f183d2ffae11 415 break;
julianonn 3:f183d2ffae11 416 }
julianonn 3:f183d2ffae11 417 }
julianonn 3:f183d2ffae11 418 wait(0.1);
julianonn 3:f183d2ffae11 419 enableZ = 1;
julianonn 3:f183d2ffae11 420 posicao_ref(2);
julianonn 3:f183d2ffae11 421 //lcd.cls();
julianonn 3:f183d2ffae11 422
julianonn 3:f183d2ffae11 423 }
julianonn 3:f183d2ffae11 424
julianonn 3:f183d2ffae11 425 void referenciamento(){
julianonn 3:f183d2ffae11 426 referencia = 1;
julianonn 3:f183d2ffae11 427 referenciamentox();
julianonn 3:f183d2ffae11 428 referenciamentoy();
julianonn 3:f183d2ffae11 429 referenciamentoz();
julianonn 3:f183d2ffae11 430 referencia = 0;
julianonn 3:f183d2ffae11 431 }
julianonn 3:f183d2ffae11 432
julianonn 3:f183d2ffae11 433 //------------------------------------------------------------
julianonn 3:f183d2ffae11 434 void cancela()
julianonn 3:f183d2ffae11 435 {
julianonn 3:f183d2ffae11 436 check_cancela = 0;
julianonn 3:f183d2ffae11 437 desliga_eixos();
julianonn 3:f183d2ffae11 438 LedX = 0;
julianonn 3:f183d2ffae11 439 LedY= 0;
julianonn 3:f183d2ffae11 440 LedZ= 0;
julianonn 3:f183d2ffae11 441 }
julianonn 3:f183d2ffae11 442
julianonn 3:f183d2ffae11 443 void disable_buttons()
julianonn 3:f183d2ffae11 444 {
julianonn 3:f183d2ffae11 445 button_UP.disable_irq();
julianonn 3:f183d2ffae11 446 button_DOWN.disable_irq();
julianonn 3:f183d2ffae11 447 enter.disable_irq();
julianonn 3:f183d2ffae11 448 }
julianonn 3:f183d2ffae11 449
julianonn 3:f183d2ffae11 450 void enable_buttons()
julianonn 3:f183d2ffae11 451 {
julianonn 3:f183d2ffae11 452 button_UP.enable_irq();
julianonn 3:f183d2ffae11 453 button_DOWN.enable_irq();
julianonn 3:f183d2ffae11 454 enter.enable_irq();
julianonn 3:f183d2ffae11 455
julianonn 3:f183d2ffae11 456 }
julianonn 3:f183d2ffae11 457
julianonn 3:f183d2ffae11 458 //Cursor para cima e atualiza o Menu
julianonn 3:f183d2ffae11 459 void change_menu_UP(void)
julianonn 3:f183d2ffae11 460 {
julianonn 3:f183d2ffae11 461 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 462 cursor_row-=1;
julianonn 3:f183d2ffae11 463 }
julianonn 3:f183d2ffae11 464
julianonn 3:f183d2ffae11 465 //Cursor para baixo e atualiza o Menu
julianonn 3:f183d2ffae11 466 void change_menu_DOWN(void)
julianonn 3:f183d2ffae11 467 {
julianonn 3:f183d2ffae11 468 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 469 cursor_row+=1;
julianonn 3:f183d2ffae11 470 }
julianonn 3:f183d2ffae11 471
julianonn 3:f183d2ffae11 472 //Seleciona o menu
julianonn 3:f183d2ffae11 473 void select_menu(void)
julianonn 3:f183d2ffae11 474 {
julianonn 3:f183d2ffae11 475 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 476 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 477 }
julianonn 3:f183d2ffae11 478
julianonn 3:f183d2ffae11 479 void define_fim(int limite)
julianonn 3:f183d2ffae11 480 {
julianonn 3:f183d2ffae11 481 lcd.cls();
julianonn 3:f183d2ffae11 482 if(select == 0 && select1 ==0)
julianonn 3:f183d2ffae11 483 {
julianonn 3:f183d2ffae11 484 if (cursor_row >= 3)
julianonn 3:f183d2ffae11 485 {
julianonn 3:f183d2ffae11 486 fim = cursor_row;
julianonn 3:f183d2ffae11 487 i = cursor_row - 3;
julianonn 3:f183d2ffae11 488 }
julianonn 3:f183d2ffae11 489 if (cursor_row <1)
julianonn 3:f183d2ffae11 490 {
julianonn 3:f183d2ffae11 491 fim = tam-1;
julianonn 3:f183d2ffae11 492 cursor_row = tam-1;
julianonn 3:f183d2ffae11 493 i = cursor_row - 3;
julianonn 3:f183d2ffae11 494 }
julianonn 3:f183d2ffae11 495 if (cursor_row >= tam)
julianonn 3:f183d2ffae11 496 {
julianonn 3:f183d2ffae11 497 cursor_row = 1;
julianonn 3:f183d2ffae11 498 fim = 3;
julianonn 3:f183d2ffae11 499 i = 0;
julianonn 3:f183d2ffae11 500 }
julianonn 3:f183d2ffae11 501 if (tam < 4)
julianonn 3:f183d2ffae11 502 {
julianonn 3:f183d2ffae11 503 fim = tam-1;
julianonn 3:f183d2ffae11 504 i= 0;
julianonn 3:f183d2ffae11 505 }
julianonn 3:f183d2ffae11 506 }
julianonn 3:f183d2ffae11 507 else
julianonn 3:f183d2ffae11 508 {
julianonn 3:f183d2ffae11 509 if (cursor_row >= 3)
julianonn 3:f183d2ffae11 510 {
julianonn 3:f183d2ffae11 511 fim = cursor_row;
julianonn 3:f183d2ffae11 512 i = cursor_row - 3;
julianonn 3:f183d2ffae11 513 }
julianonn 3:f183d2ffae11 514 if (cursor_row <limite)
julianonn 3:f183d2ffae11 515 {
julianonn 3:f183d2ffae11 516 fim = limite + tam-1;
julianonn 3:f183d2ffae11 517 cursor_row = limite + tam-1;
julianonn 3:f183d2ffae11 518 i = cursor_row - 3 - limite;
julianonn 3:f183d2ffae11 519 }
julianonn 3:f183d2ffae11 520 if (cursor_row >= tam+limite)
julianonn 3:f183d2ffae11 521 {
julianonn 3:f183d2ffae11 522 cursor_row = limite;
julianonn 3:f183d2ffae11 523 fim = 3-limite;
julianonn 3:f183d2ffae11 524 i = 0;
julianonn 3:f183d2ffae11 525
julianonn 3:f183d2ffae11 526 }
julianonn 3:f183d2ffae11 527 if (tam < 4)
julianonn 3:f183d2ffae11 528 {
julianonn 3:f183d2ffae11 529 fim = tam-1;
julianonn 3:f183d2ffae11 530 i= 0;
julianonn 3:f183d2ffae11 531 }
julianonn 3:f183d2ffae11 532 else
julianonn 3:f183d2ffae11 533 {
julianonn 3:f183d2ffae11 534 fim = 3;
julianonn 3:f183d2ffae11 535 i = 0;
julianonn 3:f183d2ffae11 536 }
julianonn 3:f183d2ffae11 537 }
julianonn 3:f183d2ffae11 538 }
julianonn 3:f183d2ffae11 539
julianonn 3:f183d2ffae11 540 void posiciona_cursor(int column)
julianonn 3:f183d2ffae11 541 {
julianonn 3:f183d2ffae11 542 if (cursor_row >3)
julianonn 3:f183d2ffae11 543 {
julianonn 3:f183d2ffae11 544 lcd.locate(column,3);
julianonn 3:f183d2ffae11 545 }
julianonn 3:f183d2ffae11 546 else
julianonn 3:f183d2ffae11 547 {
julianonn 3:f183d2ffae11 548 lcd.locate(column,cursor_row);
julianonn 3:f183d2ffae11 549 }
julianonn 3:f183d2ffae11 550 lcd.printf(">");
julianonn 3:f183d2ffae11 551 aux = 0;
julianonn 3:f183d2ffae11 552 i = 0;
julianonn 3:f183d2ffae11 553 wait(0.15);
julianonn 3:f183d2ffae11 554 }
julianonn 3:f183d2ffae11 555
julianonn 3:f183d2ffae11 556 //Mostra o menu inicial
julianonn 3:f183d2ffae11 557 void Menu_Inicial()
julianonn 3:f183d2ffae11 558 {
julianonn 3:f183d2ffae11 559 tam = tam_Inicial;
julianonn 3:f183d2ffae11 560 define_fim(0);
julianonn 3:f183d2ffae11 561 while(i<=fim)
julianonn 3:f183d2ffae11 562 {
julianonn 3:f183d2ffae11 563 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 564 lcd.printf(tela_Inicial[i]);
julianonn 3:f183d2ffae11 565 i+=1;
julianonn 3:f183d2ffae11 566 aux+=1;
julianonn 3:f183d2ffae11 567 }
julianonn 3:f183d2ffae11 568 posiciona_cursor(0);
julianonn 3:f183d2ffae11 569 }
julianonn 3:f183d2ffae11 570
julianonn 3:f183d2ffae11 571 //Mostra o menu progamar
julianonn 3:f183d2ffae11 572 void Menu_Programar()
julianonn 3:f183d2ffae11 573 {
julianonn 3:f183d2ffae11 574 tam = tam_Programar;
julianonn 3:f183d2ffae11 575 define_fim(0);
julianonn 3:f183d2ffae11 576 while(i<=fim)
julianonn 3:f183d2ffae11 577 {
julianonn 3:f183d2ffae11 578 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 579 lcd.printf(tela_Programar[i]);
julianonn 3:f183d2ffae11 580 i+=1;
julianonn 3:f183d2ffae11 581 aux+=1;
julianonn 3:f183d2ffae11 582 }
julianonn 3:f183d2ffae11 583 posiciona_cursor(0);
julianonn 3:f183d2ffae11 584 }
julianonn 3:f183d2ffae11 585
julianonn 3:f183d2ffae11 586 void edit_ponto()
julianonn 3:f183d2ffae11 587 {
julianonn 3:f183d2ffae11 588 select1 = -1;
julianonn 3:f183d2ffae11 589 cursor_row = 0;
julianonn 3:f183d2ffae11 590 int dir = 0;
julianonn 3:f183d2ffae11 591 int save_pos = 0;
julianonn 3:f183d2ffae11 592 while(check_cancela)
julianonn 3:f183d2ffae11 593 {
julianonn 3:f183d2ffae11 594 if(seguranca)
julianonn 3:f183d2ffae11 595 {
julianonn 3:f183d2ffae11 596 if(flagMenu)
julianonn 3:f183d2ffae11 597 {
julianonn 3:f183d2ffae11 598 lcd.cls();
julianonn 3:f183d2ffae11 599 disable_buttons();
julianonn 3:f183d2ffae11 600
julianonn 3:f183d2ffae11 601 if(flagSelect)
julianonn 3:f183d2ffae11 602 {
julianonn 3:f183d2ffae11 603 select1 = cursor_row;
julianonn 3:f183d2ffae11 604 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 605 }
julianonn 3:f183d2ffae11 606
julianonn 3:f183d2ffae11 607 if (select1 == 0)
julianonn 3:f183d2ffae11 608 {
julianonn 3:f183d2ffae11 609 flagMenu = 0;
julianonn 3:f183d2ffae11 610 break;
julianonn 3:f183d2ffae11 611 }
julianonn 3:f183d2ffae11 612
julianonn 3:f183d2ffae11 613 switch(select1)
julianonn 3:f183d2ffae11 614 {
julianonn 3:f183d2ffae11 615
julianonn 3:f183d2ffae11 616 case 1:
julianonn 3:f183d2ffae11 617 wait(0.2);
julianonn 3:f183d2ffae11 618 flagSelect = 0;
julianonn 3:f183d2ffae11 619 flagMenu = 1;
julianonn 3:f183d2ffae11 620 enable_buttons();
julianonn 3:f183d2ffae11 621
julianonn 3:f183d2ffae11 622 while(check_cancela)
julianonn 3:f183d2ffae11 623 {
julianonn 3:f183d2ffae11 624 if(seguranca)
julianonn 3:f183d2ffae11 625 {
julianonn 3:f183d2ffae11 626 if(flagMenu)
julianonn 3:f183d2ffae11 627 {
julianonn 3:f183d2ffae11 628 disable_buttons();
julianonn 3:f183d2ffae11 629 if (flagSelect)
julianonn 3:f183d2ffae11 630 {
julianonn 3:f183d2ffae11 631 select1 = -1;
julianonn 3:f183d2ffae11 632 cursor_row = select - 3;
julianonn 3:f183d2ffae11 633 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 634 break;
julianonn 3:f183d2ffae11 635 }
julianonn 3:f183d2ffae11 636
julianonn 3:f183d2ffae11 637 aciona_eixos();
julianonn 3:f183d2ffae11 638
julianonn 3:f183d2ffae11 639 if (mais==1)
julianonn 3:f183d2ffae11 640 {
julianonn 3:f183d2ffae11 641 dir = 1;
julianonn 3:f183d2ffae11 642 }
julianonn 3:f183d2ffae11 643 else if (menos==1)
julianonn 3:f183d2ffae11 644 {
julianonn 3:f183d2ffae11 645 dir = 0;
julianonn 3:f183d2ffae11 646 }
julianonn 3:f183d2ffae11 647
julianonn 3:f183d2ffae11 648 if (mais ==1 || menos==1)
julianonn 3:f183d2ffae11 649 {
julianonn 3:f183d2ffae11 650 if(seguranca){
julianonn 3:f183d2ffae11 651 lcd.cls();
julianonn 3:f183d2ffae11 652 lcd.locate(0,1);
julianonn 3:f183d2ffae11 653 if(continuax && posicao[0]<=0 && dir == 0|| continuax && fdcx1 == 1 && dir ==0){
julianonn 3:f183d2ffae11 654 lcd.printf("Final do curso x \n disponivel");
julianonn 3:f183d2ffae11 655 }
julianonn 3:f183d2ffae11 656 else if (continuax){
julianonn 3:f183d2ffae11 657 lcd.printf("Movimentando eixo x");
julianonn 3:f183d2ffae11 658 }
julianonn 3:f183d2ffae11 659 else if(continuay && posicao[1]<0 && dir == 0 || continuay && fdcy1 == 1 && dir ==0){
julianonn 3:f183d2ffae11 660 lcd.printf("Final do curso y \n disponivel");
julianonn 3:f183d2ffae11 661 }
julianonn 3:f183d2ffae11 662 else if(continuay){
julianonn 3:f183d2ffae11 663 lcd.printf("Movimentando eixo y");
julianonn 3:f183d2ffae11 664 }
julianonn 3:f183d2ffae11 665 else if(continuaz && posicao[2]<0 && dir == 0 || continuaz && fdcz1 == 1 && dir ==0){
julianonn 3:f183d2ffae11 666 lcd.printf("Final do curso z \n disponivel");
julianonn 3:f183d2ffae11 667 }
julianonn 3:f183d2ffae11 668 else if (continuaz){
julianonn 3:f183d2ffae11 669 lcd.printf("Movimentando eixo z");
julianonn 3:f183d2ffae11 670 }
julianonn 3:f183d2ffae11 671 else{
julianonn 3:f183d2ffae11 672 lcd.locate(2,1);
julianonn 3:f183d2ffae11 673 lcd.printf("Selecione um eixo");
julianonn 3:f183d2ffae11 674 }
julianonn 3:f183d2ffae11 675 }
julianonn 3:f183d2ffae11 676 else{
julianonn 3:f183d2ffae11 677 pressionado();
julianonn 3:f183d2ffae11 678 }
julianonn 3:f183d2ffae11 679 }
julianonn 3:f183d2ffae11 680
julianonn 3:f183d2ffae11 681 while(mais ==1 || menos==1 && check_cancela)
julianonn 3:f183d2ffae11 682 { if(seguranca)
julianonn 3:f183d2ffae11 683 {
julianonn 3:f183d2ffae11 684 if(continuax)
julianonn 3:f183d2ffae11 685 {
julianonn 3:f183d2ffae11 686 movimentax(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 687 }
julianonn 3:f183d2ffae11 688 else if(continuay)
julianonn 3:f183d2ffae11 689 {
julianonn 3:f183d2ffae11 690 movimentay(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 691 }
julianonn 3:f183d2ffae11 692 else if(continuaz)
julianonn 3:f183d2ffae11 693 {
julianonn 3:f183d2ffae11 694 movimentaz(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 695 }
julianonn 3:f183d2ffae11 696 }
julianonn 3:f183d2ffae11 697 else
julianonn 3:f183d2ffae11 698 {
julianonn 3:f183d2ffae11 699 pressionado();
julianonn 3:f183d2ffae11 700 break;
julianonn 3:f183d2ffae11 701 }
julianonn 3:f183d2ffae11 702 }
julianonn 3:f183d2ffae11 703 if(seguranca)
julianonn 3:f183d2ffae11 704 {
julianonn 3:f183d2ffae11 705 lcd.cls();
julianonn 3:f183d2ffae11 706 enableX = 1;
julianonn 3:f183d2ffae11 707 enableY = 1;
julianonn 3:f183d2ffae11 708 enableZ = 1;
julianonn 3:f183d2ffae11 709 lcd.locate(0,0);
julianonn 3:f183d2ffae11 710 lcd.printf("x:");
julianonn 3:f183d2ffae11 711 lcd.locate(0,1);
julianonn 3:f183d2ffae11 712 lcd.printf("%.2f",posicao[0]*passox);
julianonn 3:f183d2ffae11 713 lcd.locate(7,0);
julianonn 3:f183d2ffae11 714 lcd.printf("y:");
julianonn 3:f183d2ffae11 715 lcd.locate(7,1);
julianonn 3:f183d2ffae11 716 lcd.printf("%.2f",posicao[1]*passo);
julianonn 3:f183d2ffae11 717 lcd.locate(14,0);
julianonn 3:f183d2ffae11 718 lcd.printf("z:");
julianonn 3:f183d2ffae11 719 lcd.locate(14,1);
julianonn 3:f183d2ffae11 720 lcd.printf("%.2f",posicao[2]*passo);
julianonn 3:f183d2ffae11 721
julianonn 3:f183d2ffae11 722 lcd.locate(0,3);
julianonn 3:f183d2ffae11 723 lcd.printf(">Definir Ponto %d",select - 2);
julianonn 3:f183d2ffae11 724 }
julianonn 3:f183d2ffae11 725 else
julianonn 3:f183d2ffae11 726 {
julianonn 3:f183d2ffae11 727 pressionado();
julianonn 3:f183d2ffae11 728 }
julianonn 3:f183d2ffae11 729 enable_buttons();
julianonn 3:f183d2ffae11 730 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 731 }
julianonn 3:f183d2ffae11 732 }
julianonn 3:f183d2ffae11 733
julianonn 3:f183d2ffae11 734 else
julianonn 3:f183d2ffae11 735 {
julianonn 3:f183d2ffae11 736 save_pos = select;
julianonn 3:f183d2ffae11 737 while(!seguranca)
julianonn 3:f183d2ffae11 738 {
julianonn 3:f183d2ffae11 739 pressionado();
julianonn 3:f183d2ffae11 740 }
julianonn 3:f183d2ffae11 741 seguranca = 1;
julianonn 3:f183d2ffae11 742 select1 = -1;
julianonn 3:f183d2ffae11 743 select = save_pos;
julianonn 3:f183d2ffae11 744 cursor_row = 0;
julianonn 3:f183d2ffae11 745 flagMenu = 0;
julianonn 3:f183d2ffae11 746 printou = 0;
julianonn 3:f183d2ffae11 747 break;
julianonn 3:f183d2ffae11 748 }
julianonn 3:f183d2ffae11 749 }
julianonn 3:f183d2ffae11 750 LedX = 0;
julianonn 3:f183d2ffae11 751 LedY = 0;
julianonn 3:f183d2ffae11 752 LedZ= 0;
julianonn 3:f183d2ffae11 753
julianonn 3:f183d2ffae11 754 if(check_cancela)
julianonn 3:f183d2ffae11 755 {
julianonn 3:f183d2ffae11 756 trajetoriax[select-3] = posicao[0];
julianonn 3:f183d2ffae11 757 trajetoriay[select-3] = posicao[1];
julianonn 3:f183d2ffae11 758 trajetoriaz[select-3] = posicao[2];
julianonn 3:f183d2ffae11 759 select1 = -1;
julianonn 3:f183d2ffae11 760 cursor_row = select - 3;
julianonn 3:f183d2ffae11 761 }
julianonn 3:f183d2ffae11 762 LedX = 0;
julianonn 3:f183d2ffae11 763 LedY = 0;
julianonn 3:f183d2ffae11 764 LedZ = 0;
julianonn 3:f183d2ffae11 765 check_cancela = 1;
julianonn 3:f183d2ffae11 766 break;
julianonn 3:f183d2ffae11 767 case 2:
julianonn 3:f183d2ffae11 768 Pcola[select-3] += 1;
julianonn 3:f183d2ffae11 769 if (Pcola[select-3]>2)
julianonn 3:f183d2ffae11 770 {
julianonn 3:f183d2ffae11 771 Pcola[select-3] = 0;
julianonn 3:f183d2ffae11 772 }
julianonn 3:f183d2ffae11 773 if (Pcola[select-3]>1 && select-3 ==0)
julianonn 3:f183d2ffae11 774 {
julianonn 3:f183d2ffae11 775 Pcola[select-3] = 0;
julianonn 3:f183d2ffae11 776 }
julianonn 3:f183d2ffae11 777 break;
julianonn 3:f183d2ffae11 778 case 3:
julianonn 3:f183d2ffae11 779 Pcola_quant[select-3] += 1;
julianonn 3:f183d2ffae11 780 if (Pcola_quant[select-3]>2)
julianonn 3:f183d2ffae11 781 {
julianonn 3:f183d2ffae11 782 Pcola_quant[select-3] = 0;
julianonn 3:f183d2ffae11 783 }
julianonn 3:f183d2ffae11 784 break;
julianonn 3:f183d2ffae11 785 }
julianonn 3:f183d2ffae11 786 select1 = -1;
julianonn 3:f183d2ffae11 787
julianonn 3:f183d2ffae11 788 switch(Pcola[select-3])
julianonn 3:f183d2ffae11 789 {
julianonn 3:f183d2ffae11 790 case 0:
julianonn 3:f183d2ffae11 791 tela_Editar[2] = "Cola:nao";
julianonn 3:f183d2ffae11 792 break;
julianonn 3:f183d2ffae11 793 case 1:
julianonn 3:f183d2ffae11 794 tela_Editar[2] ="Cola:ponto";
julianonn 3:f183d2ffae11 795 break;
julianonn 3:f183d2ffae11 796 case 2:
julianonn 3:f183d2ffae11 797 tela_Editar[2] ="Cola:traj";
julianonn 3:f183d2ffae11 798 break;
julianonn 3:f183d2ffae11 799 }
julianonn 3:f183d2ffae11 800 switch(Pcola_quant[select-3])
julianonn 3:f183d2ffae11 801 {
julianonn 3:f183d2ffae11 802 case 0:
julianonn 3:f183d2ffae11 803 tela_Editar[3] ="Qtd:Padr";
julianonn 3:f183d2ffae11 804 break;
julianonn 3:f183d2ffae11 805 case 1:
julianonn 3:f183d2ffae11 806 tela_Editar[3] ="Qtd:pouco";
julianonn 3:f183d2ffae11 807 break;
julianonn 3:f183d2ffae11 808 case 2:
julianonn 3:f183d2ffae11 809 tela_Editar[3] ="Qtd:muito";
julianonn 3:f183d2ffae11 810 break;
julianonn 3:f183d2ffae11 811 }
julianonn 3:f183d2ffae11 812 //--------------
julianonn 3:f183d2ffae11 813 tam = tam_Editar;
julianonn 3:f183d2ffae11 814 if(Pcola[select-3] == 0)
julianonn 3:f183d2ffae11 815 {
julianonn 3:f183d2ffae11 816 tam -=1;
julianonn 3:f183d2ffae11 817 }
julianonn 3:f183d2ffae11 818 define_fim(0);
julianonn 3:f183d2ffae11 819
julianonn 3:f183d2ffae11 820 lcd.locate(12,0);
julianonn 3:f183d2ffae11 821 lcd.printf("PONTO %d",select-2);
julianonn 3:f183d2ffae11 822 lcd.locate(12,1);
julianonn 3:f183d2ffae11 823 lcd.printf("x:%3.2f",trajetoriax[select-3]*passo);
julianonn 3:f183d2ffae11 824 lcd.locate(12,2);
julianonn 3:f183d2ffae11 825 lcd.printf("y:%3.2f",trajetoriay[select-3]*passo);
julianonn 3:f183d2ffae11 826 lcd.locate(12,3);
julianonn 3:f183d2ffae11 827 lcd.printf("z:%3.2f",trajetoriaz[select-3]*passo);
julianonn 3:f183d2ffae11 828
julianonn 3:f183d2ffae11 829 while(i<=fim)
julianonn 3:f183d2ffae11 830 {
julianonn 3:f183d2ffae11 831 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 832 lcd.printf(tela_Editar[i]);
julianonn 3:f183d2ffae11 833 i+=1;
julianonn 3:f183d2ffae11 834 aux+=1;
julianonn 3:f183d2ffae11 835 }
julianonn 3:f183d2ffae11 836 posiciona_cursor(0);
julianonn 3:f183d2ffae11 837 LedX = 0;
julianonn 3:f183d2ffae11 838 LedY = 0;
julianonn 3:f183d2ffae11 839 LedZ= 0;
julianonn 3:f183d2ffae11 840 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 841 enable_buttons();
julianonn 3:f183d2ffae11 842 }
julianonn 3:f183d2ffae11 843 //--------------
julianonn 3:f183d2ffae11 844 }
julianonn 3:f183d2ffae11 845 else{
julianonn 3:f183d2ffae11 846 pressionado();
julianonn 3:f183d2ffae11 847 break;
julianonn 3:f183d2ffae11 848 }
julianonn 3:f183d2ffae11 849 }
julianonn 3:f183d2ffae11 850 select1 = 0;
julianonn 3:f183d2ffae11 851 flagMenu = 0;
julianonn 3:f183d2ffae11 852 check_cancela = 1;
julianonn 3:f183d2ffae11 853 }
julianonn 3:f183d2ffae11 854
julianonn 3:f183d2ffae11 855 //Mostra Menu Editar
julianonn 3:f183d2ffae11 856 void Programar_editar()
julianonn 3:f183d2ffae11 857 {
julianonn 3:f183d2ffae11 858 bool k = 0;
julianonn 3:f183d2ffae11 859 lcd.cls();
julianonn 3:f183d2ffae11 860 cursor_row=1;
julianonn 3:f183d2ffae11 861 flagMenu = 1;
julianonn 3:f183d2ffae11 862 enable_buttons();
julianonn 3:f183d2ffae11 863 select = -1;
julianonn 3:f183d2ffae11 864 while(check_cancela)
julianonn 3:f183d2ffae11 865 {
julianonn 3:f183d2ffae11 866 if(seguranca){
julianonn 3:f183d2ffae11 867
julianonn 3:f183d2ffae11 868 if(flagMenu)
julianonn 3:f183d2ffae11 869 {
julianonn 3:f183d2ffae11 870 disable_buttons();
julianonn 3:f183d2ffae11 871
julianonn 3:f183d2ffae11 872 if (flagSelect)
julianonn 3:f183d2ffae11 873 {
julianonn 3:f183d2ffae11 874 select = cursor_row;
julianonn 3:f183d2ffae11 875 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 876 //--------define_fim personalizado------------
julianonn 3:f183d2ffae11 877 switch(select)
julianonn 3:f183d2ffae11 878 { case 0:
julianonn 3:f183d2ffae11 879 select = 1;
julianonn 3:f183d2ffae11 880 select1 = 0;
julianonn 3:f183d2ffae11 881 escolha = -1;
julianonn 3:f183d2ffae11 882 cursor_row = 1;
julianonn 3:f183d2ffae11 883 flagMenu = 0;
julianonn 3:f183d2ffae11 884 k = 1;
julianonn 3:f183d2ffae11 885 break;
julianonn 3:f183d2ffae11 886 case 1:
julianonn 3:f183d2ffae11 887 if (tam_pontos >0)
julianonn 3:f183d2ffae11 888 {
julianonn 3:f183d2ffae11 889 tam_pontos -= 1;
julianonn 3:f183d2ffae11 890 flagMenu = 0;
julianonn 3:f183d2ffae11 891 }
julianonn 3:f183d2ffae11 892 break;
julianonn 3:f183d2ffae11 893 case 2:
julianonn 3:f183d2ffae11 894 select1 = -1;
julianonn 3:f183d2ffae11 895 trajetoriax[tam_pontos] = posicao[0];
julianonn 3:f183d2ffae11 896 trajetoriay[tam_pontos] = posicao[1];
julianonn 3:f183d2ffae11 897 trajetoriaz[tam_pontos] = posicao[2];
julianonn 3:f183d2ffae11 898 Pcola[tam_pontos] = 0;
julianonn 3:f183d2ffae11 899 Pcola_quant[tam_pontos] = 0;
julianonn 3:f183d2ffae11 900
julianonn 3:f183d2ffae11 901 tam_pontos += 1;
julianonn 3:f183d2ffae11 902 select = tam_pontos+2;
julianonn 3:f183d2ffae11 903
julianonn 3:f183d2ffae11 904 edit_ponto();
julianonn 3:f183d2ffae11 905
julianonn 3:f183d2ffae11 906 cursor_row = 2;
julianonn 3:f183d2ffae11 907 select = -1;
julianonn 3:f183d2ffae11 908 select1 = -1;
julianonn 3:f183d2ffae11 909 break;
julianonn 3:f183d2ffae11 910 }
julianonn 3:f183d2ffae11 911 }
julianonn 3:f183d2ffae11 912 if(k)
julianonn 3:f183d2ffae11 913 {
julianonn 3:f183d2ffae11 914 break;
julianonn 3:f183d2ffae11 915 }
julianonn 3:f183d2ffae11 916 tam = tam_pontos+2;
julianonn 3:f183d2ffae11 917 lcd.cls();
julianonn 3:f183d2ffae11 918 if (select >2)
julianonn 3:f183d2ffae11 919 {
julianonn 3:f183d2ffae11 920 select1 = -1;
julianonn 3:f183d2ffae11 921
julianonn 3:f183d2ffae11 922 edit_ponto();
julianonn 3:f183d2ffae11 923
julianonn 3:f183d2ffae11 924 cursor_row = select;
julianonn 3:f183d2ffae11 925 select = -1;
julianonn 3:f183d2ffae11 926 select1 = -1;
julianonn 3:f183d2ffae11 927
julianonn 3:f183d2ffae11 928 }
julianonn 3:f183d2ffae11 929 else
julianonn 3:f183d2ffae11 930 {
julianonn 3:f183d2ffae11 931
julianonn 3:f183d2ffae11 932 if (cursor_row <3)
julianonn 3:f183d2ffae11 933 {
julianonn 3:f183d2ffae11 934 fim = 3;
julianonn 3:f183d2ffae11 935 i = 0;
julianonn 3:f183d2ffae11 936 }
julianonn 3:f183d2ffae11 937
julianonn 3:f183d2ffae11 938 if (cursor_row >= 3)
julianonn 3:f183d2ffae11 939 {
julianonn 3:f183d2ffae11 940 fim = cursor_row;
julianonn 3:f183d2ffae11 941 i = cursor_row - 3;
julianonn 3:f183d2ffae11 942 }
julianonn 3:f183d2ffae11 943 if (cursor_row <0)
julianonn 3:f183d2ffae11 944 {
julianonn 3:f183d2ffae11 945 fim = tam;
julianonn 3:f183d2ffae11 946 cursor_row = tam;
julianonn 3:f183d2ffae11 947 i = cursor_row - 3;
julianonn 3:f183d2ffae11 948 }
julianonn 3:f183d2ffae11 949 if (cursor_row >= tam+1)
julianonn 3:f183d2ffae11 950 {
julianonn 3:f183d2ffae11 951 cursor_row = 0;
julianonn 3:f183d2ffae11 952 fim = 3;
julianonn 3:f183d2ffae11 953 i = 0;
julianonn 3:f183d2ffae11 954 }
julianonn 3:f183d2ffae11 955 if (tam ==2)
julianonn 3:f183d2ffae11 956 {
julianonn 3:f183d2ffae11 957 fim = 2;
julianonn 3:f183d2ffae11 958 i= 0;
julianonn 3:f183d2ffae11 959 }
julianonn 3:f183d2ffae11 960
julianonn 3:f183d2ffae11 961 //-------------------------
julianonn 3:f183d2ffae11 962 while(i<=fim && check_cancela )
julianonn 3:f183d2ffae11 963 {
julianonn 3:f183d2ffae11 964 switch(i)
julianonn 3:f183d2ffae11 965 {
julianonn 3:f183d2ffae11 966 case 0:
julianonn 3:f183d2ffae11 967 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 968 lcd.printf("Voltar");
julianonn 3:f183d2ffae11 969 break;
julianonn 3:f183d2ffae11 970 case 1:
julianonn 3:f183d2ffae11 971 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 972 lcd.printf("exc P%d",tam_pontos);
julianonn 3:f183d2ffae11 973 break;
julianonn 3:f183d2ffae11 974 case 2:
julianonn 3:f183d2ffae11 975 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 976 lcd.printf("Def P%d",tam_pontos+1);
julianonn 3:f183d2ffae11 977 break;
julianonn 3:f183d2ffae11 978 }
julianonn 3:f183d2ffae11 979 if (i>2)
julianonn 3:f183d2ffae11 980 {
julianonn 3:f183d2ffae11 981 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 982 lcd.printf("P%i",i-2);
julianonn 3:f183d2ffae11 983 switch(Pcola[i-3])
julianonn 3:f183d2ffae11 984 {
julianonn 3:f183d2ffae11 985 case 1:
julianonn 3:f183d2ffae11 986 lcd.printf(".");
julianonn 3:f183d2ffae11 987 break;
julianonn 3:f183d2ffae11 988 case 2:
julianonn 3:f183d2ffae11 989 lcd.printf("-");
julianonn 3:f183d2ffae11 990
julianonn 3:f183d2ffae11 991 break;
julianonn 3:f183d2ffae11 992 }
julianonn 3:f183d2ffae11 993 if (Pcola[i-3]!= 0)
julianonn 3:f183d2ffae11 994 {
julianonn 3:f183d2ffae11 995 switch(Pcola_quant[i-3])
julianonn 3:f183d2ffae11 996 {
julianonn 3:f183d2ffae11 997 case 0:
julianonn 3:f183d2ffae11 998 lcd.printf("Padrao");
julianonn 3:f183d2ffae11 999 break;
julianonn 3:f183d2ffae11 1000 case 1:
julianonn 3:f183d2ffae11 1001 lcd.printf("pouco");
julianonn 3:f183d2ffae11 1002 break;
julianonn 3:f183d2ffae11 1003 case 2:
julianonn 3:f183d2ffae11 1004 lcd.printf("muita");
julianonn 3:f183d2ffae11 1005 break;
julianonn 3:f183d2ffae11 1006 }
julianonn 3:f183d2ffae11 1007 }
julianonn 3:f183d2ffae11 1008 }
julianonn 3:f183d2ffae11 1009
julianonn 3:f183d2ffae11 1010 i+=1;
julianonn 3:f183d2ffae11 1011 aux+=1;
julianonn 3:f183d2ffae11 1012 }
julianonn 3:f183d2ffae11 1013
julianonn 3:f183d2ffae11 1014 }
julianonn 3:f183d2ffae11 1015 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 1016
julianonn 3:f183d2ffae11 1017 lcd.locate(12,0);
julianonn 3:f183d2ffae11 1018 lcd.printf("Pos At");
julianonn 3:f183d2ffae11 1019 lcd.locate(12,1);
julianonn 3:f183d2ffae11 1020 lcd.printf("x:%.2f",posicao[0]*passo);
julianonn 3:f183d2ffae11 1021 lcd.locate(12,2);
julianonn 3:f183d2ffae11 1022 lcd.printf("y:%.2f",posicao[1]*passo);
julianonn 3:f183d2ffae11 1023 lcd.locate(12,3);
julianonn 3:f183d2ffae11 1024 lcd.printf("z:%.2f",posicao[2]*passo);
julianonn 3:f183d2ffae11 1025 posiciona_cursor(0);
julianonn 3:f183d2ffae11 1026 enable_buttons();
julianonn 3:f183d2ffae11 1027 }
julianonn 3:f183d2ffae11 1028 }
julianonn 3:f183d2ffae11 1029 else{
julianonn 3:f183d2ffae11 1030 pressionado();
julianonn 3:f183d2ffae11 1031 break;
julianonn 3:f183d2ffae11 1032 }
julianonn 3:f183d2ffae11 1033 }
julianonn 3:f183d2ffae11 1034
julianonn 3:f183d2ffae11 1035 select = 1;
julianonn 3:f183d2ffae11 1036 select1 = 0;
julianonn 3:f183d2ffae11 1037 escolha = -1;
julianonn 3:f183d2ffae11 1038 cursor_row = 1;
julianonn 3:f183d2ffae11 1039 flagMenu = 0;
julianonn 3:f183d2ffae11 1040 check_cancela = 1;
julianonn 3:f183d2ffae11 1041 }
julianonn 3:f183d2ffae11 1042
julianonn 3:f183d2ffae11 1043
julianonn 3:f183d2ffae11 1044 // ------------------------- Rodando Programa ---------------------------------------
julianonn 3:f183d2ffae11 1045
julianonn 3:f183d2ffae11 1046 void rodar_programa(){
julianonn 3:f183d2ffae11 1047 int ponto_rodando = 0;
julianonn 3:f183d2ffae11 1048 //int cola_inicial = 0
julianonn 3:f183d2ffae11 1049 while(ponto_rodando <= tam_pontos-1 && check_cancela){
julianonn 3:f183d2ffae11 1050 velocidade = velocidade_padrao;
julianonn 3:f183d2ffae11 1051 if(seguranca){
julianonn 3:f183d2ffae11 1052 if(Pcola[ponto_rodando] == 2){
julianonn 3:f183d2ffae11 1053 if(Pcola_quant[ponto_rodando] == 1){
julianonn 3:f183d2ffae11 1054 velocidade = velocidade_rapida;
julianonn 3:f183d2ffae11 1055 }
julianonn 3:f183d2ffae11 1056 if(Pcola_quant[ponto_rodando] == 2){
julianonn 3:f183d2ffae11 1057 velocidade = velocidade_lenta;
julianonn 3:f183d2ffae11 1058 }
julianonn 3:f183d2ffae11 1059 aciona_valvula();
julianonn 3:f183d2ffae11 1060 }
julianonn 3:f183d2ffae11 1061 if(posicao[2] < trajetoriaz[ponto_rodando]) {
julianonn 3:f183d2ffae11 1062 while(posicao[2] != trajetoriaz[ponto_rodando] && check_cancela){
julianonn 3:f183d2ffae11 1063 if(seguranca){
julianonn 3:f183d2ffae11 1064 movimentaz(0,1, velocidade);
julianonn 3:f183d2ffae11 1065 }
julianonn 3:f183d2ffae11 1066 else{
julianonn 3:f183d2ffae11 1067 pressionado();
julianonn 3:f183d2ffae11 1068 break;
julianonn 3:f183d2ffae11 1069 }
julianonn 3:f183d2ffae11 1070 }
julianonn 3:f183d2ffae11 1071 }
julianonn 3:f183d2ffae11 1072 enableZ=1;
julianonn 3:f183d2ffae11 1073 while(posicao[0] != trajetoriax[ponto_rodando] && check_cancela){
julianonn 3:f183d2ffae11 1074 if(seguranca){
julianonn 3:f183d2ffae11 1075 if(posicao[0]< trajetoriax[ponto_rodando]){
julianonn 3:f183d2ffae11 1076 movimentax(0,1, velocidade_jog);
julianonn 3:f183d2ffae11 1077 }
julianonn 3:f183d2ffae11 1078 if(posicao[0]> trajetoriax[ponto_rodando]){
julianonn 3:f183d2ffae11 1079 movimentax(0,0, velocidade);
julianonn 3:f183d2ffae11 1080 }
julianonn 3:f183d2ffae11 1081 }
julianonn 3:f183d2ffae11 1082 else{
julianonn 3:f183d2ffae11 1083 pressionado();
julianonn 3:f183d2ffae11 1084 break;
julianonn 3:f183d2ffae11 1085 }
julianonn 3:f183d2ffae11 1086 }
julianonn 3:f183d2ffae11 1087
julianonn 3:f183d2ffae11 1088 enableX= 1;
julianonn 3:f183d2ffae11 1089 while(posicao[1] != trajetoriay[ponto_rodando] && check_cancela){
julianonn 3:f183d2ffae11 1090 if(seguranca){
julianonn 3:f183d2ffae11 1091 if(posicao[1]< trajetoriay[ponto_rodando]){
julianonn 3:f183d2ffae11 1092 movimentay(0,1, velocidade);
julianonn 3:f183d2ffae11 1093 }
julianonn 3:f183d2ffae11 1094 if(posicao[1]> trajetoriay[ponto_rodando]){
julianonn 3:f183d2ffae11 1095 movimentay(0,0, velocidade);
julianonn 3:f183d2ffae11 1096 }
julianonn 3:f183d2ffae11 1097 }
julianonn 3:f183d2ffae11 1098 else{
julianonn 3:f183d2ffae11 1099 pressionado();
julianonn 3:f183d2ffae11 1100 break;
julianonn 3:f183d2ffae11 1101 }
julianonn 3:f183d2ffae11 1102 }
julianonn 3:f183d2ffae11 1103 enableY=1;
julianonn 3:f183d2ffae11 1104 if(posicao[2] > trajetoriaz[ponto_rodando]) {
julianonn 3:f183d2ffae11 1105 while(posicao[2] != trajetoriaz[ponto_rodando] && check_cancela){
julianonn 3:f183d2ffae11 1106 if(seguranca){
julianonn 3:f183d2ffae11 1107 movimentaz(0,0, velocidade);
julianonn 3:f183d2ffae11 1108 }
julianonn 3:f183d2ffae11 1109 else{
julianonn 3:f183d2ffae11 1110 pressionado();
julianonn 3:f183d2ffae11 1111 break;
julianonn 3:f183d2ffae11 1112 }
julianonn 3:f183d2ffae11 1113 }
julianonn 3:f183d2ffae11 1114 }
julianonn 3:f183d2ffae11 1115 enableZ=1;
julianonn 3:f183d2ffae11 1116
julianonn 3:f183d2ffae11 1117
julianonn 3:f183d2ffae11 1118 if(seguranca){
julianonn 3:f183d2ffae11 1119 wait(1);
julianonn 3:f183d2ffae11 1120 }
julianonn 3:f183d2ffae11 1121 if(Pcola[ponto_rodando] == 1){
julianonn 3:f183d2ffae11 1122 aciona_valvula();
julianonn 3:f183d2ffae11 1123 if(Pcola_quant[ponto_rodando] == 0){
julianonn 3:f183d2ffae11 1124 tempo_acionado =0.3;
julianonn 3:f183d2ffae11 1125 }
julianonn 3:f183d2ffae11 1126 else if (Pcola_quant[ponto_rodando] == 1){
julianonn 3:f183d2ffae11 1127 tempo_acionado =0.5;
julianonn 3:f183d2ffae11 1128 }
julianonn 3:f183d2ffae11 1129 else{
julianonn 3:f183d2ffae11 1130 tempo_acionado =0.1;
julianonn 3:f183d2ffae11 1131 }
julianonn 3:f183d2ffae11 1132 wait(tempo_acionado);
julianonn 3:f183d2ffae11 1133 desliga_valvula();
julianonn 3:f183d2ffae11 1134 }
julianonn 3:f183d2ffae11 1135 if(Pcola[ponto_rodando] == 2){
julianonn 3:f183d2ffae11 1136 desliga_valvula();
julianonn 3:f183d2ffae11 1137 }
julianonn 3:f183d2ffae11 1138 ponto_rodando++;
julianonn 3:f183d2ffae11 1139 }
julianonn 3:f183d2ffae11 1140 else{
julianonn 3:f183d2ffae11 1141 pressionado();
julianonn 3:f183d2ffae11 1142 break;
julianonn 3:f183d2ffae11 1143 }
julianonn 3:f183d2ffae11 1144
julianonn 3:f183d2ffae11 1145 }
julianonn 3:f183d2ffae11 1146 }
julianonn 3:f183d2ffae11 1147 void sim_nao(char* titulo)
julianonn 3:f183d2ffae11 1148 {
julianonn 3:f183d2ffae11 1149 if (flagMenu)
julianonn 3:f183d2ffae11 1150 {
julianonn 3:f183d2ffae11 1151 lcd.cls();
julianonn 3:f183d2ffae11 1152 disable_buttons();
julianonn 3:f183d2ffae11 1153 if (cursor_row<2)
julianonn 3:f183d2ffae11 1154 {
julianonn 3:f183d2ffae11 1155 cursor_row= 3;
julianonn 3:f183d2ffae11 1156 }
julianonn 3:f183d2ffae11 1157 if (cursor_row>3)
julianonn 3:f183d2ffae11 1158 {
julianonn 3:f183d2ffae11 1159 cursor_row = 2;
julianonn 3:f183d2ffae11 1160 }
julianonn 3:f183d2ffae11 1161 lcd.locate(0,0);
julianonn 3:f183d2ffae11 1162 lcd.printf(titulo);
julianonn 3:f183d2ffae11 1163 lcd.locate(1,2);
julianonn 3:f183d2ffae11 1164 lcd.printf("sim");
julianonn 3:f183d2ffae11 1165 lcd.locate(1,3);
julianonn 3:f183d2ffae11 1166 lcd.printf("nao");
julianonn 3:f183d2ffae11 1167 posiciona_cursor(0);
julianonn 3:f183d2ffae11 1168 if (flagSelect)
julianonn 3:f183d2ffae11 1169 {
julianonn 3:f183d2ffae11 1170 escolha = cursor_row-1;
julianonn 3:f183d2ffae11 1171 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 1172 }
julianonn 3:f183d2ffae11 1173
julianonn 3:f183d2ffae11 1174 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 1175
julianonn 3:f183d2ffae11 1176 enable_buttons();
julianonn 3:f183d2ffae11 1177 }
julianonn 3:f183d2ffae11 1178
julianonn 3:f183d2ffae11 1179
julianonn 3:f183d2ffae11 1180 }
julianonn 3:f183d2ffae11 1181
julianonn 3:f183d2ffae11 1182 void Referenciar()
julianonn 3:f183d2ffae11 1183 {
julianonn 3:f183d2ffae11 1184 lcd.cls();
julianonn 3:f183d2ffae11 1185 select = 0;
julianonn 3:f183d2ffae11 1186 select1 = 0;
julianonn 3:f183d2ffae11 1187 escolha = 0;
julianonn 3:f183d2ffae11 1188 cursor_row =2;
julianonn 3:f183d2ffae11 1189 flagMenu = 1;
julianonn 3:f183d2ffae11 1190 flagSelect = 0;
julianonn 3:f183d2ffae11 1191
julianonn 3:f183d2ffae11 1192 enable_buttons();
julianonn 3:f183d2ffae11 1193 while(check_cancela)
julianonn 3:f183d2ffae11 1194 {
julianonn 3:f183d2ffae11 1195 if(seguranca){
julianonn 3:f183d2ffae11 1196 printou = 0;
julianonn 3:f183d2ffae11 1197 sim_nao("Deseja Referenciar?");
julianonn 3:f183d2ffae11 1198
julianonn 3:f183d2ffae11 1199 if (escolha ==1)
julianonn 3:f183d2ffae11 1200 {
julianonn 3:f183d2ffae11 1201 disable_buttons();
julianonn 3:f183d2ffae11 1202 lcd.cls();
julianonn 3:f183d2ffae11 1203 lcd.locate(0,1);
julianonn 3:f183d2ffae11 1204 lcd.printf(" REFERENCIANDO...");
julianonn 3:f183d2ffae11 1205 referenciamento();
julianonn 3:f183d2ffae11 1206 escolha = 0;
julianonn 3:f183d2ffae11 1207 cursor_row =1;
julianonn 3:f183d2ffae11 1208 enable_buttons();
julianonn 3:f183d2ffae11 1209 flagMenu = 1;
julianonn 3:f183d2ffae11 1210 break;
julianonn 3:f183d2ffae11 1211 }
julianonn 3:f183d2ffae11 1212
julianonn 3:f183d2ffae11 1213 if (escolha ==2)
julianonn 3:f183d2ffae11 1214 {
julianonn 3:f183d2ffae11 1215 lcd.cls();
julianonn 3:f183d2ffae11 1216 escolha = 0;
julianonn 3:f183d2ffae11 1217 cursor_row =1;
julianonn 3:f183d2ffae11 1218 select = 0;
julianonn 3:f183d2ffae11 1219 select1 = 0;
julianonn 3:f183d2ffae11 1220 flagMenu=1;
julianonn 3:f183d2ffae11 1221 break;
julianonn 3:f183d2ffae11 1222 }
julianonn 3:f183d2ffae11 1223 }
julianonn 3:f183d2ffae11 1224 else{
julianonn 3:f183d2ffae11 1225 pressionado();
julianonn 3:f183d2ffae11 1226 }
julianonn 3:f183d2ffae11 1227
julianonn 3:f183d2ffae11 1228 }
julianonn 3:f183d2ffae11 1229
julianonn 3:f183d2ffae11 1230 if(!check_cancela)
julianonn 3:f183d2ffae11 1231 {
julianonn 3:f183d2ffae11 1232 lcd.cls();
julianonn 3:f183d2ffae11 1233 lcd.locate(1,1);
julianonn 3:f183d2ffae11 1234 lcd.printf("operacao cancelada");
julianonn 3:f183d2ffae11 1235 wait(1.2);
julianonn 3:f183d2ffae11 1236 }
julianonn 3:f183d2ffae11 1237 escolha = 0;
julianonn 3:f183d2ffae11 1238 cursor_row =1;
julianonn 3:f183d2ffae11 1239 select = 0;
julianonn 3:f183d2ffae11 1240 select1 = 0;
julianonn 3:f183d2ffae11 1241 flagMenu=1;
julianonn 3:f183d2ffae11 1242 check_cancela =1;
julianonn 3:f183d2ffae11 1243
julianonn 3:f183d2ffae11 1244 }
julianonn 3:f183d2ffae11 1245 void teste_vazao(){
julianonn 3:f183d2ffae11 1246 if(seguranca){
julianonn 3:f183d2ffae11 1247 while(posicao[0] > 0 && check_cancela){
julianonn 3:f183d2ffae11 1248 if (seguranca){
julianonn 3:f183d2ffae11 1249 movimentax(0,0,velocidade_padrao); // 1 = pra esquerda, pra porta
julianonn 3:f183d2ffae11 1250 }
julianonn 3:f183d2ffae11 1251 else{
julianonn 3:f183d2ffae11 1252 pressionado();
julianonn 3:f183d2ffae11 1253 break;
julianonn 3:f183d2ffae11 1254 }
julianonn 3:f183d2ffae11 1255 }
julianonn 3:f183d2ffae11 1256 while(posicao[1] > 0 && check_cancela){
julianonn 3:f183d2ffae11 1257 if (seguranca){
julianonn 3:f183d2ffae11 1258 movimentay(0,0,velocidade_padrao); // 1 = pra esquerda, pra porta
julianonn 3:f183d2ffae11 1259 }
julianonn 3:f183d2ffae11 1260 else{
julianonn 3:f183d2ffae11 1261 pressionado();
julianonn 3:f183d2ffae11 1262 break;
julianonn 3:f183d2ffae11 1263 }
julianonn 3:f183d2ffae11 1264 }
julianonn 3:f183d2ffae11 1265 while(posicao[2] > 0 && check_cancela){
julianonn 3:f183d2ffae11 1266 if (seguranca){
julianonn 3:f183d2ffae11 1267 movimentaz(0,1,velocidade_padrao); // 1 = pra esquerda, pra porta
julianonn 3:f183d2ffae11 1268 }
julianonn 3:f183d2ffae11 1269 else{
julianonn 3:f183d2ffae11 1270 pressionado();
julianonn 3:f183d2ffae11 1271 break;
julianonn 3:f183d2ffae11 1272 }
julianonn 3:f183d2ffae11 1273 }
julianonn 3:f183d2ffae11 1274 if(seguranca){aciona_valvula();}
julianonn 3:f183d2ffae11 1275 if(seguranca){wait(1);}
julianonn 3:f183d2ffae11 1276 if(seguranca){desliga_valvula();}
julianonn 3:f183d2ffae11 1277 }
julianonn 3:f183d2ffae11 1278 else{
julianonn 3:f183d2ffae11 1279 pressionado();
julianonn 3:f183d2ffae11 1280 }
julianonn 3:f183d2ffae11 1281 }
julianonn 3:f183d2ffae11 1282
julianonn 3:f183d2ffae11 1283 void Vazao()
julianonn 3:f183d2ffae11 1284 {
julianonn 3:f183d2ffae11 1285 lcd.cls();
julianonn 3:f183d2ffae11 1286 select = 0;
julianonn 3:f183d2ffae11 1287 select1 = 0;
julianonn 3:f183d2ffae11 1288 escolha = 0;
julianonn 3:f183d2ffae11 1289 cursor_row =2;
julianonn 3:f183d2ffae11 1290 flagMenu = 1;
julianonn 3:f183d2ffae11 1291 flagSelect = 0;
julianonn 3:f183d2ffae11 1292
julianonn 3:f183d2ffae11 1293 enable_buttons();
julianonn 3:f183d2ffae11 1294 while(check_cancela)
julianonn 3:f183d2ffae11 1295 {
julianonn 3:f183d2ffae11 1296 if(seguranca){
julianonn 3:f183d2ffae11 1297 printou = 0;
julianonn 3:f183d2ffae11 1298 sim_nao("Deseja testar vazao?");
julianonn 3:f183d2ffae11 1299
julianonn 3:f183d2ffae11 1300 if (escolha ==1)
julianonn 3:f183d2ffae11 1301 {
julianonn 3:f183d2ffae11 1302 disable_buttons();
julianonn 3:f183d2ffae11 1303 lcd.cls();
julianonn 3:f183d2ffae11 1304 lcd.locate(0,1);
julianonn 3:f183d2ffae11 1305 lcd.printf(" TESTANDO...");
julianonn 3:f183d2ffae11 1306 teste_vazao();
julianonn 3:f183d2ffae11 1307 escolha = 0;
julianonn 3:f183d2ffae11 1308 cursor_row =1;
julianonn 3:f183d2ffae11 1309 enable_buttons();
julianonn 3:f183d2ffae11 1310 flagMenu = 0;
julianonn 3:f183d2ffae11 1311 break;
julianonn 3:f183d2ffae11 1312 }
julianonn 3:f183d2ffae11 1313
julianonn 3:f183d2ffae11 1314 if (escolha ==2)
julianonn 3:f183d2ffae11 1315 {
julianonn 3:f183d2ffae11 1316 lcd.cls();
julianonn 3:f183d2ffae11 1317 escolha = 0;
julianonn 3:f183d2ffae11 1318 cursor_row =1;
julianonn 3:f183d2ffae11 1319 select = 0;
julianonn 3:f183d2ffae11 1320 select1 = 0;
julianonn 3:f183d2ffae11 1321 flagMenu=0;
julianonn 3:f183d2ffae11 1322 break;
julianonn 3:f183d2ffae11 1323 }
julianonn 3:f183d2ffae11 1324 }
julianonn 3:f183d2ffae11 1325 else{
julianonn 3:f183d2ffae11 1326 pressionado();
julianonn 3:f183d2ffae11 1327 }
julianonn 3:f183d2ffae11 1328
julianonn 3:f183d2ffae11 1329 }
julianonn 3:f183d2ffae11 1330
julianonn 3:f183d2ffae11 1331 if(!check_cancela)
julianonn 3:f183d2ffae11 1332 {
julianonn 3:f183d2ffae11 1333 lcd.cls();
julianonn 3:f183d2ffae11 1334 lcd.locate(1,1);
julianonn 3:f183d2ffae11 1335 lcd.printf("operacao cancelada");
julianonn 3:f183d2ffae11 1336 wait(1.2);
julianonn 3:f183d2ffae11 1337 }
julianonn 3:f183d2ffae11 1338
julianonn 3:f183d2ffae11 1339 lcd.cls();
julianonn 3:f183d2ffae11 1340 escolha = 0;
julianonn 3:f183d2ffae11 1341 cursor_row =1;
julianonn 3:f183d2ffae11 1342 select = 0;
julianonn 3:f183d2ffae11 1343 select1 = 0;
julianonn 3:f183d2ffae11 1344 flagMenu=0;
julianonn 3:f183d2ffae11 1345 check_cancela = 1;
julianonn 3:f183d2ffae11 1346 }
julianonn 3:f183d2ffae11 1347
julianonn 3:f183d2ffae11 1348
julianonn 3:f183d2ffae11 1349 void eixox(){
julianonn 3:f183d2ffae11 1350 continuax = 1;
julianonn 3:f183d2ffae11 1351 continuay = 0;
julianonn 3:f183d2ffae11 1352 continuaz = 0;
julianonn 3:f183d2ffae11 1353 LedX = 1;
julianonn 3:f183d2ffae11 1354 LedY = 0;
julianonn 3:f183d2ffae11 1355 LedZ = 0;
julianonn 3:f183d2ffae11 1356 }
julianonn 3:f183d2ffae11 1357 void eixoy(){
julianonn 3:f183d2ffae11 1358 continuax = 0;
julianonn 3:f183d2ffae11 1359 continuay = 1;
julianonn 3:f183d2ffae11 1360 continuaz = 0;
julianonn 3:f183d2ffae11 1361 LedX = 0;
julianonn 3:f183d2ffae11 1362 LedY = 1;
julianonn 3:f183d2ffae11 1363 LedZ = 0;
julianonn 3:f183d2ffae11 1364 }
julianonn 3:f183d2ffae11 1365
julianonn 3:f183d2ffae11 1366 void eixoz(){
julianonn 3:f183d2ffae11 1367 continuax = 0;
julianonn 3:f183d2ffae11 1368 continuay = 0;
julianonn 3:f183d2ffae11 1369 continuaz = 1;
julianonn 3:f183d2ffae11 1370
julianonn 3:f183d2ffae11 1371 LedX = 0;
julianonn 3:f183d2ffae11 1372 LedY = 0;
julianonn 3:f183d2ffae11 1373 LedZ = 1;
julianonn 3:f183d2ffae11 1374 }
julianonn 3:f183d2ffae11 1375
julianonn 3:f183d2ffae11 1376
julianonn 3:f183d2ffae11 1377 void programar()
julianonn 3:f183d2ffae11 1378 {
julianonn 3:f183d2ffae11 1379
julianonn 3:f183d2ffae11 1380 tam_pontos = 0;
julianonn 3:f183d2ffae11 1381 escolha = 0;
julianonn 3:f183d2ffae11 1382 select = 0;
julianonn 3:f183d2ffae11 1383 select1 = 0;
julianonn 3:f183d2ffae11 1384 lcd.cls();
julianonn 3:f183d2ffae11 1385 flagMenu = 1;
julianonn 3:f183d2ffae11 1386 flagSelect = 0;
julianonn 3:f183d2ffae11 1387 cursor_row = 0;
julianonn 3:f183d2ffae11 1388 int dir = 0;
julianonn 3:f183d2ffae11 1389 bool k = 0;
julianonn 3:f183d2ffae11 1390 enable_buttons();
julianonn 3:f183d2ffae11 1391 while(check_cancela)
julianonn 3:f183d2ffae11 1392 {
julianonn 3:f183d2ffae11 1393 if(seguranca){
julianonn 3:f183d2ffae11 1394 if(flagMenu)
julianonn 3:f183d2ffae11 1395 {
julianonn 3:f183d2ffae11 1396 disable_buttons();
julianonn 3:f183d2ffae11 1397 if(flagSelect)
julianonn 3:f183d2ffae11 1398 {
julianonn 3:f183d2ffae11 1399 wait(0.2);
julianonn 3:f183d2ffae11 1400 select +=1;
julianonn 3:f183d2ffae11 1401 select1 = cursor_row;
julianonn 3:f183d2ffae11 1402 escolha = cursor_row-1;
julianonn 3:f183d2ffae11 1403 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 1404 cursor_row = 1;
julianonn 3:f183d2ffae11 1405 }
julianonn 3:f183d2ffae11 1406
julianonn 3:f183d2ffae11 1407 switch(select)
julianonn 3:f183d2ffae11 1408 {
julianonn 3:f183d2ffae11 1409 case 0:
julianonn 3:f183d2ffae11 1410
julianonn 3:f183d2ffae11 1411 aciona_eixos();
julianonn 3:f183d2ffae11 1412 if (mais==1)
julianonn 3:f183d2ffae11 1413 {
julianonn 3:f183d2ffae11 1414 dir = 1;
julianonn 3:f183d2ffae11 1415 }
julianonn 3:f183d2ffae11 1416 else if (menos==1)
julianonn 3:f183d2ffae11 1417 {
julianonn 3:f183d2ffae11 1418 dir = 0;
julianonn 3:f183d2ffae11 1419 }
julianonn 3:f183d2ffae11 1420
julianonn 3:f183d2ffae11 1421 if (mais ==1 || menos==1)
julianonn 3:f183d2ffae11 1422 { if(seguranca){
julianonn 3:f183d2ffae11 1423 lcd.cls();
julianonn 3:f183d2ffae11 1424 lcd.locate(0,1);
julianonn 3:f183d2ffae11 1425 if(continuax && posicao[0]<=0 && dir == 0|| continuax && fdcx1 == 1 && dir ==0|| continuax && fdcx2 == 1 && dir ==1){
julianonn 3:f183d2ffae11 1426 lcd.printf("Final do curso x \n disponivel");
julianonn 3:f183d2ffae11 1427 }
julianonn 3:f183d2ffae11 1428 else if (continuax){
julianonn 3:f183d2ffae11 1429 lcd.printf("Movimentando eixo x");
julianonn 3:f183d2ffae11 1430 }
julianonn 3:f183d2ffae11 1431 else if(continuay && posicao[1]<0 && dir == 0 || continuay && fdcy1 == 1 && dir ==0 || continuay && fdcy2 == 1 && dir ==1){
julianonn 3:f183d2ffae11 1432 lcd.printf("Final do curso y \n disponivel");
julianonn 3:f183d2ffae11 1433 }
julianonn 3:f183d2ffae11 1434 else if(continuay){
julianonn 3:f183d2ffae11 1435 lcd.printf("Movimentando eixo y");
julianonn 3:f183d2ffae11 1436 }
julianonn 3:f183d2ffae11 1437 else if(continuaz && posicao[2]>0 && dir == 1 || continuaz && fdcz1 == 1 && dir ==1 || continuaz && fdcz2 == 1 && dir ==0){
julianonn 3:f183d2ffae11 1438 lcd.printf("Final do curso z \n disponivel");
julianonn 3:f183d2ffae11 1439 }
julianonn 3:f183d2ffae11 1440 else if (continuaz){
julianonn 3:f183d2ffae11 1441 lcd.printf("Movimentando eixo z");
julianonn 3:f183d2ffae11 1442 }
julianonn 3:f183d2ffae11 1443 else{
julianonn 3:f183d2ffae11 1444 lcd.locate(2,1);
julianonn 3:f183d2ffae11 1445 lcd.printf("Selecione um eixo");
julianonn 3:f183d2ffae11 1446 }
julianonn 3:f183d2ffae11 1447 }
julianonn 3:f183d2ffae11 1448 else{
julianonn 3:f183d2ffae11 1449 pressionado();
julianonn 3:f183d2ffae11 1450 }
julianonn 3:f183d2ffae11 1451 }
julianonn 3:f183d2ffae11 1452
julianonn 3:f183d2ffae11 1453 while(mais ==1 || menos==1 && check_cancela)
julianonn 3:f183d2ffae11 1454 { if(seguranca){
julianonn 3:f183d2ffae11 1455 if(continuax){
julianonn 3:f183d2ffae11 1456 movimentax(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 1457 }
julianonn 3:f183d2ffae11 1458 else if(continuay){
julianonn 3:f183d2ffae11 1459 movimentay(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 1460 }
julianonn 3:f183d2ffae11 1461 else if(continuaz){
julianonn 3:f183d2ffae11 1462 movimentaz(0,dir,velocidade_jog);
julianonn 3:f183d2ffae11 1463 }
julianonn 3:f183d2ffae11 1464 }
julianonn 3:f183d2ffae11 1465 else{
julianonn 3:f183d2ffae11 1466 pressionado();
julianonn 3:f183d2ffae11 1467 break;
julianonn 3:f183d2ffae11 1468 }
julianonn 3:f183d2ffae11 1469 }
julianonn 3:f183d2ffae11 1470 if(seguranca){
julianonn 3:f183d2ffae11 1471 lcd.cls();
julianonn 3:f183d2ffae11 1472 enableX = 1;
julianonn 3:f183d2ffae11 1473 enableY = 1;
julianonn 3:f183d2ffae11 1474 enableZ = 1;
julianonn 3:f183d2ffae11 1475 lcd.locate(0,0);
julianonn 3:f183d2ffae11 1476 lcd.printf("x:");
julianonn 3:f183d2ffae11 1477 lcd.locate(0,1);
julianonn 3:f183d2ffae11 1478 Px = posicao[0]*passox;
julianonn 3:f183d2ffae11 1479 lcd.printf("%.1f",Px);
julianonn 3:f183d2ffae11 1480 lcd.locate(7,0);
julianonn 3:f183d2ffae11 1481 lcd.printf("y:");
julianonn 3:f183d2ffae11 1482 lcd.locate(7,1);
julianonn 3:f183d2ffae11 1483 lcd.printf("%.1f",posicao[1]*passo);
julianonn 3:f183d2ffae11 1484 lcd.locate(14,0);
julianonn 3:f183d2ffae11 1485 lcd.printf("z:");
julianonn 3:f183d2ffae11 1486 lcd.locate(14,1);
julianonn 3:f183d2ffae11 1487 lcd.printf("%.1f",posicao[2]*passo);
julianonn 3:f183d2ffae11 1488
julianonn 3:f183d2ffae11 1489 lcd.locate(0,3);
julianonn 3:f183d2ffae11 1490 lcd.printf(">Definir Ponto %d",tam_pontos+1);
julianonn 3:f183d2ffae11 1491 }
julianonn 3:f183d2ffae11 1492 else{
julianonn 3:f183d2ffae11 1493 pressionado();
julianonn 3:f183d2ffae11 1494 }
julianonn 3:f183d2ffae11 1495 break;
julianonn 3:f183d2ffae11 1496 case 1:
julianonn 3:f183d2ffae11 1497 LedX = 0;
julianonn 3:f183d2ffae11 1498 LedY= 0;
julianonn 3:f183d2ffae11 1499 LedZ= 0;
julianonn 3:f183d2ffae11 1500 desliga_eixos();
julianonn 3:f183d2ffae11 1501 lcd.cls();
julianonn 3:f183d2ffae11 1502 sim_nao("Definir essas\ncoordenadas?");
julianonn 3:f183d2ffae11 1503 flagMenu=1;
julianonn 3:f183d2ffae11 1504 break;
julianonn 3:f183d2ffae11 1505 case 2:
julianonn 3:f183d2ffae11 1506 if (escolha == 2){
julianonn 3:f183d2ffae11 1507 select -=2;
julianonn 3:f183d2ffae11 1508 flagMenu = 0;
julianonn 3:f183d2ffae11 1509 break;
julianonn 3:f183d2ffae11 1510 }
julianonn 3:f183d2ffae11 1511 lcd.cls();
julianonn 3:f183d2ffae11 1512 trajetoriax[tam_pontos] = posicao[0];
julianonn 3:f183d2ffae11 1513 trajetoriay[tam_pontos] = posicao[1];
julianonn 3:f183d2ffae11 1514 trajetoriaz[tam_pontos] = posicao[2];
julianonn 3:f183d2ffae11 1515 if (tam_pontos == 0)
julianonn 3:f183d2ffae11 1516 {
julianonn 3:f183d2ffae11 1517 sim_nao("Depositar cola no ponto");
julianonn 3:f183d2ffae11 1518 lcd.locate(5,1);
julianonn 3:f183d2ffae11 1519 lcd.printf(" %d?",tam_pontos + 1);
julianonn 3:f183d2ffae11 1520 flagMenu = 1;
julianonn 3:f183d2ffae11 1521 }
julianonn 3:f183d2ffae11 1522 else
julianonn 3:f183d2ffae11 1523 {
julianonn 3:f183d2ffae11 1524 tam = tam_Cola;
julianonn 3:f183d2ffae11 1525 define_fim(1);
julianonn 3:f183d2ffae11 1526 aux = 1;
julianonn 3:f183d2ffae11 1527 lcd.locate(0,0);
julianonn 3:f183d2ffae11 1528 lcd.printf("Depositar cola?");
julianonn 3:f183d2ffae11 1529 while(i<=fim && check_cancela)
julianonn 3:f183d2ffae11 1530 {
julianonn 3:f183d2ffae11 1531 if(i<2)
julianonn 3:f183d2ffae11 1532 {
julianonn 3:f183d2ffae11 1533 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 1534 lcd.printf(tela_Cola[i]);
julianonn 3:f183d2ffae11 1535 lcd.printf("(P%d)",tam_pontos+1);
julianonn 3:f183d2ffae11 1536 i+=1;
julianonn 3:f183d2ffae11 1537 aux+=1;
julianonn 3:f183d2ffae11 1538 }
julianonn 3:f183d2ffae11 1539 else
julianonn 3:f183d2ffae11 1540 {
julianonn 3:f183d2ffae11 1541 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 1542 lcd.printf(tela_Cola[i]);
julianonn 3:f183d2ffae11 1543 lcd.printf("(P%d-",tam_pontos);
julianonn 3:f183d2ffae11 1544 lcd.printf("P%d)",tam_pontos+1);
julianonn 3:f183d2ffae11 1545 i+=1;
julianonn 3:f183d2ffae11 1546 aux+=1;
julianonn 3:f183d2ffae11 1547 }
julianonn 3:f183d2ffae11 1548 }
julianonn 3:f183d2ffae11 1549 posiciona_cursor(0);
julianonn 3:f183d2ffae11 1550 }
julianonn 3:f183d2ffae11 1551 break;
julianonn 3:f183d2ffae11 1552 case 3:
julianonn 3:f183d2ffae11 1553 lcd.cls();
julianonn 3:f183d2ffae11 1554 if (escolha ==2 && tam_pontos==0)
julianonn 3:f183d2ffae11 1555 {
julianonn 3:f183d2ffae11 1556 Pcola[tam_pontos] = 0;
julianonn 3:f183d2ffae11 1557 }
julianonn 3:f183d2ffae11 1558 else if (select1 >1)
julianonn 3:f183d2ffae11 1559 {
julianonn 3:f183d2ffae11 1560 escolha = 1;
julianonn 3:f183d2ffae11 1561 }
julianonn 3:f183d2ffae11 1562 else
julianonn 3:f183d2ffae11 1563 {
julianonn 3:f183d2ffae11 1564 escolha = 0;
julianonn 3:f183d2ffae11 1565 }
julianonn 3:f183d2ffae11 1566
julianonn 3:f183d2ffae11 1567 if (escolha ==1 && select>1)
julianonn 3:f183d2ffae11 1568 {
julianonn 3:f183d2ffae11 1569
julianonn 3:f183d2ffae11 1570 Pcola[tam_pontos] = select1 - 1;
julianonn 3:f183d2ffae11 1571 tam = tam_Cola_Quant;
julianonn 3:f183d2ffae11 1572 define_fim(1);
julianonn 3:f183d2ffae11 1573 aux = 1;
julianonn 3:f183d2ffae11 1574 lcd.locate(0,0);
julianonn 3:f183d2ffae11 1575 lcd.printf("Quantidade de cola?");
julianonn 3:f183d2ffae11 1576 while(i<=fim && check_cancela)
julianonn 3:f183d2ffae11 1577 {
julianonn 3:f183d2ffae11 1578 lcd.locate(1,aux);
julianonn 3:f183d2ffae11 1579 lcd.printf(tela_Cola_Quant[i]);
julianonn 3:f183d2ffae11 1580 i+=1;
julianonn 3:f183d2ffae11 1581 aux+=1;
julianonn 3:f183d2ffae11 1582 }
julianonn 3:f183d2ffae11 1583 posiciona_cursor(0);
julianonn 3:f183d2ffae11 1584 }
julianonn 3:f183d2ffae11 1585 else
julianonn 3:f183d2ffae11 1586 {
julianonn 3:f183d2ffae11 1587 Pcola[tam_pontos] = 0;
julianonn 3:f183d2ffae11 1588 Pcola_quant[tam_pontos] = 0;
julianonn 3:f183d2ffae11 1589 flagMenu = 0;
julianonn 3:f183d2ffae11 1590 select+=1;
julianonn 3:f183d2ffae11 1591 }
julianonn 3:f183d2ffae11 1592
julianonn 3:f183d2ffae11 1593
julianonn 3:f183d2ffae11 1594 break;
julianonn 3:f183d2ffae11 1595 case 4:
julianonn 3:f183d2ffae11 1596 lcd.cls();
julianonn 3:f183d2ffae11 1597 Pcola_quant[tam_pontos] = select1 - 1;
julianonn 3:f183d2ffae11 1598 sim_nao("Deseja definir mais um ponto?");
julianonn 3:f183d2ffae11 1599 flagMenu = 1;
julianonn 3:f183d2ffae11 1600 break;
julianonn 3:f183d2ffae11 1601 case 5:
julianonn 3:f183d2ffae11 1602 tam_pontos +=1;
julianonn 3:f183d2ffae11 1603 lcd.cls();
julianonn 3:f183d2ffae11 1604 if (escolha ==1)
julianonn 3:f183d2ffae11 1605 {
julianonn 3:f183d2ffae11 1606 select = 0;
julianonn 3:f183d2ffae11 1607 select1 = -1;
julianonn 3:f183d2ffae11 1608 }
julianonn 3:f183d2ffae11 1609 else
julianonn 3:f183d2ffae11 1610 {
julianonn 3:f183d2ffae11 1611 select = 0;
julianonn 3:f183d2ffae11 1612 select1= 0;
julianonn 3:f183d2ffae11 1613 lcd.cls();
julianonn 3:f183d2ffae11 1614 lcd.locate(3,1);
julianonn 3:f183d2ffae11 1615 lcd.printf("Programa Salvo");
julianonn 3:f183d2ffae11 1616 wait(2);
julianonn 3:f183d2ffae11 1617 k = 1;
julianonn 3:f183d2ffae11 1618 }
julianonn 3:f183d2ffae11 1619 flagMenu = 0;
julianonn 3:f183d2ffae11 1620 break;
julianonn 3:f183d2ffae11 1621 }
julianonn 3:f183d2ffae11 1622 enable_buttons();
julianonn 3:f183d2ffae11 1623 if (k)
julianonn 3:f183d2ffae11 1624 {
julianonn 3:f183d2ffae11 1625 break;
julianonn 3:f183d2ffae11 1626 }
julianonn 3:f183d2ffae11 1627 flagMenu= !flagMenu;
julianonn 3:f183d2ffae11 1628 }
julianonn 3:f183d2ffae11 1629 }
julianonn 3:f183d2ffae11 1630 else{
julianonn 3:f183d2ffae11 1631 pressionado();
julianonn 3:f183d2ffae11 1632 break;
julianonn 3:f183d2ffae11 1633 }
julianonn 3:f183d2ffae11 1634 }
julianonn 3:f183d2ffae11 1635 }
julianonn 3:f183d2ffae11 1636
julianonn 3:f183d2ffae11 1637 void novo_programa()
julianonn 3:f183d2ffae11 1638 {
julianonn 3:f183d2ffae11 1639
julianonn 3:f183d2ffae11 1640 escolha = 0;
julianonn 3:f183d2ffae11 1641 check_cancela = 1;
julianonn 3:f183d2ffae11 1642 lcd.cls();
julianonn 3:f183d2ffae11 1643 lcd.locate(1,0);
julianonn 3:f183d2ffae11 1644 lcd.printf("Este processo ira");
julianonn 3:f183d2ffae11 1645 lcd.locate(5,1);
julianonn 3:f183d2ffae11 1646 lcd.printf("deletar");
julianonn 3:f183d2ffae11 1647 lcd.locate(1,2);
julianonn 3:f183d2ffae11 1648 lcd.printf("o antigo programa");
julianonn 3:f183d2ffae11 1649 wait(3);
julianonn 3:f183d2ffae11 1650 lcd.cls();
julianonn 3:f183d2ffae11 1651
julianonn 3:f183d2ffae11 1652 while(check_cancela)
julianonn 3:f183d2ffae11 1653 { if(seguranca){
julianonn 3:f183d2ffae11 1654
julianonn 3:f183d2ffae11 1655 sim_nao("Criar novo programa?");
julianonn 3:f183d2ffae11 1656 if (escolha ==1)
julianonn 3:f183d2ffae11 1657 {
julianonn 3:f183d2ffae11 1658 lcd.cls();
julianonn 3:f183d2ffae11 1659 programar();
julianonn 3:f183d2ffae11 1660 select = 1;
julianonn 3:f183d2ffae11 1661 select1 = 0;
julianonn 3:f183d2ffae11 1662 cursor_row = 1;
julianonn 3:f183d2ffae11 1663 flagMenu = 0;
julianonn 3:f183d2ffae11 1664 break;
julianonn 3:f183d2ffae11 1665 }
julianonn 3:f183d2ffae11 1666 if (escolha == 2)
julianonn 3:f183d2ffae11 1667 {
julianonn 3:f183d2ffae11 1668 select = 1;
julianonn 3:f183d2ffae11 1669 select1 = 0;
julianonn 3:f183d2ffae11 1670 cursor_row = 1;
julianonn 3:f183d2ffae11 1671 flagMenu = 0;
julianonn 3:f183d2ffae11 1672 break;
julianonn 3:f183d2ffae11 1673 }
julianonn 3:f183d2ffae11 1674 }
julianonn 3:f183d2ffae11 1675 else{
julianonn 3:f183d2ffae11 1676 pressionado();
julianonn 3:f183d2ffae11 1677 break;
julianonn 3:f183d2ffae11 1678 }
julianonn 3:f183d2ffae11 1679
julianonn 3:f183d2ffae11 1680 }
julianonn 3:f183d2ffae11 1681
julianonn 3:f183d2ffae11 1682 if (!check_cancela)
julianonn 3:f183d2ffae11 1683 {
julianonn 3:f183d2ffae11 1684 lcd.cls();
julianonn 3:f183d2ffae11 1685 lcd.locate(1,1);
julianonn 3:f183d2ffae11 1686 lcd.printf("Operacao cancelada");
julianonn 3:f183d2ffae11 1687 wait(1.2);
julianonn 3:f183d2ffae11 1688 }
julianonn 3:f183d2ffae11 1689 select = 1;
julianonn 3:f183d2ffae11 1690 select1 = 0;
julianonn 3:f183d2ffae11 1691 cursor_row = 1;
julianonn 3:f183d2ffae11 1692 flagMenu = 0;
julianonn 3:f183d2ffae11 1693 check_cancela = 1;
julianonn 3:f183d2ffae11 1694 }
julianonn 3:f183d2ffae11 1695
julianonn 3:f183d2ffae11 1696
julianonn 3:f183d2ffae11 1697 void desliga(){
julianonn 3:f183d2ffae11 1698 seguranca=0;
julianonn 3:f183d2ffae11 1699 }
julianonn 3:f183d2ffae11 1700 void liga(){
julianonn 3:f183d2ffae11 1701 seguranca=1;
julianonn 3:f183d2ffae11 1702 flagMenu=1;
julianonn 3:f183d2ffae11 1703 select = 0;
julianonn 3:f183d2ffae11 1704 select1 = 0;
julianonn 3:f183d2ffae11 1705 cursor_row = 1;
julianonn 3:f183d2ffae11 1706 }
simon 0:334327d1a416 1707
simon 0:334327d1a416 1708 int main() {
julianonn 3:f183d2ffae11 1709 enableX = 1;
julianonn 3:f183d2ffae11 1710 enableY= 1;
julianonn 3:f183d2ffae11 1711 enableZ= 1;
julianonn 3:f183d2ffae11 1712
julianonn 3:f183d2ffae11 1713 Valvula_embolo = 0;
julianonn 3:f183d2ffae11 1714 Valvula_ponta = 1;
julianonn 3:f183d2ffae11 1715
julianonn 3:f183d2ffae11 1716 Emergencia.fall(&desliga);
julianonn 3:f183d2ffae11 1717 Emergencia.rise(&liga);
julianonn 3:f183d2ffae11 1718
julianonn 3:f183d2ffae11 1719 X.rise(&eixox);
julianonn 3:f183d2ffae11 1720 Y.rise(&eixoy);
julianonn 3:f183d2ffae11 1721 Z.rise(&eixoz);
julianonn 3:f183d2ffae11 1722 cancelar.rise(&cancela);
julianonn 3:f183d2ffae11 1723 desliga_eixos();
julianonn 3:f183d2ffae11 1724 lcd.cls();
julianonn 3:f183d2ffae11 1725
julianonn 3:f183d2ffae11 1726 button_UP.rise(&change_menu_UP);
julianonn 3:f183d2ffae11 1727 button_DOWN.rise(&change_menu_DOWN);
julianonn 3:f183d2ffae11 1728 enter.rise(&select_menu);
julianonn 3:f183d2ffae11 1729 if(Emerg){
julianonn 3:f183d2ffae11 1730 Referenciar();
julianonn 3:f183d2ffae11 1731 }
julianonn 3:f183d2ffae11 1732 else{
julianonn 3:f183d2ffae11 1733 while(Emerg==0){
julianonn 3:f183d2ffae11 1734 if (printou == 0){
julianonn 3:f183d2ffae11 1735 pressionado();
julianonn 3:f183d2ffae11 1736 }
julianonn 3:f183d2ffae11 1737 }
julianonn 3:f183d2ffae11 1738 Referenciar();
julianonn 3:f183d2ffae11 1739 }
julianonn 3:f183d2ffae11 1740
julianonn 3:f183d2ffae11 1741
julianonn 3:f183d2ffae11 1742 cursor_row = 1;
julianonn 3:f183d2ffae11 1743
julianonn 3:f183d2ffae11 1744 while (true)
julianonn 3:f183d2ffae11 1745 {
julianonn 3:f183d2ffae11 1746 if (seguranca && Emerg){
julianonn 3:f183d2ffae11 1747 printou = 0;
julianonn 3:f183d2ffae11 1748 if(!check_cancela)
julianonn 3:f183d2ffae11 1749 {
julianonn 3:f183d2ffae11 1750 select = 0;
julianonn 3:f183d2ffae11 1751 select1 = 0;
julianonn 3:f183d2ffae11 1752 cursor_row = 1;
julianonn 3:f183d2ffae11 1753 check_cancela = 1;
julianonn 3:f183d2ffae11 1754 flagMenu = 1;
julianonn 3:f183d2ffae11 1755 }
julianonn 3:f183d2ffae11 1756 if (flagMenu)
julianonn 3:f183d2ffae11 1757 {
julianonn 3:f183d2ffae11 1758
julianonn 3:f183d2ffae11 1759 if (flagSelect)
julianonn 3:f183d2ffae11 1760 {
julianonn 3:f183d2ffae11 1761 check_cancela = 1;
julianonn 3:f183d2ffae11 1762 if (select ==0)
julianonn 3:f183d2ffae11 1763 {
julianonn 3:f183d2ffae11 1764 select = cursor_row;
julianonn 3:f183d2ffae11 1765 cursor_row = 0;
julianonn 3:f183d2ffae11 1766 }
julianonn 3:f183d2ffae11 1767 else if (cursor_row ==0)
julianonn 3:f183d2ffae11 1768 {
julianonn 3:f183d2ffae11 1769 select = 0;
julianonn 3:f183d2ffae11 1770 select1 = 0;
julianonn 3:f183d2ffae11 1771 }
julianonn 3:f183d2ffae11 1772 else if(select !=0 && select1 ==0)
julianonn 3:f183d2ffae11 1773 {
julianonn 3:f183d2ffae11 1774 select1 = select;
julianonn 3:f183d2ffae11 1775 select = cursor_row;
julianonn 3:f183d2ffae11 1776 }
julianonn 3:f183d2ffae11 1777 else
julianonn 3:f183d2ffae11 1778 {
julianonn 3:f183d2ffae11 1779 select1 = cursor_row;
julianonn 3:f183d2ffae11 1780 }
julianonn 3:f183d2ffae11 1781 cursor_row = 1;
julianonn 3:f183d2ffae11 1782 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 1783
julianonn 3:f183d2ffae11 1784 }
julianonn 3:f183d2ffae11 1785
julianonn 3:f183d2ffae11 1786 disable_buttons();
julianonn 3:f183d2ffae11 1787 switch(select1)
julianonn 3:f183d2ffae11 1788 {
julianonn 3:f183d2ffae11 1789 case 0:
julianonn 3:f183d2ffae11 1790 switch(select)
julianonn 3:f183d2ffae11 1791 {
julianonn 3:f183d2ffae11 1792 case 0:
julianonn 3:f183d2ffae11 1793 Menu_Inicial();
julianonn 3:f183d2ffae11 1794 break;
julianonn 3:f183d2ffae11 1795 case 1:
julianonn 3:f183d2ffae11 1796 Menu_Programar();
julianonn 3:f183d2ffae11 1797 break;
julianonn 3:f183d2ffae11 1798 case 2:
julianonn 3:f183d2ffae11 1799 Referenciar();
julianonn 3:f183d2ffae11 1800 if(seguranca){
julianonn 3:f183d2ffae11 1801 Menu_Inicial();
julianonn 3:f183d2ffae11 1802 }
julianonn 3:f183d2ffae11 1803 break;
julianonn 3:f183d2ffae11 1804 case 3:
julianonn 3:f183d2ffae11 1805 Vazao();
julianonn 3:f183d2ffae11 1806 break;
julianonn 3:f183d2ffae11 1807 };
julianonn 3:f183d2ffae11 1808 break;
julianonn 3:f183d2ffae11 1809
julianonn 3:f183d2ffae11 1810 case 1:
julianonn 3:f183d2ffae11 1811 int iter = 21;
julianonn 3:f183d2ffae11 1812 switch(select)
julianonn 3:f183d2ffae11 1813 {
julianonn 3:f183d2ffae11 1814 case 0:
julianonn 3:f183d2ffae11 1815 Menu_Inicial();
julianonn 3:f183d2ffae11 1816 break;
julianonn 3:f183d2ffae11 1817 //Iniciar
julianonn 3:f183d2ffae11 1818 case 1:
julianonn 3:f183d2ffae11 1819 lcd.cls();
julianonn 3:f183d2ffae11 1820 lcd.printf("Quantas iteracoes?");
julianonn 3:f183d2ffae11 1821 lcd.locate(7,2);
julianonn 3:f183d2ffae11 1822 lcd.printf("N = ");
julianonn 3:f183d2ffae11 1823 cursor_row = 1;
julianonn 3:f183d2ffae11 1824 flagMenu = 1;
julianonn 3:f183d2ffae11 1825 flagSelect = 0;
julianonn 3:f183d2ffae11 1826
julianonn 3:f183d2ffae11 1827 while(check_cancela)
julianonn 3:f183d2ffae11 1828 {
julianonn 3:f183d2ffae11 1829 if(seguranca)
julianonn 3:f183d2ffae11 1830 {
julianonn 3:f183d2ffae11 1831 if(flagMenu)
julianonn 3:f183d2ffae11 1832 {
julianonn 3:f183d2ffae11 1833 disable_buttons();
julianonn 3:f183d2ffae11 1834 if(cursor_row >= 21)
julianonn 3:f183d2ffae11 1835 {
julianonn 3:f183d2ffae11 1836 cursor_row = 1;
julianonn 3:f183d2ffae11 1837 }
julianonn 3:f183d2ffae11 1838 if(cursor_row <= 0)
julianonn 3:f183d2ffae11 1839 {
julianonn 3:f183d2ffae11 1840 cursor_row = 20;
julianonn 3:f183d2ffae11 1841 }
julianonn 3:f183d2ffae11 1842
julianonn 3:f183d2ffae11 1843 if(flagSelect)
julianonn 3:f183d2ffae11 1844 {
julianonn 3:f183d2ffae11 1845 iteracoes = iter - cursor_row;
julianonn 3:f183d2ffae11 1846 cursor_row = 1;
julianonn 3:f183d2ffae11 1847 flagSelect = !flagSelect;
julianonn 3:f183d2ffae11 1848 break;
julianonn 3:f183d2ffae11 1849 }
julianonn 3:f183d2ffae11 1850
julianonn 3:f183d2ffae11 1851 lcd.locate(12,2);
julianonn 3:f183d2ffae11 1852 lcd.printf(" ");
julianonn 3:f183d2ffae11 1853 lcd.locate(11,2);
julianonn 3:f183d2ffae11 1854 lcd.printf("%i", iter - cursor_row);
julianonn 3:f183d2ffae11 1855 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 1856 wait(0.2);
julianonn 3:f183d2ffae11 1857 enable_buttons();
julianonn 3:f183d2ffae11 1858 }
julianonn 3:f183d2ffae11 1859 }
julianonn 3:f183d2ffae11 1860 else
julianonn 3:f183d2ffae11 1861 {
julianonn 3:f183d2ffae11 1862 break;
julianonn 3:f183d2ffae11 1863 }
julianonn 3:f183d2ffae11 1864
julianonn 3:f183d2ffae11 1865 }
julianonn 3:f183d2ffae11 1866
julianonn 3:f183d2ffae11 1867 disable_buttons();
julianonn 3:f183d2ffae11 1868 lcd.cls();
julianonn 3:f183d2ffae11 1869 lcd.locate(2,1);
julianonn 3:f183d2ffae11 1870 lcd.printf("Rodando codigo");
julianonn 3:f183d2ffae11 1871 lcd.locate(2,2);
julianonn 3:f183d2ffae11 1872 lcd.printf("iteracao:");
julianonn 3:f183d2ffae11 1873 select = 0;
julianonn 3:f183d2ffae11 1874 while(select < iteracoes && check_cancela)
julianonn 3:f183d2ffae11 1875 {
julianonn 3:f183d2ffae11 1876 if(seguranca){
julianonn 3:f183d2ffae11 1877 lcd.locate(11,2);
julianonn 3:f183d2ffae11 1878 lcd. printf("%d",select+1);
julianonn 3:f183d2ffae11 1879 rodar_programa();
julianonn 3:f183d2ffae11 1880 select++;
julianonn 3:f183d2ffae11 1881 }
julianonn 3:f183d2ffae11 1882 else{
julianonn 3:f183d2ffae11 1883 pressionado();
julianonn 3:f183d2ffae11 1884 break;
julianonn 3:f183d2ffae11 1885 }
julianonn 3:f183d2ffae11 1886 }
julianonn 3:f183d2ffae11 1887
julianonn 3:f183d2ffae11 1888 if (!check_cancela)
julianonn 3:f183d2ffae11 1889 {
julianonn 3:f183d2ffae11 1890 lcd.cls();
julianonn 3:f183d2ffae11 1891 lcd.locate(1,1);
julianonn 3:f183d2ffae11 1892 lcd.printf("Operacao cancelada");
julianonn 3:f183d2ffae11 1893 wait(1.2);
julianonn 3:f183d2ffae11 1894 }
julianonn 3:f183d2ffae11 1895 if (!seguranca)
julianonn 3:f183d2ffae11 1896 {
julianonn 3:f183d2ffae11 1897 pressionado();
julianonn 3:f183d2ffae11 1898 }
julianonn 3:f183d2ffae11 1899 check_cancela = 1;
julianonn 3:f183d2ffae11 1900 select1 = 0;
julianonn 3:f183d2ffae11 1901 select = 0;
julianonn 3:f183d2ffae11 1902 flagMenu = 1;
julianonn 3:f183d2ffae11 1903 cursor_row =1;
julianonn 3:f183d2ffae11 1904 select_menu();
julianonn 3:f183d2ffae11 1905 break;
julianonn 3:f183d2ffae11 1906 //Editar
julianonn 3:f183d2ffae11 1907 case 2:
julianonn 3:f183d2ffae11 1908 Programar_editar();
julianonn 3:f183d2ffae11 1909 break;
julianonn 3:f183d2ffae11 1910 //Novo Programa
julianonn 3:f183d2ffae11 1911 case 3:
julianonn 3:f183d2ffae11 1912 novo_programa();
julianonn 3:f183d2ffae11 1913 check_cancela = 1;
julianonn 3:f183d2ffae11 1914 break;
julianonn 3:f183d2ffae11 1915 };
julianonn 3:f183d2ffae11 1916 break;
julianonn 3:f183d2ffae11 1917
julianonn 3:f183d2ffae11 1918 }
julianonn 3:f183d2ffae11 1919
julianonn 3:f183d2ffae11 1920 enable_buttons();
julianonn 3:f183d2ffae11 1921
julianonn 3:f183d2ffae11 1922 flagMenu = !flagMenu;
julianonn 3:f183d2ffae11 1923
julianonn 3:f183d2ffae11 1924 }
julianonn 3:f183d2ffae11 1925 }
julianonn 3:f183d2ffae11 1926 else{
julianonn 3:f183d2ffae11 1927 pressionado();
julianonn 3:f183d2ffae11 1928 }
julianonn 3:f183d2ffae11 1929 }
simon 0:334327d1a416 1930 }