asdf

Dependencies:   L3GD20 LSM303DLHC mbed

Committer:
goy5022
Date:
Thu Apr 03 23:58:04 2014 +0000
Revision:
8:ce5b1bf38077
Parent:
2:997f57aee3b7
asdf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
goy5022 2:997f57aee3b7 1 #ifndef EXPONENTIAL_AVERAGE_H
goy5022 2:997f57aee3b7 2 #define EXPONENTIAL_AVERAGE_H
goy5022 2:997f57aee3b7 3
goy5022 2:997f57aee3b7 4 #define ALPHA .8
goy5022 2:997f57aee3b7 5
goy5022 2:997f57aee3b7 6 class ExponentialAverage
goy5022 2:997f57aee3b7 7 {
goy5022 2:997f57aee3b7 8 public :
goy5022 2:997f57aee3b7 9 explicit ExponentialAverage()
goy5022 2:997f57aee3b7 10 {
goy5022 2:997f57aee3b7 11 reset();
goy5022 2:997f57aee3b7 12 }
goy5022 2:997f57aee3b7 13
goy5022 2:997f57aee3b7 14 float add(float reading)
goy5022 2:997f57aee3b7 15 {
goy5022 2:997f57aee3b7 16 avg = (ALPHA * reading) + (1.0 - ALPHA) * avg;
goy5022 2:997f57aee3b7 17
goy5022 2:997f57aee3b7 18 return avg;
goy5022 2:997f57aee3b7 19 }
goy5022 2:997f57aee3b7 20
goy5022 2:997f57aee3b7 21 float average()
goy5022 2:997f57aee3b7 22 {
goy5022 2:997f57aee3b7 23 return avg;
goy5022 2:997f57aee3b7 24 }
goy5022 2:997f57aee3b7 25
goy5022 2:997f57aee3b7 26 void reset()
goy5022 2:997f57aee3b7 27 {
goy5022 2:997f57aee3b7 28 avg = 0;
goy5022 2:997f57aee3b7 29 }
goy5022 2:997f57aee3b7 30
goy5022 2:997f57aee3b7 31 private:
goy5022 2:997f57aee3b7 32 float avg;
goy5022 2:997f57aee3b7 33 };
goy5022 2:997f57aee3b7 34
goy5022 2:997f57aee3b7 35 ExponentialAverage rightExpAvg;
goy5022 2:997f57aee3b7 36 ExponentialAverage leftExpAvg;
goy5022 2:997f57aee3b7 37 ExponentialAverage frontExpAvg;
goy5022 2:997f57aee3b7 38
goy5022 2:997f57aee3b7 39 #endif