SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
moving_average.h
Go to the documentation of this file.
1#ifndef _moving_average_H_
2#define _moving_average_H_
3
4#include <vector>
5
6#include "transform.h"
7
8namespace sensesp {
9
21// y = k * 1/n * \sum_k=1^n(x_k)
23 public:
35 MovingAverage(int sample_size, float multiplier = 1.0,
36 String config_path = "");
37 virtual void set_input(float input, uint8_t inputChannel = 0) override;
38 virtual void get_configuration(JsonObject& doc) override;
39 virtual bool set_configuration(const JsonObject& config) override;
40 virtual String get_config_schema() override;
41
42 private:
43 std::vector<float> buf_;
44 int ptr_ = 0;
45 int sample_size_;
46 float multiplier_;
47 bool initialized_;
48};
49
50} // namespace sensesp
51#endif
Construct a new transform based on a single function.
Outputs the moving average of the last sample_size inputs.
virtual void set_input(float input, uint8_t inputChannel=0) override
virtual void get_configuration(JsonObject &doc) override
virtual String get_config_schema() override
virtual bool set_configuration(const JsonObject &config) override