Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mbed-rtos MLX90614
Diff: main.cpp
- Revision:
- 2:fcde41900fa5
- Parent:
- 0:1e597b0f8b3b
- Child:
- 3:688b62ff6474
diff -r 0ea18607f944 -r fcde41900fa5 main.cpp
--- 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