Syggestions

Dependencies:   CheckRTC LPS25H hts221

Fork of ELEC350-extended-referral2 by satbir panesar

Revision:
46:794973f66ef6
Parent:
45:fac0d195fc65
Child:
47:12f18a4527d8
--- a/main.cpp	Wed Nov 22 13:34:16 2017 +0000
+++ b/main.cpp	Thu Nov 23 11:40:53 2017 +0000
@@ -25,12 +25,8 @@
 int count = 0;
 char *buf;
 size_t sz;
-typedef struct {
-    float temp;
-    float press;
-    float humid;
-} measurement;
-measurement buffer [120];
+
+
 
 LPS25H barometer(i2c2, LPS25H_V_CHIP_ADDR);
 HTS221 humidity(I2C_SDA, I2C_SCL);
@@ -50,7 +46,8 @@
 Ticker ticker;
 
 void function1()
-{//begin function
+{
+    //begin function
     while (true) {//begin while true
         char buffer [128];
         scanf("%127s", buffer);
@@ -61,38 +58,34 @@
         strftime(time, 32, "%H:%M:%S %p", localtime(&seconds));
 
         if(buffer_str=="READALL") {//begin if buffer readall
-            humidity.ReadTempHumi(&tempCelsius, &humi); // reads temperature and humity levels
-            barometer.get(); // gets barometer readings
+
             // displays all the variables of time, date, temperature, humidity and all the barometric readings to the serial
             printf("%s, %s, %4.2fC , %3.1f%%, %6.1f, %4.1f\n\r", time, date, tempCelsius, humi, barometer.pressure(), barometer.temperature());
             myled = 1; // LED is ON
             Thread::wait(200); // 200 ms NB 'Thread::wait(int d);' !!! d is in milliseconds!
             myled = 0; // LED is OFF
-            t1.signal_set(READALL_OFF);
-        }//end if buffer readall
-        Thread::wait(200);
 
-        //Thread::signal_wait(READALL_OFF);
-        
-        if(buffer_str=="SETTIME") {// begin if buffer settime
-            set_time(1508268288);
-            printf("time and date updated to %s %s\n\r", time, date);
-            myled = 1;
-            Thread::wait(200);
-            myled = 0;
-            t1.signal_set(SETTIME_OFF);
-        }//end if buffer settime
-        Thread::wait(200);
+        }//end if buffer readall
+
+
 
 
-        //Thread::signal_wait(SETTIME_OFF);
-        
-        if(buffer_str=="SETT") // begin if buffer sett
-        {
+        if(buffer_str=="SETTIME") {// begin if buffer settime
+            set_time(1508268288);   //sets time in UTC
+            printf("time and date updated to %s %s\n\r", time, date); //prints date and time
+            myled = 1;  //led on
+            Thread::wait(200); // wait 200ms
+            myled = 0; //led off
+
+        }//end if buffer settime
+
+
+
+        if(buffer_str=="SETT") { // begin if buffer sett
             for (count = 0; count < 5; count++) {
                 float temp = barometer.temperature();
                 float pressure = barometer.pressure();
-                
+
                 sz = snprintf(NULL, 0,"%s, %s, %4.2fC , %3.1f%%, %6.1f, %4.1f\n\r", time, date, tempCelsius, humi, pressure, temp);
                 buf = (char *)malloc(sz + 1);
                 snprintf(buf, sz + 1, "%s, %s, %4.2fC , %3.1f%%, %6.1f, %4.1f\n\r", time, date, tempCelsius, humi, pressure, temp);
@@ -102,63 +95,75 @@
                 myled = 1;
                 Thread::wait(200);
                 myled = 0;
-                t1.signal_set(SETT_OFF);
+
             } //end if buffer sett
-            Thread::wait(200);
-         }   
-        
+
+        }
 
-        //Thread::signal_wait(SETT_OFF);
+
+
 
         if(buffer_str=="READ") { //begin if buffer read
             printf("%s\n\r", buf);
             myled = 1;
             Thread::wait(200);
             myled = 0;
-            osSignalSet(idMain, ALL_OFF);
+
         }//end if buffer read
-        Thread::wait(200);
+
     }//end while true
 }//end function
 
-    void getSampleThread() {
-        while (true) {
-            Thread::signal_wait(99);
-           //Get samples   
-           
-           //Put in buffer 
-        }
-    }
-
-    void getSample() {
-        tSample.signal_set(99);      
-    }
+void getSampleThread()
+{
+    while (true) {
+        Thread::signal_wait(99);
+        //Get samples
+        humidity.ReadTempHumi(&tempCelsius, &humi); // reads temperature and humity levels
+        barometer.get(); // gets barometer readings
+        //Put in buffer
+        typedef struct {
+            float temp;
+            float press;
+            float humid;
+        } measurement;
+        measurement buffer [120];
+        
 
-    int main() 
-    {
-        pc.baud(9600); //sets baud rate to 9600
-        ticker.attach(getSample, 15);
-        tSample.start(getSampleThread);
-        
-        time_t seconds = time(NULL);
-        idMain = osThreadGetId();
-        t1.start(function1);
-        id1 = t1.gettid();
-        humidity.init();
-        humidity.calib();
-        printf("Type SETTIME to set time and date [enter] \n\r");
-        printf("Type SETT to start sampling [ENTER]\n\r");
-        printf("Type DELETEALL to delete sensor data [enter]\n\r");
-        printf("Type READALL [enter]\n\r");
-        printf("Type READ to read sensor data in memory [ENTER]\n\r");
 
 
-        while(1) {
-            char buffer [128];
-            scanf("%127s", buffer);
-            string buffer_str(buffer);
-            osSignalWait(ALL_OFF,osWaitForever);
+    }
+}
 
-        }
+void getSample()
+{
+    tSample.signal_set(99);
 }
 
+int main()
+{
+    time_t seconds = time(NULL);
+    pc.baud(9600); //sets baud rate to 9600
+    ticker.attach(getSample, 15);
+    tSample.start(getSampleThread);
+    idMain = osThreadGetId();
+    t1.start(function1);
+    id1 = t1.gettid();
+    humidity.init();
+    humidity.calib();
+    printf("Type SETTIME to set time and date [enter] \n\r");
+    printf("Type SETT to start sampling [ENTER]\n\r");
+    printf("Type DELETEALL to delete sensor data [enter]\n\r");
+    printf("Type READALL [enter]\n\r");
+    printf("Type READ to read sensor data in memory [ENTER]\n\r");
+
+
+    while(1) {
+        char buffer [128];
+        scanf("%127s", buffer);
+        string buffer_str(buffer);
+        osSignalWait(ALL_OFF,osWaitForever);
+
+    }
+}
+