fuck this
Dependencies: BMP280
main.cpp@20:25939e03b803, 2018-01-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |