spike detection
main.cpp@0:75ea240e0059, 2016-09-28 (annotated)
- Committer:
- otis22894
- Date:
- Wed Sep 28 00:12:53 2016 +0000
- Revision:
- 0:75ea240e0059
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
otis22894 | 0:75ea240e0059 | 1 | #include "mbed.h" |
otis22894 | 0:75ea240e0059 | 2 | #include "BMP085.h" |
otis22894 | 0:75ea240e0059 | 3 | #include "uLCD_4DGL.h" |
otis22894 | 0:75ea240e0059 | 4 | #include "statistics.h" |
otis22894 | 0:75ea240e0059 | 5 | #include "spikes.h" |
otis22894 | 0:75ea240e0059 | 6 | |
otis22894 | 0:75ea240e0059 | 7 | #define SHORT_SAMPLE 5 |
otis22894 | 0:75ea240e0059 | 8 | #define LONG_SAMPLE 20 |
otis22894 | 0:75ea240e0059 | 9 | |
otis22894 | 0:75ea240e0059 | 10 | BMP085 barometer(p9, p10); |
otis22894 | 0:75ea240e0059 | 11 | uLCD_4DGL uLCD(p28, p27, p29); |
otis22894 | 0:75ea240e0059 | 12 | AnalogIn ain(p17); |
otis22894 | 0:75ea240e0059 | 13 | Ticker ticker; |
otis22894 | 0:75ea240e0059 | 14 | //SpikeFinder s = SpikeFinder(30, 6, 4.0); |
otis22894 | 0:75ea240e0059 | 15 | // For wind sensor: |
otis22894 | 0:75ea240e0059 | 16 | //SpikeFinder s = SpikeFinder(40, 10, 7.0); |
otis22894 | 0:75ea240e0059 | 17 | // For pressure sensor: |
otis22894 | 0:75ea240e0059 | 18 | SpikeFinder s = SpikeFinder(4, 4, 3.0); |
otis22894 | 0:75ea240e0059 | 19 | |
otis22894 | 0:75ea240e0059 | 20 | void tick() { |
otis22894 | 0:75ea240e0059 | 21 | __disable_irq(); |
otis22894 | 0:75ea240e0059 | 22 | barometer.update(); |
otis22894 | 0:75ea240e0059 | 23 | s.addSample(barometer.get_pressure()); |
otis22894 | 0:75ea240e0059 | 24 | __enable_irq(); |
otis22894 | 0:75ea240e0059 | 25 | } |
otis22894 | 0:75ea240e0059 | 26 | |
otis22894 | 0:75ea240e0059 | 27 | int main() { |
otis22894 | 0:75ea240e0059 | 28 | while(1) { |
otis22894 | 0:75ea240e0059 | 29 | //ticker.attach(&tick, 0.04); |
otis22894 | 0:75ea240e0059 | 30 | ticker.attach(&tick, .1); |
otis22894 | 0:75ea240e0059 | 31 | wait(1); |
otis22894 | 0:75ea240e0059 | 32 | float f = ain; |
otis22894 | 0:75ea240e0059 | 33 | uLCD.printf("Low: %s, High : %s\n", s.lowSpikeFound() ? "true":"false", s.highSpikeFound() ? "true":"false"); |
otis22894 | 0:75ea240e0059 | 34 | wait(1); |
otis22894 | 0:75ea240e0059 | 35 | uLCD.printf("Low: %s, High : %s\n", s.lowSpikeFound() ? "true":"false", s.highSpikeFound() ? "true":"false"); |
otis22894 | 0:75ea240e0059 | 36 | wait(1); |
otis22894 | 0:75ea240e0059 | 37 | ticker.detach(); |
otis22894 | 0:75ea240e0059 | 38 | s.reset(); |
otis22894 | 0:75ea240e0059 | 39 | wait(1); |
otis22894 | 0:75ea240e0059 | 40 | uLCD.cls(); |
otis22894 | 0:75ea240e0059 | 41 | } |
otis22894 | 0:75ea240e0059 | 42 | return 0; |
otis22894 | 0:75ea240e0059 | 43 | } |
otis22894 | 0:75ea240e0059 | 44 |