#ifndef LED_BEHAVIOUR_h #define LED_BEHAVIOUR_h #include "Arduino.h" #include "Behaviours.h" #include <Adafruit_NeoPixel.h> class NumLEDs : public Behaviour { Adafruit_NeoPixel* _strip; uint32_t _color; public: NumLEDs(Adafruit_NeoPixel* strip, String name = "NumLEDs", uint32_t color=0xFFFFFFFF); char* args(); String start(String args); }; class BrightnessLEDs : public Behaviour { Adafruit_NeoPixel* _strip; uint32_t _hue; uint32_t _sat; public: BrightnessLEDs(Adafruit_NeoPixel* strip, String name = "BrightnessLEDs", uint32_t hue=0, uint32_t sat=0); char* args(); String start(String args) }; class BreathingLEDs : public Behaviour { Adafruit_NeoPixel* _strip; uint _hue; uint _sat; int32_t _current = 0; //Allows us to have slightly slower behaviours on the go... int _factor = 4; int _rate = 0; int _direction = 1; public: BreathingLEDs(Adafruit_NeoPixel* strip, String name = "BreathingLEDs", uint32_t hue=0, uint32_t sat=0) : Behaviour(name), _strip(strip), _hue(hue * 255), _sat(sat) { } char* args(); String start(String args); void update(); }; #endif