fuck this

Dependencies:   BMP280

Committer:
Swaggie
Date:
Tue Jan 09 11:53:11 2018 +0000
Revision:
20:25939e03b803
Parent:
19:40c721f01ed2
Child:
21:6e733076f49c
Inputted Logging in main function and in LCD function.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
noutram 0:65ff7ad381e8 1 #include "mbed.h"
Swaggie 2:5a38ae8459d5 2 #include "WebUI.h"
Swaggie 2:5a38ae8459d5 3 #include "Serial.h"
Swaggie 3:8fa1e77c8a5d 4 #include "Sampling.h"
Swaggie 3:8fa1e77c8a5d 5 #include "LCD.h"
mwthewsey 11:b538e73841ae 6 #include "SDCard.h"
Swaggie 5:bea93c8e50b7 7 #include "SDBlockDevice.h"
Swaggie 20:25939e03b803 8 #include "Logging.h"
mwthewsey 12:03589f1d5c30 9
mwthewsey 12:03589f1d5c30 10 //Hardware setup
Swaggie 19:40c721f01ed2 11 BMP280 sensor(D14, D15); //enviromental sensor
Swaggie 19:40c721f01ed2 12 AnalogIn LDRSensor(A0); //LDR sensor
Swaggie 19:40c721f01ed2 13 DigitalOut SamplingLED(PB_10);//LED to indicate sampling
Swaggie 19:40c721f01ed2 14 //SD Card devices
Swaggie 19:40c721f01ed2 15 InterruptIn SD_WP(PE_10);
Swaggie 19:40c721f01ed2 16 InterruptIn UserButton(USER_BUTTON);
Swaggie 19:40c721f01ed2 17 SDBlockDevice sd(PB_5, D12, D13, D10);
Swaggie 19:40c721f01ed2 18 DigitalOut GreenLED(PB_11);
mwthewsey 12:03589f1d5c30 19
Swaggie 19:40c721f01ed2 20 Serial PC(USBTX, USBRX); //Serial interface
Swaggie 5:bea93c8e50b7 21 //SD Card Object
Swaggie 19:40c721f01ed2 22 ENVDISPLAY lcd(D9, D8, D7, D6, D4, D2,PE_12, PE_14); //LCD pins and two timeset buttons
noutram 0:65ff7ad381e8 23
noutram 0:65ff7ad381e8 24 int main()
noutram 0:65ff7ad381e8 25 {
Swaggie 2:5a38ae8459d5 26 //Initialise devices
Swaggie 19:40c721f01ed2 27 firstSample = true; //Set only at start of program
Swaggie 20:25939e03b803 28 logging = true;
Swaggie 2:5a38ae8459d5 29 //Hardware Self Test
mwthewsey 12:03589f1d5c30 30
Swaggie 19:40c721f01ed2 31 //Initialise interrupts and times
Swaggie 19:40c721f01ed2 32 SerialStart(); //Start serial comms
Swaggie 19:40c721f01ed2 33 lcd.Start(); //Start LCD functionality
Swaggie 19:40c721f01ed2 34 SDCardInit(); //Start SDCard functionality
Swaggie 19:40c721f01ed2 35 WebUISetup(); //Start Web Interface
Swaggie 19:40c721f01ed2 36 ConfigThreadsAndIR(); //Start sampling
Swaggie 19:40c721f01ed2 37
Swaggie 19:40c721f01ed2 38
Swaggie 6:8e1795a5886b 39 //Run
Swaggie 19:40c721f01ed2 40 while (true) {
Swaggie 19:40c721f01ed2 41 if (NewEnvSample && NewLDRSample) {
Swaggie 7:bf9f92ff02e8 42 //New samples have been captured and are in the register
Swaggie 7:bf9f92ff02e8 43 IncrementIndex();
Swaggie 19:40c721f01ed2 44 NewEnvSample = false; //Reset sampling threads
Swaggie 6:8e1795a5886b 45 NewLDRSample = false;
Swaggie 19:40c721f01ed2 46
Swaggie 19:40c721f01ed2 47 //push latest samples to LCD.
mwthewsey 11:b538e73841ae 48 lcd.UpdateData(tempReadings[currentIndex],presReadings[currentIndex],LDRReadings[currentIndex],timeReadings[currentIndex]);
Swaggie 20:25939e03b803 49 LogEvent(Log_IndexInc); //Log position
Swaggie 6:8e1795a5886b 50 }
Swaggie 20:25939e03b803 51 if (logging) {
Swaggie 20:25939e03b803 52 string QueueData = CheckLoggingQueue(); //Get the data from queue
Swaggie 20:25939e03b803 53 char char_array[QueueData.length()+1]; //Char array for message
Swaggie 20:25939e03b803 54 strcpy(char_array, QueueData.c_str()); //String must be converted to char array for printf
Swaggie 20:25939e03b803 55 PC.printf("%s\n\r",char_array);
Swaggie 20:25939e03b803 56 }
Swaggie 19:40c721f01ed2 57 }
Swaggie 7:bf9f92ff02e8 58 }