Skip to content

File evamSimpleSmoothDecor.h

File List > src > evamSimpleSmoothDecor.h

Go to the documentation of this file

#pragma once

#include <evafSimpleAverage.h>
#include <evaStdReaders.h>

namespace evam
{
    template <class TMotor, unsigned short N>
    class SimpleSmoothDecor : public TMotor
    {
    private:
        evaf::SimpleAverage<eva::ValueReader, N> mFilter;

    public:
        //SimpleSmoothDecor() : TMotor() {}

        template <typename... Args>
        SimpleSmoothDecor(Args... args)
            : TMotor(args...) {}

        void Go(signed short value)
        {
            mFilter.setValue(constrain(value, -1000, 1000));
            TMotor::Go(mFilter.getValue());
        }
    };
}