45 lines
693 B
C++
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 |