#include <neoPixel.h>

neoPixel  theLetters(24,12);

void setup() {
  theLetters.begin();
  theLetters.setAll(&black);
  theLetters.show();
}


void setP1Color(colorObj* inColor) {

  for (int i=0;i<8;i++)
    theLetters.setPixelColor(i,inColor);

}

void setOColor(colorObj* inColor) {
  
  for (int i=8;i<16;i++)
    theLetters.setPixelColor(i,inColor);
}

void setP2Color(colorObj* inColor) {
  
  for (int i=16;i<24;i++)
    theLetters.setPixelColor(i,inColor);

}

void cycleColor(colorObj* inColor) {

  setP1Color(inColor);
  theLetters.show();
  delay(100);
  
  setOColor(inColor);
  theLetters.show();
  delay(100);

  setP2Color(inColor);
  theLetters.show();
  delay(100);
}

void flashColor(colorObj* inColor) {

  for (int i=0;i<5;i++) {
    theLetters.setAll(inColor);
    theLetters.show();
    delay(100);
    theLetters.setAll(&black);
    theLetters.show();
    delay(100);
  }
}


void loop() {
  
  cycleColor(&red);
  cycleColor(&white);
  cycleColor(&blue);

  flashColor(&red);
  flashColor(&green);
  flashColor(&blue);
}