#ifndef LED_H
#define LED_H

#include <Arduino.h>
#include <FastLED.h>
#include "Config.h"
#include "States.h"

class LEDRing {
public:

  LEDRing();

  void begin();

  void update();

  void clear();

  void off();

  // States
  void idle();
  void progress(float percentage);

  // Effects
  void wakeAnimation();
  void pickupEffect();
  void warningEffect();
  void completionEffect();
  void rainbowSpin();

  void setBrightness(uint8_t brightness);

private:

  void breathing();
  void show();

private:

  CRGB leds[NUM_LEDS];

  uint8_t breathBrightness;

  unsigned long lastUpdate;
};

#endif