Stairs/src/modes/static.h

45 lines
693 B
C++

#ifndef __StaticMode
#define __StaticMode
#include <stdint.h>
#include "base.h"
#include "../config.h"
struct StaticModeParameters
{
uint16_t brightness;
uint16_t easeTime;
};
enum EaseState
{
None,
Up,
Down
};
class StaticMode : public BaseMode<StaticModeParameters>
{
private:
uint16_t currentBrightness;
uint32_t easeStartTime;
uint16_t easeStartBrightness;
EaseState easeState;
public:
StaticMode()
{
parameters.brightness = 0;
parameters.easeTime = 0;
easeState = None;
currentBrightness = 0;
}
void init(IStairs* stairs, uint32_t currentTime);
void tick(IStairs* stairs, uint32_t currentTime);
};
#endif