Código para o menu no LCD
Dependencies: mbed SDFileSystemSD TextLCD
Fork of TextLCD_HelloWorld2 by
Diff: classes.h
- Revision:
- 33:0149960e95c1
- Parent:
- 32:c293f89170b0
- Child:
- 34:7c7fac39a250
- Child:
- 45:6701e27510f9
diff -r c293f89170b0 -r 0149960e95c1 classes.h --- a/classes.h Wed May 23 14:54:13 2018 +0000 +++ b/classes.h Wed May 23 22:47:31 2018 +0000 @@ -334,112 +334,21 @@ } bot_baixo = 1; } - //função para printar as coordenadas nas telas 2 e 8 - /*else if (func==2 || func==8){ - //x - if (cx<=-1 && cx>=-9){ - lcd.locate(2,1); - lcd.printf(" %.2f ", cx); - } - if (cx<=-10 && cx>=-99){ - lcd.locate(2,1); - lcd.printf(" %.2f ", cx); - } - if (cx<=-100){ - lcd.locate(2,1); - lcd.printf("%.2f ", cx); - } - if (cx<=9 && cx>=0){ - lcd.locate(2,1); - lcd.printf(" %.2f ", cx); - } - if (cx>=10 && cx<=99){ - lcd.locate(2,1); - lcd.printf(" %.2f ", cx); - } - if (cx>=100){ - lcd.locate(2,1); - lcd.printf(" %.2f ", cx); - } - //y - if (cy<=-1 && cy>=-9){ - lcd.locate(2,2); - lcd.printf(" %.2f ", cy); - } - if (cy<=-10 && cx>=-99){ - lcd.locate(2,2); - lcd.printf(" %.2f ", cy); - } - if (cy<=-100){ - lcd.locate(2,2); - lcd.printf("%.2f ", cy); - } - if (cy<=9 && cy>=0){ - lcd.locate(2,2); - lcd.printf(" %.2f ", cy); - } - if (cy>=10 && cx<=99){ - lcd.locate(2,2); - lcd.printf(" %.2f ", cy); - } - if (cy>=100){ - lcd.locate(2,2); - lcd.printf(" %.2f ", cy); - } - //z - if (cz<=-1 && cz>=-9){ - lcd.locate(2,3); - lcd.printf(" %.2f ", cz); - } - if (cz<=-10 && cx>=-99){ - lcd.locate(2,3); - lcd.printf(" %.2f ", cz); - } - if (cz<=-100){ - lcd.locate(2,3); - lcd.printf("%.2f ", cz); - } - if (cz<=9 && cz>=0){ - lcd.locate(2,3); - lcd.printf(" %.2f ", cz); - } - if (cz>=10 && cx<=99){ - lcd.locate(2,3); - lcd.printf(" %.2f ", cz); - } - if (cz>=100){ - lcd.locate(2,3); - lcd.printf(" %.2f ", cz); - } - } //até aqui, para alinhar os números - if (Mach.readable()){ - readSerial(); - }*/ - } - + } } - /*void inicializar(){ - while (1){ - printf("%d,%d\n\r", bot_enter, penter); - wait(0.5); - } - }*/ //func 0 void inicializar(){ //função tela incial de boas-vindas - int status; - - printf("Starting...\n\r"); - + int status; + printf("Starting...\n\r"); machine.reset(); lcd.cls(); lcd.locate(4,0); lcd.printf("Bem-vindo(a)"); lcd.locate(0,1); lcd.printf("Utilize seu EPI para operar a maquina."); - wait(1); - + wait(1); /*status = sdcard.get_file_names(); if(status){ printf("Filenames: \n\r"); @@ -487,41 +396,43 @@ wait(0.1); machine.jog(); lcd.locate(4,0); - lcd.printf("Coordenadas:"); - lcd.locate(0,1); - lcd.printf("X:"); - lcd.locate(0,2); - lcd.printf("Y:"); - lcd.locate(0,3); - lcd.printf("Z:"); - lcd.locate(11,1); + lcd.printf(""); + lcd.locate(6,1); lcd.printf("Salvar"); - lcd.locate(11,2); + lcd.locate(6,2); lcd.printf("Concluir"); - lcd.locate(11,3); + lcd.locate(6,3); lcd.printf("Cancelar"); - movercursor(1,3,10); + movercursor(1,3,5); if (bot_enter!=penter){ if (linha==1){ - /*if (pontos==0 && maxpontos>=1){ + if (pontos==0 && maxpontos>10){ cx_salva = 0; cy_salva = 0; cz_salva = 0; pontos++; maxpontos--; - func = 5; + func = 22; } - else if (pontos>=1 && maxpontos>=1){ + else if (pontos>=1 && maxpontos>10){ cx_salva = cx; cy_salva = cy; cz_salva = cz; - */pontos++; + pontos++; maxpontos--; - func = 5;/* + func = 22; + } + else if (maxpontos<=10){ + cx_salva = cx; + cy_salva = cy; + cz_salva = cz; + pontos++; + maxpontos--; + func = 5; } else if (maxpontos==0){ func = 16; - }*/ + } } else if (linha==2) { machine.kill_jog(); @@ -855,11 +766,16 @@ void nomeprog(){ nome = ""; sair = 0; + voltar = 0; + coluna = 1; lcd.cls(); bot_enter = penter; escrever(); + //lcd.setCursor(TextLCD::CurOff_BlkOff); if (sair==1){ - printf("hey\n\r"); + int len = nome.length(); + printf("%d\n\r", len); + nome.erase(len - 1); nome.append(".txt"); printf("%s\n\r", nome); int verificar = sdcard.check_name_available(nome); @@ -868,10 +784,10 @@ file_name = nome; machine.get_saved_points(); printf("ok\n\r"); - func = 1; + func = 7; } else if (verificar==0){ - func = 21; + func = 20; printf("nok\n\r"); } } @@ -884,15 +800,108 @@ func = 20; } + //func 22 + void salva2(){ + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Voce salvou o ponto:"); + lcd.locate(5,1); + lcd.printf("X:"); + lcd.locate(5,2); + lcd.printf("Y:"); + lcd.locate(5,3); + lcd.printf("Z:"); + //x + if (cx<=-1 && cx>=-9){ + lcd.locate(7,1); + lcd.printf(" %.2f ", cx); + } + if (cx<=-10 && cx>=-99){ + lcd.locate(7,1); + lcd.printf(" %.2f ", cx); + } + if (cx<=-100){ + lcd.locate(7,1); + lcd.printf("%.2f ", cx); + } + if (cx<=9 && cx>=0){ + lcd.locate(7,1); + lcd.printf(" %.2f ", cx); + } + if (cx>=10 && cx<=99){ + lcd.locate(7,1); + lcd.printf(" %.2f ", cx); + } + if (cx>=100){ + lcd.locate(7,1); + lcd.printf(" %.2f ", cx); + } + //y + if (cy<=-1 && cy>=-9){ + lcd.locate(7,2); + lcd.printf(" %.2f ", cy); + } + if (cy<=-10 && cx>=-99){ + lcd.locate(7,2); + lcd.printf(" %.2f ", cy); + } + if (cy<=-100){ + lcd.locate(7,2); + lcd.printf("%.2f ", cy); + } + if (cy<=9 && cy>=0){ + lcd.locate(7,2); + lcd.printf(" %.2f ", cy); + } + if (cy>=10 && cx<=99){ + lcd.locate(7,2); + lcd.printf(" %.2f ", cy); + } + if (cy>=100){ + lcd.locate(7,2); + lcd.printf(" %.2f ", cy); + } + //z + if (cz<=-1 && cz>=-9){ + lcd.locate(7,3); + lcd.printf(" %.2f ", cz); + } + if (cz<=-10 && cx>=-99){ + lcd.locate(7,3); + lcd.printf(" %.2f ", cz); + } + if (cz<=-100){ + lcd.locate(7,3); + lcd.printf("%.2f ", cz); + } + if (cz<=9 && cz>=0){ + lcd.locate(7,3); + lcd.printf(" %.2f ", cz); + } + if (cz>=10 && cx<=99){ + lcd.locate(7,3); + lcd.printf(" %.2f ", cz); + } + if (cz>=100){ + lcd.locate(7,3); + lcd.printf(" %.2f ", cz); + } + wait(1); + func = 6; + } + //função para escrever nome arquivo void escrever(){ char alfabeto[38] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', '0','1','2','3','4','5','6','7','8','9','-','_'}; int imax = 37; int imin = 0; - lcd.locate(1,1); + //lcd.locate(1,1); while (sair==0){ + voltar = 0; int i = 0; + //lcd.locate(0,2); + //lcd.setCursor(TextLCD::CurOn_BlkOn); lcd.locate(1,1); lcd.printf("%s", nome); while (bot_enter==penter){ @@ -916,15 +925,41 @@ } lcd.locate(coluna, 1); lcd.printf("%c", alfabeto[i]); + lcd.locate(coluna,2); + lcd.printf("%c", 0x5E); } if (coluna<=18){ - if (coluna<18){ - coluna++; - } char carac = alfabeto[i]; nome.push_back(carac); printf("%s\n\r", nome); bot_enter = penter; + if (coluna<18){ + if (voltar==1){ + printf("voltar\n\r"); + if (coluna>1){ + //nome[coluna-1]=""; + lcd.locate(coluna, 1); + lcd.printf(" "); + lcd.locate(coluna, 2); + lcd.printf(" "); + coluna--; + nome.erase(coluna-1); + lcd.locate(coluna, 2); + lcd.printf("%c", 0x5E); + } + } + if (voltar==0){ + lcd.locate(coluna, 2); + lcd.printf(" "); + coluna++; + lcd.locate(coluna, 2); + lcd.printf("%c", 0x5E); + } + } + /*char carac = alfabeto[i]; + nome.push_back(carac); + printf("%s\n\r", nome); + bot_enter = penter;*/ } } }