//DOESNT WORK
#include <FastLED.h> // include the FastLED library code
#define DATA_PIN 2
#define NUM_LEDS 50
#define MAX_BRIGHTNESS 255
#define BRIGHTNESS 100 // MAX is 255
#define LED_TYPE WS2811
CRGB leds[NUM_LEDS];
// runs once when program starts (see setup code)
void setup() {
Serial.begin(9600); //enables serial output for debugging
// initialize WS2811
FastLED.addLeds<LED_TYPE, DATA_PIN, RGB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(BRIGHTNESS);
leds_init();
}
int diag0[1] = {0};
int diag1[2] = {1,13};
int diag2[3] = {2,12,14};
int diag3[4] = {3,11,15,27};
int diag4[5] = {4,10,16,26,28};
int diag5[6] = {5,9,17,25,29,41};
int diag6[7] = {6,8,18,24,30,40,42};
int diag7[6] = {7,19,23,31,39,43};
int diag8[5] = {20,22,32,38,44};
int diag9[4] = {21,33,37,45};
int diag10[3] = {34,36,46};
int diag11[2] = {35,47};
int diag12[1] = {48};
int diagonals[12] = {diag1, diag2, diag3, diag4, diag5, diag6, diag7, diag8, diag9, diag10, diag11, diag12};
void loop() {
step(3);
for (int a = 0; a < 12; a++) {
int diagSize = sizeof(diagonals[a]);
for (int d = 0; d < diagSize; diagSize++) {
leds[diagonals[a][d]] = CHSV(160,255,255);
}
FastLED.show();
delay(100);
}
}
void leds_init() {
for ( int x = 0; x < NUM_LEDS + 1; ++x )
leds[x] = CRGB::Black;
FastLED.show();
}
void step(int num) {
leds_init();
for ( int x = 0; x < num; x=x+1 ){
leds[0] = CRGB::White;
FastLED.delay(300);
leds[0] = CRGB::Black;
FastLED.delay(300);
}
}