Código para o menu no LCD
Dependencies: mbed SDFileSystemSD TextLCD
Fork of TextLCD_HelloWorld2 by
Diff: main.cpp
- Revision:
- 6:24cbbdf2dac2
- Parent:
- 5:30f5ffe0ea0b
- Child:
- 7:e2c1b0338286
diff -r 30f5ffe0ea0b -r 24cbbdf2dac2 main.cpp --- a/main.cpp Wed May 09 20:27:39 2018 +0000 +++ b/main.cpp Thu May 10 18:40:36 2018 +0000 @@ -105,11 +105,14 @@ int bot_enter; int bot_cima; int bot_baixo; +int penter = 0; +int pcima = 0; +int pbaixo = 0; //variáveis float -float cx = 123; -float cy = 456; -float cz = 789; +float cx = 12; +float cy = 45; +float cz = 78; //funções interrupt void botenter_press(void); @@ -128,32 +131,48 @@ int coluna; int func; - void movercursor(int min, int max){ //função para mover cursor de seleção - coluna = 0; + void movercursor(int min, int max, int col){ //função para mover cursor de seleção linha = min; - while (bot_enter==0){ + while (bot_enter==penter){ if (bot_cima==1){ if (linha==min){ + lcd.locate(col,min); + lcd.printf(" "); linha=max; + lcd.locate(col, linha); + lcd.printf("%c", 0x3E); } else { + lcd.locate(col,linha); + lcd.printf(" "); linha--; + lcd.locate(col, linha); + lcd.printf("%c", 0x3E); } - + bot_cima = 0; } if (bot_baixo==1){ if (linha==max){ + lcd.locate(col,max); + lcd.printf(" "); linha=min; + lcd.locate(col, linha); + lcd.printf("%c", 0x3E); } else { + lcd.locate(col,linha); + lcd.printf(" "); linha++; + lcd.locate(col, linha); + lcd.printf("%c", 0x3E); } + bot_baixo = 0; } - lcd.locate(coluna, linha); - lcd.printf("%c", 0x3E); - printf("%d \n\r",linha); + //lcd.locate(col, linha); + //lcd.printf("%c", 0x3E); + //printf("%d \n\r",linha); printf("%d %d %d \n\r", bot_enter, bot_cima, bot_baixo); - wait(2); + wait_ms(500); } //printf("%d \n\r",linha); } @@ -179,8 +198,8 @@ lcd.printf("Modo Automatico"); lcd.locate(1,2); lcd.printf("Config"); - movercursor(0,2); - if (bot_enter==1){ + movercursor(0,2,0); + if (bot_enter!=penter){ if (linha==0){ func = 2; } @@ -192,6 +211,35 @@ } } } + + + //func 2 + void jog(){ //função tela jog + lcd.cls(); + lcd.locate(0,0); + lcd.printf("X:%.1f Y:%.1f Z:%.1f", cx, cy, cz); + lcd.locate(11,1); + lcd.printf("Salvar"); + lcd.locate(11,2); + lcd.printf("Concluir"); + lcd.locate(11,3); + lcd.printf("Cancelar"); + movercursor(1,3,11); + if (bot_enter!=penter){ + if (linha==1){ + func = 5; + } + else if (linha==2) { + func = 6; + } + else if (linha==3) { + func = 7; + } + } + + } + + Menu(); }; @@ -206,21 +254,21 @@ lcd.setCursor(TextLCD::CurOff_BlkOff); botao_enter.rise(&botenter_press); - botao_enter.fall(&botenter_solto); + //botao_enter.fall(&botenter_solto); botao_cima.rise(&botcima_press); - botao_cima.fall(&botcima_solto); + //botao_cima.fall(&botcima_solto); botao_baixo.rise(&botbaixo_press); - botao_baixo.fall(&botbaixo_solto); - + //botao_baixo.fall(&botbaixo_solto); + while(1){ //printf("%d %d %d \n\r", bot_enter, bot_cima, bot_baixo); switch(menu.func){ case 0: menu.inicializar(); break; case 1: menu.menuprincipal(); break; - //case 2: menu.notReferenced(); break; + case 2: menu.jog(); break; //case 3: menu.notReferenced(2); break; //case 4: menu.notReferenced(3); break; //case 5: menu.referencing(); break; @@ -243,34 +291,40 @@ //função interrupt botão enter void botenter_press(void){ - bot_enter = 1; + penter = bot_enter; + bot_enter = !bot_enter; printf("enter high"); } -void botenter_solto(void) { - bot_enter = 0; +/*void botenter_solto(void) { + penter = bot_enter; + bot_enter = !bot_enter; printf("enter low"); - } + }*/ //função interrupt botão cima void botcima_press(void){ - bot_cima = 1; + pcima = bot_cima; + bot_cima = !bot_cima; printf("cima high"); } -void botcima_solto(void) { - bot_cima = 0; +/*void botcima_solto(void) { + pcima = bot_cima; + bot_cima = !bot_cima; printf("cima low"); - } + }*/ //função interrupt botão baixo void botbaixo_press(void){ - bot_baixo = 1; + pbaixo = bot_baixo; + bot_baixo = !bot_baixo; printf("baixo high"); } -void botbaixo_solto(void) { - bot_baixo = 0; +/*void botbaixo_solto(void) { + pbaixo = bot_baixo; + bot_baixo = !bot_baixo; printf("baixo low"); - } + }*/ \ No newline at end of file