1 #ifndef LED_BEHAVIOUR_h
2 #define LED_BEHAVIOUR_h
6 #include <Adafruit_NeoPixel.h>
9 Adafruit_NeoPixel* _strip;
13 NumLEDs(Adafruit_NeoPixel* strip, String
name =
"NumLEDs", uint32_t color=0xFFFFFFFF) :
15 char*
args() {
return "<int num_leds>"; };
18 int val =
args.toInt();
22 _strip->fill(_color, 0, val);
31 Adafruit_NeoPixel* _strip;
36 BrightnessLEDs(Adafruit_NeoPixel* strip, String
name =
"BrightnessLEDs", uint32_t hue=0, uint32_t sat=0) :
38 char*
args() {
return "<int brightness>"; };
41 int val =
args.toInt();
43 _strip->fill(_strip->ColorHSV(_hue,_sat,val));
51 Adafruit_NeoPixel* _strip;
61 BreathingLEDs(Adafruit_NeoPixel* strip, String
name =
"BreathingLEDs", uint32_t hue=0, uint32_t sat=0) :
62 Behaviour(
name), _strip(strip), _hue(hue * 255), _sat(sat) { }
63 char*
args() {
return "<int rate (1-255ish)>"; };
69 int val =
args.toInt();
80 _current = _current + (_rate * _direction);
85 if( _current > 255 * _factor ) {
86 _current = 255 * _factor;
89 _strip->fill(_strip->ColorHSV(_hue,_sat,_current / _factor));