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-15
Revision:
21:7603fe283ba4
Parent:
20:ccbd80b668ce
Child:
22:22ddb0b21d48

File content as of revision 21:7603fe283ba4:

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

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

// 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 = 10;

//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;
    }

Machine machine;
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 16: menu.limitepontos(); break;
            }
        } 
    }             
        
//função interrupt botão enter        
    void botenter_press(void){          
              penter = bot_enter;
              bot_enter = !bot_enter;
              //printf("enter high");
              }
          
//função interrupt botão cima          
    void botcima_press(void){
              pcima = bot_cima;
              bot_cima = !bot_cima;
              //printf("cima high");
              }

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