asdf

Dependencies:   L3GD20 LSM303DLHC mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ExponentialAverage.h Source File

ExponentialAverage.h

00001 #ifndef EXPONENTIAL_AVERAGE_H
00002 #define EXPONENTIAL_AVERAGE_H
00003 
00004 #define ALPHA .8
00005 
00006 class ExponentialAverage
00007 {
00008     public :
00009         explicit ExponentialAverage()
00010         {   
00011             reset();
00012         }
00013         
00014         float add(float reading)
00015         {
00016             avg = (ALPHA * reading) + (1.0 - ALPHA) * avg;   
00017             
00018             return avg;
00019         }
00020         
00021         float average()
00022         {
00023             return avg;
00024         }
00025         
00026         void reset()
00027         {
00028             avg = 0;
00029         }
00030     
00031     private:
00032         float avg;    
00033 };
00034 
00035 ExponentialAverage rightExpAvg;
00036 ExponentialAverage leftExpAvg;
00037 ExponentialAverage frontExpAvg;
00038 
00039 #endif