// Simple rgb data structure
#include "FastSPI_LED2.h"
#define NUM_LEDS 160
struct CRGB { byte r; byte b; byte g; };
struct CRGB ledData[NUM_LEDS];
struct CRGB ledData2[NUM_LEDS];
struct CRGB ledData3[NUM_LEDS];
struct CRGB ledData4[NUM_LEDS];
struct CRGB ledData5[NUM_LEDS];
WS2801Controller<14, 15, 10, 16> LedController;
WS2801Controller<16, 17, 9, 16> LedController2;
WS2801Controller<19, 18, 8, 16> LedController3;
WS2801Controller<21, 20, 7, 16> LedController4;
WS2801Controller<22, 23, 6, 16> LedController5;
void setup() {
// zero out all the leds
memset(ledData, 0, sizeof(struct CRGB) * NUM_LEDS);
memset(ledData2, 0, sizeof(struct CRGB) * NUM_LEDS);
memset(ledData3, 0, sizeof(struct CRGB) * NUM_LEDS);
memset(ledData4, 0, sizeof(struct CRGB) * NUM_LEDS);
memset(ledData5, 0, sizeof(struct CRGB) * NUM_LEDS);
// initialize the controller
LedController.init();
LedController2.init();
LedController3.init();
LedController4.init();
LedController5.init();
}
void loop() {
for(int i = 0; i < NUM_LEDS; i++) { ledData.g = 255; }
LedController.showRGB((byte*)ledData, NUM_LEDS);
for(int i = 0; i < NUM_LEDS; i++) { ledData2.g = 255; }
LedController2.showRGB((byte*)ledData2, NUM_LEDS);
for(int i = 0; i < NUM_LEDS; i++) { ledData3.g = 255; }
LedController3.showRGB((byte*)ledData3, NUM_LEDS);
for(int i = 0; i < NUM_LEDS; i++) { ledData4.g = 255; }
LedController4.showRGB((byte*)ledData4, NUM_LEDS);
for(int i = 0; i < NUM_LEDS; i++) { ledData5.g = 255; }
LedController5.showRGB((byte*)ledData5, NUM_LEDS);
delay(5000);
// zero out all the leds
memset(ledData, 0, sizeof(struct CRGB) * NUM_LEDS);
LedController.showRGB((byte*)ledData, NUM_LEDS);
memset(ledData2, 0, sizeof(struct CRGB) * NUM_LEDS);
LedController2.showRGB((byte*)ledData2, NUM_LEDS);
memset(ledData3, 0, sizeof(struct CRGB) * NUM_LEDS);
LedController3.showRGB((byte*)ledData3, NUM_LEDS);
memset(ledData4, 0, sizeof(struct CRGB) * NUM_LEDS);
LedController4.showRGB((byte*)ledData4, NUM_LEDS);
memset(ledData5, 0, sizeof(struct CRGB) * NUM_LEDS);
LedController5.showRGB((byte*)ledData5, NUM_LEDS);
delay(5000);
}