2020-06-07 12:58:55 +02:00

39 lines
720 B
C++

#include <Adafruit_NeoPixel.h>
class MyLed {
public:
MyLed(int ledPin, int ledCount, bool effects = false);
void initialize();
void setOnState(bool);
bool getOnState();
void toggle();
//! @param brightness in [0, 1]
void setBrightness(float brightness);
//! @param diff in [-1, 1]
void adjustBrightness(float diff);
void run();
private:
//! Called by public setBrightness. This function
//! will not store the brightness
void _setBrightness(float brightness);
bool _useEffects;
Adafruit_NeoPixel _strip;
float _brightness, _targetBrightness;
bool _isOn;
const std::array<float, 3> _defColor;
const std::array<float, 3> _color;
};