Demo of the sample LCD class, BMP280 Sensor and network with power on self test. Requires a network connectionb
Dependencies: BME280 BMP280 ELEC350-Practicals-FZ429 TextLCD
Fork of ELEC350-LCD-DEMO by
main.cpp
- Committer:
- noutram
- Date:
- 2017-12-07
- Revision:
- 4:d26b261b76c9
- Parent:
- 3:a88838ff33e7
File content as of revision 4:d26b261b76c9:
#include "sample_hardware.hpp" #include "Networkbits.hpp" // 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 //Threads Thread nwrkThread; int main() { //Greeting printf("Testing\n\n"); //Power on self test post(); //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); } //Create a filing system for SD Card FATFileSystem fs("sd", &sd); //Open to WRITE 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 (potentially slow) fprintf(fp, "%6.1f,%.2f\n\r", temp, pressure); } //Close File fclose(fp); //Close down sd.deinit(); printf("Unmounted...\n"); lcd.cls(); lcd.printf("Unmounted...\n\n"); //Flash to indicate goodness while(true) { greenLED = 1; wait(0.5); greenLED = 0; wait(0.1); } }