fuck this
Dependencies: BMP280
Sampling.h@6:8e1795a5886b, 2018-01-03 (annotated)
- Committer:
- Swaggie
- Date:
- Wed Jan 03 16:37:33 2018 +0000
- Revision:
- 6:8e1795a5886b
- Parent:
- 5:bea93c8e50b7
- Child:
- 7:bf9f92ff02e8
Worked on Sampling files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Swaggie | 4:2e6d9492b76d | 1 | #ifndef __Sampling__ |
Swaggie | 4:2e6d9492b76d | 2 | #define __Sampling__ |
Swaggie | 4:2e6d9492b76d | 3 | |
Swaggie | 6:8e1795a5886b | 4 | #include "mbed.h" |
Swaggie | 6:8e1795a5886b | 5 | |
Swaggie | 5:bea93c8e50b7 | 6 | #ifdef BME |
Swaggie | 5:bea93c8e50b7 | 7 | #include "BME280.h" |
Swaggie | 5:bea93c8e50b7 | 8 | #else |
Swaggie | 5:bea93c8e50b7 | 9 | #include "BMP280.h" |
Swaggie | 5:bea93c8e50b7 | 10 | #endif |
Swaggie | 5:bea93c8e50b7 | 11 | |
Swaggie | 6:8e1795a5886b | 12 | #define BUFFERSIZE 120 |
Swaggie | 6:8e1795a5886b | 13 | |
Swaggie | 5:bea93c8e50b7 | 14 | #ifdef BME |
Swaggie | 5:bea93c8e50b7 | 15 | extern BME280 sensor; |
Swaggie | 5:bea93c8e50b7 | 16 | #else |
Swaggie | 5:bea93c8e50b7 | 17 | extern BMP280 sensor; |
Swaggie | 5:bea93c8e50b7 | 18 | #endif |
Swaggie | 5:bea93c8e50b7 | 19 | |
Swaggie | 6:8e1795a5886b | 20 | //Thread Sync Tools |
Swaggie | 6:8e1795a5886b | 21 | Mutex tempReadingsLock; |
Swaggie | 6:8e1795a5886b | 22 | Mutex presReadingsLock; |
Swaggie | 6:8e1795a5886b | 23 | Mutex LDRReadingsLock; |
Swaggie | 6:8e1795a5886b | 24 | |
Swaggie | 6:8e1795a5886b | 25 | //Buffers |
Swaggie | 6:8e1795a5886b | 26 | float tempReadings[BUFFERSIZE]; |
Swaggie | 6:8e1795a5886b | 27 | float presReadings[BUFFERSIZE]; |
Swaggie | 6:8e1795a5886b | 28 | float LDRReadings[BUFFERSIZE]; |
Swaggie | 6:8e1795a5886b | 29 | |
Swaggie | 6:8e1795a5886b | 30 | unsigned short newestTempIndex; |
Swaggie | 6:8e1795a5886b | 31 | //Position in the buffer of the newest sample |
Swaggie | 6:8e1795a5886b | 32 | unsigned short oldestTempIndex; |
Swaggie | 6:8e1795a5886b | 33 | //Position in the buffer of the oldest sample |
Swaggie | 6:8e1795a5886b | 34 | |
Swaggie | 6:8e1795a5886b | 35 | Thread t1; //Sample Enviromental Sensor |
Swaggie | 6:8e1795a5886b | 36 | Thread t2; //Sample LDR Sensor |
Swaggie | 6:8e1795a5886b | 37 | |
Swaggie | 6:8e1795a5886b | 38 | Ticker sampleRate; |
Swaggie | 6:8e1795a5886b | 39 | AnalogIn LDR(A13); //LDR Pin |
Swaggie | 6:8e1795a5886b | 40 | |
Swaggie | 6:8e1795a5886b | 41 | /*These can be deleted I think |
Swaggie | 6:8e1795a5886b | 42 | extern float fLatestTemp; |
Swaggie | 6:8e1795a5886b | 43 | extern float fLatestLDR; |
Swaggie | 6:8e1795a5886b | 44 | extern float fLatestPres; |
Swaggie | 6:8e1795a5886b | 45 | */ |
Swaggie | 6:8e1795a5886b | 46 | |
Swaggie | 6:8e1795a5886b | 47 | extern bool NewEnvSample; //Is there new data from the envirom sensor to output? |
Swaggie | 6:8e1795a5886b | 48 | extern bool NewLDRSample; //Is there new data from the LDR to output? |
Swaggie | 6:8e1795a5886b | 49 | |
Swaggie | 4:2e6d9492b76d | 50 | void SampleTimerISR(void); |
Swaggie | 4:2e6d9492b76d | 51 | //Called by ticker. Calls the sample funcs of each device by flagging the threads |
Swaggie | 4:2e6d9492b76d | 52 | |
Swaggie | 4:2e6d9492b76d | 53 | void ConfigThreadsAndIR(void); |
Swaggie | 4:2e6d9492b76d | 54 | //Setup Interrupts and Threads |
Swaggie | 4:2e6d9492b76d | 55 | |
Swaggie | 6:8e1795a5886b | 56 | void threadSampleEnvSensor(void); |
Swaggie | 6:8e1795a5886b | 57 | //when flagged by interrupt will capture a sample then calls the addtobufferfuncs |
Swaggie | 6:8e1795a5886b | 58 | |
Swaggie | 6:8e1795a5886b | 59 | void AddTempSample(float* Temp); |
Swaggie | 6:8e1795a5886b | 60 | //Producer function |
Swaggie | 6:8e1795a5886b | 61 | |
Swaggie | 6:8e1795a5886b | 62 | void AddPresSample(float* Pres); |
Swaggie | 6:8e1795a5886b | 63 | //Producer Function |
Swaggie | 6:8e1795a5886b | 64 | |
Swaggie | 6:8e1795a5886b | 65 | void ThreadSampleLDR(void); |
Swaggie | 6:8e1795a5886b | 66 | //When flagged by interrupt will read LDR value. |
Swaggie | 6:8e1795a5886b | 67 | |
Swaggie | 6:8e1795a5886b | 68 | void AddLDRSample(float* LDR); |
Swaggie | 6:8e1795a5886b | 69 | //Poducer Function |
Swaggie | 4:2e6d9492b76d | 70 | |
Swaggie | 4:2e6d9492b76d | 71 | #endif |