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: BMP180 N5110 PowerControl mbed
Diff: main.cpp
- Revision:
- 2:1d7ef0f49b35
- Parent:
- 1:e60b9f116d38
- Child:
- 3:8a559b949470
--- a/main.cpp Thu Apr 09 18:59:44 2015 +0000
+++ b/main.cpp Thu Apr 09 20:40:25 2015 +0000
@@ -10,7 +10,8 @@
Serial serial(USBTX,USBRX);
InterruptIn button1(p16);
InterruptIn button2(p17);
-
+InterruptIn button3 (p15);
+InterruptIn button4 (p18);
Ticker timer; //Create ticker object for temperature and pressure readings
@@ -21,6 +22,11 @@
int timerFlag = 0; // Flag for tempesrature pressure reading ISR
int button1Flag = 0;
int button2Flag = 0 ;
+int button3Flag = 0 ;
+int button4Flag = 0 ;
+
+
+
int choice=1 ;
int length;
@@ -55,6 +61,23 @@
}
+
+void button3Pressed()
+{
+ button3Flag=1;
+}
+
+
+
+void button4Pressed()
+{
+ button4Flag = 1 ;
+}
+
+
+
+
+
void timer1Expired()
{
// set flag
@@ -132,6 +155,86 @@
}
+
+
+void settingsMenu()
+{
+
+
+ choice = 1 ;
+ while(1) {
+ setTime();
+ switch (choice) {
+ case 1:
+
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Time/Date",10,1);
+ lcd.printString("Units",0,2);
+ lcd.printString("Brightness",0,3);
+ lcd.printString("Power Saver",0,4);
+ lcd.printString("Log Interval",0,5);
+ lcd.drawCircle(5,12,3,1); // x,y,radius,black fill
+
+// rest of code here
+ break;
+ case 2:
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Time/Date",0,1);
+ lcd.printString("Units",10,2);
+ lcd.printString("Brightness",0,3);
+ lcd.printString("Power Saver",0,4);
+ lcd.printString("Log Interval",0,5);
+ lcd.drawCircle(5,20,3,1); // x,y,radius,black fill
+// rest of code here
+ break;
+ case 3:
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Time/Date",0,1);
+ lcd.printString("Units",0,2);
+ lcd.printString("Brightness",10,3);
+ lcd.printString("Power Saver",0,4);
+ lcd.printString("Log Interval",0,5);
+ lcd.drawCircle(5,28,3,1); // x,y,radius,black fill
+// rest of code here
+ break;
+ case 4:
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Time/Date",0,1);
+ lcd.printString("Units",0,2);
+ lcd.printString("Brightness",0,3);
+ lcd.printString("Power Saver",10,4);
+ lcd.printString("Log Interval",0,5);
+ lcd.drawCircle(5,36,3,1); // x,y,radius,black fill
+ break;
+ case 5:
+
+ lcd.clear();
+
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Time/Date",0,1);
+ lcd.printString("Units",0,2);
+ lcd.printString("Brightness",0,3);
+ lcd.printString("Power Saver",0,4);
+ lcd.printString("Log Interval",10,5);
+ lcd.drawCircle(5,44,3,1); // x,y,radius,black fill
+ break;
+ default:
+ leds = 15;
+ break;
+ }
+ wait (0.5);
+ if (button3Flag){
+ button3Flag=0;
+ break;
+ }
+ }
+}
+
+
void startMenu() //The menu displayed at the beginning
{
@@ -191,6 +294,10 @@
lcd.printString("Alarms",0,4);
lcd.printString("Settings",20,5);
lcd.drawCircle(5,44,3,1); // x,y,radius,black fill
+ if (button4Flag) {
+ button4Flag=0;
+ settingsMenu();
+ }
break;
default:
leds = 15;
@@ -200,6 +307,8 @@
+
+
int main()
{
@@ -210,6 +319,8 @@
timer1.attach(&timer1Expired,1.0);
button1.rise(&button1Pressed); // call ISR on rising edge (button1pressed)
button2.rise(&button2Pressed); // call ISR on rising edge (button2pressed)
+ button3.rise(&button3Pressed);
+ button4.rise(&button4Pressed);
set_time(0); // initialise time to 1st January 1970///// This is where we should set our time
@@ -217,7 +328,7 @@
setTime();
//updateData();
startMenu();
- wait (0.3);
+ wait (0.5);
}
}