Files
MySensors/libraries/RunningAverage/RunningAverage.h
T

56 lines
1.2 KiB
C++

//
// FILE: RunningAverage.h
// AUTHOR: Rob dot Tillaart at gmail dot com
// VERSION: 0.2.08
// DATE: 2015-apr-10
// PURPOSE: RunningAverage library for Arduino
// URL: http://arduino.cc/playground/Main/RunningAverage
// HISTORY: See RunningAverage.cpp
//
// Released to the public domain
//
// backwards compatibility
// clr() clear()
// add(x) addValue(x)
// avg() getAverage()
#ifndef RunningAverage_h
#define RunningAverage_h
#define RUNNINGAVERAGE_LIB_VERSION "0.2.08"
#include "Arduino.h"
class RunningAverage
{
public:
RunningAverage(void);
RunningAverage(uint8_t);
~RunningAverage();
void clear();
void addValue(double);
void fillValue(double, uint8_t);
double getAverage();
// returns lowest value added to the data-set since last clear
double getMin() { return _min; };
// returns highest value added to the data-set since last clear
double getMax() { return _max; };
double getElement(uint8_t idx);
uint8_t getSize() { return _size; }
uint8_t getCount() { return _cnt; }
protected:
uint8_t _size;
uint8_t _cnt;
uint8_t _idx;
double _sum;
double * _ar;
double _min;
double _max;
};
#endif
// END OF FILE