Team Alpha / Mbed 2 deprecated UserIntefaceLCD

Dependencies:   mbed mbed-rtos MLX90614

main.cpp

Committer:
ovidiup13
Date:
2015-04-04
Revision:
2:fcde41900fa5
Parent:
0:1e597b0f8b3b
Child:
3:688b62ff6474

File content as of revision 2:fcde41900fa5:

#include "UserInterface.h"
#include "st7565LCD.h"

//define mbed pins
#define _MOSI p11
#define _MISO p12 
#define _SCLK p13
#define _RST p8
#define _A0 p25
#define _CS p26

ST7565 st7565(_MOSI, _SCLK, _CS, _RST, _A0); // mosi, sclk, cs, rst, a0
Serial pc(USBTX, USBRX); //rx, tx

//buttons
DigitalIn down(p18);
DigitalIn select(p19);

int main(){
    //create god UI object
    UI * ui = new UI(&st7565);
    
    //create main menu
    Menu * main_menu = new Menu(" Main Menu", &st7565, ui);
    
    //create distance screen
    Menu *distance = new Menu(" Distance", &st7565, ui);
    distance->addItem(new Menu(" Back", main_menu, ui));
    
    //create point-to-point screen
    Menu *p2p = new Menu(" Point2Point", &st7565, ui);
    p2p->addItem(new Menu(" Back", main_menu, ui));
    
    //create level meter screen
    Menu *lvlm = new Menu(" Level meter", &st7565, ui);
    lvlm->addItem(new Menu(" Back", main_menu, ui));
    
    //create compass screen
    Menu *compass = new Menu(" Compass", &st7565, ui);
    compass->addItem(new Menu(" Back", main_menu, ui));
    
    //create thermometer screen
    Menu *thermo = new Menu(" Thermometer", &st7565, ui);
    thermo->addItem(new Menu(" Back", main_menu, ui));
    
    //create settings menu
    Menu *settings = new Menu(" Settings", &st7565, ui);
    Menu *m_settings = new Menu(" Distance", &st7565, ui);
    settings->addItem(m_settings);
    Menu *s_settings = new Menu(" Screen Colour", &st7565, ui);
    settings->addItem(s_settings);
    Menu *b_settings = new Menu(" Brightness", &st7565, ui);
    settings->addItem(b_settings);
    settings->addItem(new Menu(" Back", main_menu, ui));
    
    //add menus to main menu
    main_menu->addItem(distance);
    main_menu->addItem(p2p);
    main_menu->addItem(lvlm);
    main_menu->addItem(compass);
    main_menu->addItem(thermo);
    main_menu->addItem(settings);
    
    //create header object
    Header * header = new Header(70, "", &st7565);
    
    //set header and current menu
    ui->setCurrent(main_menu);
    header->setTitle(main_menu->getTitle());
    ui->setHeader(header);
    
    //initialize the display
    ui->init();
    
    while(1) {
        if(down){
            ui->update('s');
            wait(0.2);
        }
        else if(select){
            ui->update('y');
            wait(0.2);
        }
        /*
        else{
            char c = pc.getc();
            ui->update(c);
        }
        */
    }
}