Código para o menu no LCD

Dependencies:   mbed SDFileSystemSD TextLCD

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

main.cpp

Committer:
claraluques
Date:
2018-05-22
Revision:
30:614dcbd74cdc
Parent:
29:558eccdfc079
Child:
31:77eb51d4ee18

File content as of revision 30:614dcbd74cdc:

/*CÓDIGO PARA LCD MENU HELLEN - GRUPO T*/

#include "mbed.h"
#include "TextLCD.h"
#include "SDFileSystem.h"
#include "string"
#include "vector"

// Host PC Communication channels
Serial pc(USBTX, USBRX); // tx, rx //não apagar
 
//I2C Communication
I2C i2c_lcd(D14,D15); // SDA, SCL //não apagar

//Botão push
InterruptIn botao_enter(D13);
InterruptIn botao_cima(D10);
InterruptIn botao_baixo(D9);

//LCD instantiation 
TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD20x4); //não apagar

//variáveis int
int bot_enter;
int bot_cima;
int bot_baixo;
int penter = 0;
int pcima = 0;
int pbaixo = 0;
int cola;
int exec;
int select = 0;
int pontos = 0;
int salvar = 0;
int maxpontos = 5;
int home;

//variáveis float
float cx = 120.458;
float cy = 457.854;
float cz = 782.659;
float cx_salva;
float cy_salva;
float cz_salva;

//funções interrupt
void botenter_press(void);
void botenter_solto(void);

void botcima_press(void);
void botcima_solto(void);

void botbaixo_press(void);
void botbaixo_solto(void);

#include "classes.h"

Menu::Menu(){ //não apagar
    func = 0;
    }

Menu menu;  

int main () {
    lcd.setBacklight(TextLCD::LightOn); //liga backlight
    lcd.setCursor(TextLCD::CurOff_BlkOff); //define tipo de cursor
    
    botao_enter.rise(&botenter_press); //chama função botao enter
    botao_cima.rise(&botcima_press); //chama função botao para cima
    botao_baixo.rise(&botbaixo_press); //chama função bota para baixo
       
    while(1){    
        switch(menu.func){ //faz com que as telas sejam iniciadas
            case 0: menu.inicializar(); break;
            case 1: menu.menuprincipal(); break;
            case 2: menu.jog(); break;
            case 3: menu.automatico(); break;
            case 4: menu.config(); break;
            case 5: menu.telasalvamento(); break;
            case 6: menu.telacola(); break;
            case 7: menu.executarprograma(); break;
            case 8: menu.telazerar(); break;
            case 9: menu.executando(); break;
            case 10: menu.zerado(); break;
            case 11: menu.finalizado(); break;
            case 15: menu.gohome(); break;
            case 16: menu.limitepontos(); break;
            case 17: menu.salvarprog(); break;
            case 18: menu.ctzhome(); break;
            case 19: menu.origem(); break;
            case 20: menu.nomeprog(); break;
            }
        } 
    }             
        
//função interrupt botão enter        
    void botenter_press(void){          
              penter = bot_enter;
              bot_enter = !bot_enter;
              printf("enter high\n\r");
              }
          
//função interrupt botão cima          
    void botcima_press(void){
              pcima = bot_cima;
              bot_cima = !bot_cima;
              printf("cima high\n\r");
              }

//função interrupt botão baixo          
    void botbaixo_press(void){
              pbaixo = bot_baixo;
              bot_baixo = !bot_baixo;
              printf("baixo high\n\r");
              }