#pragma once #include "PWM_Output.h" #include "OneButton.h" enum RAMP_STATE { RampingUp = 0, RampingDown }; class RAMP_LIGHT { public: RAMP_LIGHT(OneButton* button, PWM_Output* pwmOutput, int min, int max, float step); private: PWM_Output* pwmOutput; OneButton* button; int min; int max; float step; float currentValue; bool IsOn = false; RAMP_STATE rampState; int tickCount; void tick(); void singleClick(); void longPressStart(); void longPressStop(); void duringLongPress(); };