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:
- 7:328dc986484f
- Parent:
- 6:03f12eda070d
- Child:
- 8:8b810c29eb7b
--- a/main.cpp Sun Apr 12 12:17:31 2015 +0000
+++ b/main.cpp Sun Apr 12 13:24:23 2015 +0000
@@ -26,6 +26,7 @@
int unitFlag = 1 ;
int powerSaverFlag = 0 ;
int lcdPowerFlag = 1 ; // Indicates if the LCD is switched on or powered off
+int dataLoggerFlag = 0 ;
@@ -39,6 +40,7 @@
int sec=1;
int UNIXdate;
int powerSaverTime = 60;
+int dataLoggerTime = 60;
@@ -55,7 +57,8 @@
char Day[31];
char Hour[24];
char Min[60];
-char Time[2]; // string to store the powerSaverTime value to display on the LCD
+char PowerSaverTime[2]; // string to store the powerSaverTime value to display on the LCD
+char DataLoggerTime[2]; // string to store the time used for the logger to read data
void button1Pressed() //ISR to subtract 1 from the value of choice when the first button is pressed
@@ -188,25 +191,6 @@
-void updateData() //
-{
- while (1) {
- if (timerFlag) {
- timerFlag=0;
- readData();
- displayData();
- }
- if (button3Flag) {
- button3Flag = 0;
- break;
- }
-
- Sleep();
- }
-}
-
-
-
@@ -223,6 +207,24 @@
+
+void powerSaverCheck() // checks if the powersaverFlag is set
+{
+
+ if (powerSaverFlag == 1 ) {
+
+ powerSaverTimeout.attach(&savePower, powerSaverTime); // setup a timeiut to call the savePower function
+
+ }
+
+ else {
+ powerSaverTimeout.detach();
+
+ }
+}
+
+
+
void wakeUp () //Turns the LCD on after the mbed is interrupted
{
@@ -244,25 +246,102 @@
+void updateData() //
+{
+ while (1) {
+ if (timerFlag) {
+ timerFlag=0;
+ readData();
+ displayData();
+ }
+ if (button3Flag) {
+ button3Flag = 0;
+ break;
+ }
+
+ Sleep();
+ }
+}
+
+
+void dataLoggerSetting()
+{
+
+ lcd.clear();
+ choice = dataLoggerFlag ;
+ powerSaverCheck();
+
+ while (1) {
+ wakeUp();
+ int time = sprintf (DataLoggerTime, "%d min", dataLoggerTime/60);//convert integer to buffer str
+
+ if (choice < 1) {
+ choice = 2;
+ }
+ if (choice > 2) {
+ choice = 1;
+ }
+ if (dataLoggerTime > 1800) {
+ dataLoggerTime = 60 ;
+ }
+
+
+ switch (choice) {
+ case 1:
+
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Data Logger :",0,1);
+ lcd.printString("ON",0,2);
+ lcd.printString("Interval:",0,3);
+ lcd.printString(DataLoggerTime,0,4);
+ lcd.printString("Back Save",0,5);
+
+ if (button4Flag) {
+ button4Flag=0;
+ dataLoggerFlag = 1 ;
+ dataLoggerTime += 60 ;
+
+ }
+
+
+ break;
+ case 2:
+ lcd.clear();
+ lcd.printString(bufferTime,48,0);
+ lcd.printString("Data Logger : ",0,1);
+ lcd.printString("OFF",0,2);
+ lcd.printString("Back Save",0,5);
+ if (button4Flag) {
+ button4Flag=0;
+ dataLoggerFlag = 0 ;
+
+ }
+
+ default:
+ break;
+
+ }
+
+ wait (0.1);
+ if (button3Flag) {
+ button3Flag=0;
+ break;
+ }
+ }
+
+
+
+}
-void powerSaverCheck() // checks if the powersaverFlag is set
-{
- if (powerSaverFlag == 1 ) {
-
- powerSaverTimeout.attach(&savePower, powerSaverTime); // setup a timeiut to call the savePower function
- }
- else {
- powerSaverTimeout.detach();
- }
-}
@@ -275,7 +354,7 @@
while (1) {
wakeUp();
- int time = sprintf (Time, "%d min", powerSaverTime/60);//convert integer to buffer str
+ int time = sprintf (PowerSaverTime, "%d min", powerSaverTime/60);//convert integer to buffer str
if (choice < 1) {
choice = 2;
@@ -283,9 +362,9 @@
if (choice > 2) {
choice = 1;
}
- if (powerSaverTime > 300){
+ if (powerSaverTime > 300) {
powerSaverTime = 60 ;
- }
+ }
switch (choice) {
@@ -296,7 +375,7 @@
lcd.printString("Power Saver :",0,1);
lcd.printString("ON",0,2);
lcd.printString("Time Out :",0,3);
- lcd.printString(Time,0,4);
+ lcd.printString(PowerSaverTime,0,4);
lcd.printString("Back Save",0,5);
if (button4Flag) {
@@ -653,7 +732,7 @@
lcd.printString("Units",0,2);
lcd.printString("Brightness",0,3);
lcd.printString("Power Saver",0,4);
- lcd.printString("Log Interval",0,5);
+ lcd.printString("Logger",0,5);
lcd.drawCircle(5,12,3,1); // x,y,radius,black fill
if (button4Flag) {
@@ -670,7 +749,7 @@
lcd.printString("Units",10,2);
lcd.printString("Brightness",0,3);
lcd.printString("Power Saver",0,4);
- lcd.printString("Log Interval",0,5);
+ lcd.printString("Logger",0,5);
lcd.drawCircle(5,20,3,1); // x,y,radius,black fill
if (button4Flag) {
@@ -686,7 +765,7 @@
lcd.printString("Units",0,2);
lcd.printString("Brightness",10,3);
lcd.printString("Power Saver",0,4);
- lcd.printString("Log Interval",0,5);
+ lcd.printString("Logger",0,5);
lcd.drawCircle(5,28,3,1); // x,y,radius,black fill
if (button4Flag) {
button4Flag = 0;
@@ -700,7 +779,7 @@
lcd.printString("Units",0,2);
lcd.printString("Brightness",0,3);
lcd.printString("Power Saver",10,4);
- lcd.printString("Log Interval",0,5);
+ lcd.printString("Logger",0,5);
lcd.drawCircle(5,36,3,1); // x,y,radius,black fill
if (button4Flag) {
button4Flag = 0;
@@ -716,8 +795,12 @@
lcd.printString("Units",0,2);
lcd.printString("Brightness",0,3);
lcd.printString("Power Saver",0,4);
- lcd.printString("Log Interval",10,5);
+ lcd.printString("Logger",10,5);
lcd.drawCircle(5,44,3,1); // x,y,radius,black fill
+ if (button4Flag) {
+ button4Flag = 0;
+ dataLoggerSetting();
+ }
break;
case 6: