Skip to content
Snippets Groups Projects
LEDBehaviours.hpp 1.11 KiB
Newer Older
#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:
Joe Revans's avatar
Joe Revans committed
  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();