Team Alpha / Mbed 2 deprecated UserIntefaceLCD

Dependencies:   mbed mbed-rtos MLX90614

Revision:
2:fcde41900fa5
Parent:
0:1e597b0f8b3b
Child:
3:688b62ff6474
--- a/main.cpp	Sat Mar 21 13:26:06 2015 +0000
+++ b/main.cpp	Sat Apr 04 18:24:21 2015 +0000
@@ -12,74 +12,80 @@
 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(){
-    
-    Header * header = new Header(70, 12, 'C', &st7565);
+    //create god UI object
     UI * ui = new UI(&st7565);
     
     //create main menu
     Menu * main_menu = new Menu(" Main Menu", &st7565, ui);
     
-    //create measure menu
-    Menu *measure = new Menu(" Measurement", &st7565, ui);
-    measure->addItem(new Menu(" Distance", &st7565, ui));
-    measure->addItem(new Menu(" Area", &st7565, ui));
-    measure->addItem(new Menu(" Volume", &st7565, ui));
-    measure->addItem(new Menu(" Back", main_menu, ui));
+    //create distance screen
+    Menu *distance = new Menu(" Distance", &st7565, ui);
+    distance->addItem(new Menu(" Back", main_menu, ui));
     
-    //create compass menu
-    Menu *compass = new Menu(" Compass", &st7565, ui);
-    compass->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 menu
+    //create level meter screen
     Menu *lvlm = new Menu(" Level meter", &st7565, ui);
     lvlm->addItem(new Menu(" Back", main_menu, ui));
     
-    //settings menu
+    //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 *b_settings = new Menu(" Brightness", &st7565, ui);
+    Menu *m_settings = new Menu(" Distance", &st7565, ui);
+    settings->addItem(m_settings);
     Menu *s_settings = new Menu(" Screen Colour", &st7565, ui);
-    Menu *m_settings = new Menu(" Measure settings", &st7565, ui);
-    settings->addItem(m_settings);
     settings->addItem(s_settings);
+    Menu *b_settings = new Menu(" Brightness", &st7565, ui);
     settings->addItem(b_settings);
     settings->addItem(new Menu(" Back", main_menu, ui));
     
-    //test menus
-    Menu *s1 = new Menu(" s2", &st7565, ui);
-    Menu *s2 = new Menu(" s3", &st7565, ui);
-    Menu *s3 = new Menu(" s4", &st7565, ui);
-    Menu *s4 = new Menu(" s5", &st7565, ui);
-    Menu *s5 = new Menu(" s6", &st7565, ui);
-    Menu *s7 = new Menu(" s7", &st7565, ui);
-    Menu *s8 = new Menu(" s8", &st7565, ui);
-    Menu *s9 = new Menu(" s9", &st7565, ui);
-    Menu *s10 = new Menu(" s10", &st7565, ui);
-    
     //add menus to main menu
-    main_menu->addItem(measure);
+    main_menu->addItem(distance);
+    main_menu->addItem(p2p);
+    main_menu->addItem(lvlm);
     main_menu->addItem(compass);
-    main_menu->addItem(lvlm);
+    main_menu->addItem(thermo);
     main_menu->addItem(settings);
-    main_menu->addItem(s1);
-    main_menu->addItem(s2);
-    main_menu->addItem(s3);
+    
+    //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();
     
-    main_menu->addItem(s4);
-    main_menu->addItem(s5);
-    main_menu->addItem(s7);
-    main_menu->addItem(s8);
-    main_menu->addItem(s9);
-    main_menu->addItem(s10);
-    
-    ui->setHeader(header);
-    ui->setCurrent(main_menu);
-    
-    ui->init();
-    ui->display();
     while(1) {
-        char c = pc.getc();
-        pc.putc(c);
-        ui->update(c);
+        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);
+        }
+        */
     }
 }
\ No newline at end of file