spike detection

Committer:
otis22894
Date:
Wed Sep 28 00:12:53 2016 +0000
Revision:
0:75ea240e0059
initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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