#include "Arduino.h"

// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 4
#define DATA_PIN2 26

#include "LEDManager.h"

const int NUM_PIXEL_STRIPE_1 = 3;
const int NUM_PIXEL_STRIPE_2 = 3;

CRGB stripe_1[NUM_PIXEL_STRIPE_1];
CRGB stripe_2[NUM_PIXEL_STRIPE_2];

BlinkLED led1(stripe_1[0]);
BlinkLED led2(stripe_1[1]);
BlinkLED led3(stripe_1[2]);
BlinkLED led4(stripe_2[0]);
BlinkLED led5(stripe_2[1]);
BlinkLED led6(stripe_2[2]);

void setup_fastled() {
    FastLED.addLeds<WS2812B, DATA_PIN, RGB>(stripe_1, NUM_PIXEL_STRIPE_1);
    FastLED.addLeds<WS2812B, DATA_PIN2, RGB>(stripe_2, NUM_PIXEL_STRIPE_2);
    FastLED.setBrightness(64);
}

void setup_blinking_leds() {
    LEDManager.addLED(led1);
    LEDManager.addLED(led2);
    LEDManager.addLED(led3);
    LEDManager.addLED(led4);
    LEDManager.addLED(led5);
    LEDManager.addLED(led6);

    led1.begin(CRGB::Green, 125);
    led2.begin(CRGB::Red, 250);
    led3.begin(CRGB::Blue, 500);

    led4.begin(CRGB::Yellow, 1000);
    led5.begin(CRGB::Purple, 2000);
    led6.begin(CRGB::OrangeRed, 4000);
}

void setup() {
    setup_fastled();
    setup_blinking_leds();
}

void loop() {
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
neopixel:VDD
neopixel:DOUT
neopixel:VSS
neopixel:DIN
rgb1:VDD
rgb1:DOUT
rgb1:VSS
rgb1:DIN
rgb3:VDD
rgb3:DOUT
rgb3:VSS
rgb3:DIN
rgb2:VDD
rgb2:DOUT
rgb2:VSS
rgb2:DIN
ring1:GND
ring1:VCC
ring1:DIN
ring1:DOUT