asdf
Dependencies: L3GD20 LSM303DLHC mbed
Headers/ExponentialAverage.h@8:ce5b1bf38077, 2014-04-03 (annotated)
- Committer:
- goy5022
- Date:
- Thu Apr 03 23:58:04 2014 +0000
- Revision:
- 8:ce5b1bf38077
- Parent:
- 2:997f57aee3b7
asdf
Who changed what in which revision?
User | Revision | Line number | New 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 |