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.
Fork of 0NicksCoursework_copywithserialtime by
Diff: main.cpp
- Revision:
- 3:a88838ff33e7
- Parent:
- 2:40403785b690
- Child:
- 5:9b4844128e09
--- a/main.cpp Wed Dec 06 17:00:37 2017 +0000
+++ b/main.cpp Thu Dec 07 15:29:33 2017 +0000
@@ -1,35 +1,25 @@
-#include "mbed.h"
-#include "TextLCD.h"
-#include "SDBlockDevice.h"
-#include "FATFileSystem.h"
#include "sample_hardware.hpp"
-
-
+#include "Networkbits.hpp"
-//#define BME
-#ifdef BME
-#include "BME280.h"
-#else
-#include "BMP280.h"
-#endif
+// This is a very short demo that demonstrates all the hardware used in the coursework.
+// You will need a network connection set up (covered elsewhere). The host PC should have the address 10.0.0.1
-//LCD Driver
-//RS D9
-//E D8
-//D7,6,4,2 are the 4 bit for d4-7
-TextLCD lcd(D9, D8, D7, D6, D4, D2); // rs, e, d4-d7
-SDBlockDevice sd(PB_5, D12, D13, D10); // mosi, miso, sclk, cs
+//Threads
+Thread nwrkThread;
+
int main() {
//Greeting
- lcd.printf("Testing\n\n");
+ printf("Testing\n\n");
//Power on self test
post();
- //Initialise the SD card
+ //Initialise the SD card (this needs to move)
if ( sd.init() != 0) {
printf("Init failed \n");
+ lcd.cls();
+ lcd.printf("CANNOT INIT SD");
errorCode(FATAL);
}
@@ -40,21 +30,34 @@
FILE* fp = fopen("/sd/test.csv","a");
if (fp == NULL) {
error("Could not open file for write\n");
+ lcd.cls();
+ lcd.printf("CANNOT OPEN FILE\n\n");
errorCode(FATAL);
}
-
+
+ //Last message before sampling begins
+ lcd.cls();
+ lcd.printf("READY\n\n");
+
+
//Press either switch to unmount
while ((SW1 == 0) && (SW2 == 0)) {
+
+ //Base loop delay
+ wait(1.0);
+
+ //Read environmental sensors
double temp = sensor.getTemperature();
double pressure = sensor.getPressure();
+
+ //Write new data to LCD (not fast!)
+ lcd.cls();
lcd.printf("Temp Pressure\n");
lcd.printf("%6.1f ",temp);
lcd.printf("%.2f\n",pressure);
- //Write to SD
+ //Write to SD (potentially slow)
fprintf(fp, "%6.1f,%.2f\n\r", temp, pressure);
-
- wait(1.0);
}
//Close File
