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: CheckRTC LPS25H hts221
Fork of ELEC350-extended-referral2 by
Revision 46:794973f66ef6, committed 2017-11-23
- Comitter:
- spanesar
- Date:
- Thu Nov 23 11:40:53 2017 +0000
- Parent:
- 45:fac0d195fc65
- Child:
- 47:12f18a4527d8
- Commit message:
- Tried
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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);
+
+ }
+}
+
