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:
- 14:f3eb0fb6ecd5
- Parent:
- 13:213bf5887930
- Child:
- 15:c6f7c4768cf2
--- a/main.cpp Thu Apr 23 12:32:53 2015 +0000
+++ b/main.cpp Thu Apr 23 13:26:11 2015 +0000
@@ -39,7 +39,7 @@
int length=14;
int UNIXdate;
int powerSaverTime = 60;
-int dataLoggerTime = 2;
+int dataLoggerTime = 60;
int avgTC ; // an integer to store the average value of the temperature in celsious
int avgTF ;// int to save the average value of the temperature in farenheit
int avgPB ; // int to store the average value of pressure in mBar
@@ -68,8 +68,7 @@
// or create formatted strings - ensure they aren't more than 14 characters long
-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
+
char buffer0[14];
char buffer1[14];
char buffer2[14];
@@ -141,14 +140,6 @@
};
-typedef struct State STyp6; // for the data logger settings
-
-STyp5 fsmF[4] = {
- {0,"Off",{1,0}}, // for the logger
- {60,"On",{0,1}}, // for the logger {dataLoggerFlag and Timer , "title" , next state}
- {0,"Off",{1,0}}, // for the save to file option
- {1,"On",{0,1}}, // for the save to file option
-};
@@ -349,31 +340,31 @@
}
-void setLoggerTimer()
-{
- switch (dataLoggerTime) {
- case 1:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 300);
- break;
- case 2:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 600);
- break;
- case 3:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 900);
- break;
- case 4:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 1200);
- break;
- case 5:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 1500);
- break;
- case 6:
- dataLoggerTimer.attach(&dataLoggerTimerExpired , 1800);
- break;
- default:
- break;
- }
-}
+//void setLoggerTimer()
+//{
+// switch (dataLoggerTime) {
+// case 1:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 300);
+// break;
+// case 2:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 600);
+// break;
+// case 3:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 900);
+// break;
+// case 4:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 1200);
+// break;
+// case 5:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 1500);
+// break;
+// case 6:
+// dataLoggerTimer.attach(&dataLoggerTimerExpired , 1800);
+// break;
+// default:
+// break;
+// }
+//}
void liveData() //
@@ -407,7 +398,6 @@
{
if (dataLoggerFlag) {
dataLoggerFlag=0;
- lcd.clear();
int i = 0 ;
int k ;
@@ -551,77 +541,51 @@
void dataLoggerSetting()
{
+ state = dataLoggerFlag ; //inits the state to the saved flag by the user in the past
powerSaverCheck();
while (1) {
wakeUp();
updateTime();
int display0 = sprintf (buffer0, " Back Save");
- int display1 = sprintf (buffer1, "Data logger");
- int display2 = sprintf (buffer2,">>%s", fsmF[state].title);
- if (state > 0 ) { // if data logger is swicthed on
- int display3 = sprintf (buffer3, "%i mins", fsmF[1].output/60); // display the timer value
- int dispaly4 = sprintf (buffer4, "Save to file");
+ int display1 = sprintf (buffer1, "");
+ int display2 = sprintf (buffer2, "Data Logger");
+ int display3 = sprintf (buffer3, ">>%s", fsmE[state].title);
+ if (state == 1) {
+ int display4 = sprintf (buffer4, "%i mins", fsmE[state].output/60);
+ } else { // if the power saver is off it dowsnt show the time
+ int display4 = sprintf (buffer4, "");
}
- if (state > 1 ) {
- int dispaly5 = sprintf (buffer5, ">>%s" , fsmF[state].title);
-
- }
- else { // if the data logger is off doesnt display anything
- int display3 = sprintf (buffer3, "");
- }
+ int dispaly5 = sprintf (buffer5, "");
display();
- switch (choice) {
- case 1:
-
- lcd.clear();
- lcd.printString(bufferTime,48,0);
- lcd.printString("Data Logger :",0,1);
- lcd.printString("ON",0,2);
- lcd.printString("Save on RAM :",0,3);
- lcd.printString(DataLoggerTime,0,4);
- lcd.printString("Back Save",0,5);
-
- if (button4Flag) {
- button4Flag=0;
- saveToFileFlag ++;
- dataLoggerFlag = 1 ;
- }
-
+ dataLoggerFlag = state ; //sets the flag to the value of state (0 is off, 1 is on)
+ dataLoggerTime = fsmE[state].output; //sets the timer to to value of output from the fsm
+ serial.printf("data logger Time = %i \n dataLoggerFlag = %i \n",dataLoggerTime , dataLoggerFlag);
- 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 ;
- dataLoggerTimer.detach();
-
- }
-
- default:
- break;
-
+ if (button4Flag) {
+ button4Flag=0;
+ fsmE[state].output += 60 ; //adds a minute to the timer when button 4 is pressed
+ }
+ if (fsmE[state].output > 1800) {
+ fsmE[state].output = 60 ;
}
- wait (0.1);
+ if (state > 1) {
+ state = 0 ;
+ }
+
if (button3Flag) {
button3Flag=0;
break;
}
+ wait (0.1);
}
-
-
}