#pragma once #include #include class Counter { public: Counter(uint8_t pin); void pause(); void resume(); void clear(); int16_t getValue() const; void setFilterValue(uint16_t value); void filterEnable(); void filterDisable(); private: static constexpr int16_t highLimit = INT16_MAX; static constexpr uint8_t lowLimit = 0; static uint8_t amountOfCounter; bool initalised = false; uint8_t pulsePin; pcnt_unit_t unit; };