asdf

Dependencies:   L3GD20 LSM303DLHC mbed

Headers/ExponentialAverage.h

Committer:
goy5022
Date:
2014-04-03
Revision:
8:ce5b1bf38077
Parent:
2:997f57aee3b7

File content as of revision 8:ce5b1bf38077:

#ifndef EXPONENTIAL_AVERAGE_H
#define EXPONENTIAL_AVERAGE_H

#define ALPHA .8

class ExponentialAverage
{
    public :
        explicit ExponentialAverage()
        {   
            reset();
        }
        
        float add(float reading)
        {
            avg = (ALPHA * reading) + (1.0 - ALPHA) * avg;   
            
            return avg;
        }
        
        float average()
        {
            return avg;
        }
        
        void reset()
        {
            avg = 0;
        }
    
    private:
        float avg;    
};

ExponentialAverage rightExpAvg;
ExponentialAverage leftExpAvg;
ExponentialAverage frontExpAvg;

#endif