12 buf_.resize(sample_size_, 0);
20 buf_.assign(sample_size_, input);
25 output += -multiplier_ * buf_[ptr_] / sample_size_;
26 output += multiplier_ * input / sample_size_;
31 ptr_ = (ptr_ + 1) % sample_size_;
37 root[
"multiplier"] = multiplier_;
38 root[
"sample_size"] = sample_size_;
44 "sample_size": { "title": "Number of samples in average", "type": "integer" },
45 "multiplier": { "title": "Multiplier", "type": "number" }
58 multiplier_ =
config[
"multiplier"];
61 if (sample_size_ !=
n_new) {
62 buf_.assign(sample_size_, 0);
virtual void load_configuration()
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
MovingAverage(int sample_size, float multiplier=1.0, String config_path="")
const uint8_t PAGE_css_bootstrap[] PROGMEM