Código para o menu no LCD

Dependencies:   mbed SDFileSystemSD TextLCD

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

Committer:
lucasfontenla
Date:
Mon May 21 19:45:56 2018 +0000
Revision:
29:558eccdfc079
Parent:
28:b3c51076ebe8
Child:
30:614dcbd74cdc
Fun??es SD Adicionadas e funcionando (precisam de uma melhor integra??o com a IHM)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
claraluques 11:6b7accf18fe2 1 /*CÓDIGO PARA LCD MENU HELLEN - GRUPO T*/
claraluques 11:6b7accf18fe2 2
wim 0:a75049de1a82 3 #include "mbed.h"
wim 0:a75049de1a82 4 #include "TextLCD.h"
lucasfontenla 28:b3c51076ebe8 5 #include "SDFileSystem.h"
claraluques 19:2c890ae2d187 6 #include "string"
lucasfontenla 29:558eccdfc079 7 #include "vector"
claraluques 11:6b7accf18fe2 8
claraluques 5:30f5ffe0ea0b 9 // Host PC Communication channels
claraluques 11:6b7accf18fe2 10 Serial pc(USBTX, USBRX); // tx, rx //não apagar
wim 4:a3e4bb2053cb 11
claraluques 5:30f5ffe0ea0b 12 //I2C Communication
claraluques 11:6b7accf18fe2 13 I2C i2c_lcd(D14,D15); // SDA, SCL //não apagar
claraluques 5:30f5ffe0ea0b 14
claraluques 5:30f5ffe0ea0b 15 //Botão push
claraluques 5:30f5ffe0ea0b 16 InterruptIn botao_enter(D13);
claraluques 5:30f5ffe0ea0b 17 InterruptIn botao_cima(D10);
claraluques 5:30f5ffe0ea0b 18 InterruptIn botao_baixo(D9);
claraluques 5:30f5ffe0ea0b 19
claraluques 5:30f5ffe0ea0b 20 //LCD instantiation
claraluques 11:6b7accf18fe2 21 TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD20x4); //não apagar
claraluques 5:30f5ffe0ea0b 22
claraluques 5:30f5ffe0ea0b 23 //variáveis int
claraluques 5:30f5ffe0ea0b 24 int bot_enter;
claraluques 5:30f5ffe0ea0b 25 int bot_cima;
claraluques 5:30f5ffe0ea0b 26 int bot_baixo;
claraluques 6:24cbbdf2dac2 27 int penter = 0;
claraluques 6:24cbbdf2dac2 28 int pcima = 0;
claraluques 6:24cbbdf2dac2 29 int pbaixo = 0;
claraluques 9:86b5a317fcd4 30 int cola;
claraluques 9:86b5a317fcd4 31 int exec;
claraluques 12:64ed645e79ad 32 int select = 0;
claraluques 26:59081efdce79 33 int pontos = 0;
claraluques 26:59081efdce79 34 int salvar = 0;
claraluques 26:59081efdce79 35 int maxpontos = 5;
claraluques 26:59081efdce79 36 int home;
wim 0:a75049de1a82 37
claraluques 5:30f5ffe0ea0b 38 //variáveis float
claraluques 7:e2c1b0338286 39 float cx = 120.458;
claraluques 7:e2c1b0338286 40 float cy = 457.854;
claraluques 7:e2c1b0338286 41 float cz = 782.659;
claraluques 8:b80f50544ddd 42 float cx_salva;
claraluques 8:b80f50544ddd 43 float cy_salva;
claraluques 8:b80f50544ddd 44 float cz_salva;
claraluques 5:30f5ffe0ea0b 45
claraluques 5:30f5ffe0ea0b 46 //funções interrupt
claraluques 5:30f5ffe0ea0b 47 void botenter_press(void);
claraluques 5:30f5ffe0ea0b 48 void botenter_solto(void);
wim 0:a75049de1a82 49
claraluques 5:30f5ffe0ea0b 50 void botcima_press(void);
claraluques 5:30f5ffe0ea0b 51 void botcima_solto(void);
claraluques 5:30f5ffe0ea0b 52
claraluques 5:30f5ffe0ea0b 53 void botbaixo_press(void);
claraluques 5:30f5ffe0ea0b 54 void botbaixo_solto(void);
claraluques 5:30f5ffe0ea0b 55
claraluques 19:2c890ae2d187 56 #include "classes.h"
claraluques 19:2c890ae2d187 57
claraluques 9:86b5a317fcd4 58 Menu::Menu(){ //não apagar
claraluques 12:64ed645e79ad 59 func = 0;
claraluques 9:86b5a317fcd4 60 }
wim 3:f238b4f7874f 61
claraluques 5:30f5ffe0ea0b 62 Menu menu;
claraluques 19:2c890ae2d187 63
claraluques 5:30f5ffe0ea0b 64 int main () {
claraluques 5:30f5ffe0ea0b 65 lcd.setBacklight(TextLCD::LightOn); //liga backlight
claraluques 9:86b5a317fcd4 66 lcd.setCursor(TextLCD::CurOff_BlkOff); //define tipo de cursor
claraluques 5:30f5ffe0ea0b 67
claraluques 9:86b5a317fcd4 68 botao_enter.rise(&botenter_press); //chama função botao enter
claraluques 9:86b5a317fcd4 69 botao_cima.rise(&botcima_press); //chama função botao para cima
claraluques 9:86b5a317fcd4 70 botao_baixo.rise(&botbaixo_press); //chama função bota para baixo
claraluques 6:24cbbdf2dac2 71
claraluques 5:30f5ffe0ea0b 72 while(1){
claraluques 9:86b5a317fcd4 73 switch(menu.func){ //faz com que as telas sejam iniciadas
claraluques 5:30f5ffe0ea0b 74 case 0: menu.inicializar(); break;
claraluques 5:30f5ffe0ea0b 75 case 1: menu.menuprincipal(); break;
claraluques 6:24cbbdf2dac2 76 case 2: menu.jog(); break;
claraluques 12:64ed645e79ad 77 case 3: menu.automatico(); break;
claraluques 13:1670c34440a5 78 case 4: menu.config(); break;
claraluques 9:86b5a317fcd4 79 case 5: menu.telasalvamento(); break;
claraluques 9:86b5a317fcd4 80 case 6: menu.telacola(); break;
claraluques 9:86b5a317fcd4 81 case 7: menu.executarprograma(); break;
claraluques 9:86b5a317fcd4 82 case 8: menu.telazerar(); break;
claraluques 9:86b5a317fcd4 83 case 9: menu.executando(); break;
claraluques 9:86b5a317fcd4 84 case 10: menu.zerado(); break;
claraluques 9:86b5a317fcd4 85 case 11: menu.finalizado(); break;
claraluques 27:83d2a710cc2f 86 case 15: menu.gohome(); break;
claraluques 13:1670c34440a5 87 case 16: menu.limitepontos(); break;
claraluques 26:59081efdce79 88 case 17: menu.salvarprog(); break;
claraluques 27:83d2a710cc2f 89 case 18: menu.ctzhome(); break;
claraluques 27:83d2a710cc2f 90 case 19: menu.origem(); break;
claraluques 5:30f5ffe0ea0b 91 }
claraluques 5:30f5ffe0ea0b 92 }
claraluques 11:6b7accf18fe2 93 }
claraluques 5:30f5ffe0ea0b 94
claraluques 11:6b7accf18fe2 95 //função interrupt botão enter
claraluques 11:6b7accf18fe2 96 void botenter_press(void){
claraluques 11:6b7accf18fe2 97 penter = bot_enter;
claraluques 11:6b7accf18fe2 98 bot_enter = !bot_enter;
claraluques 27:83d2a710cc2f 99 //printf("enter high\n\r");
claraluques 11:6b7accf18fe2 100 }
claraluques 9:86b5a317fcd4 101
claraluques 11:6b7accf18fe2 102 //função interrupt botão cima
claraluques 11:6b7accf18fe2 103 void botcima_press(void){
claraluques 11:6b7accf18fe2 104 pcima = bot_cima;
claraluques 11:6b7accf18fe2 105 bot_cima = !bot_cima;
claraluques 20:ccbd80b668ce 106 //printf("cima high");
claraluques 11:6b7accf18fe2 107 }
wim 0:a75049de1a82 108
claraluques 5:30f5ffe0ea0b 109 //função interrupt botão baixo
claraluques 11:6b7accf18fe2 110 void botbaixo_press(void){
claraluques 11:6b7accf18fe2 111 pbaixo = bot_baixo;
claraluques 11:6b7accf18fe2 112 bot_baixo = !bot_baixo;
claraluques 20:ccbd80b668ce 113 //printf("baixo high");
claraluques 21:7603fe283ba4 114 }