  * LPD8806 pin assignments
  * DATA    2
  * CLOCK   3
+ * MODE    6
  */
 
 #include <SPI.h>

    Mirf.config();
    Serial.println("CLIENT READY");
    
    strip.begin();
    strip.show();
    initPattern();
}

void loop() {

const int BAUD = 9600;

const int nLEDs = 32; // Number of LEDs in strand
const int dataPin  = 2; // Output pins to the LPD8806
const int clockPin = 3; // Output pins to the LPD8806
const int buttonPin = 6;// the number of the input pin

const int frameDuration = 25; // ms to display each frame of animation
const int counterLimit = 10240; // we don't need to track the number of loop executions up to infinity, once it hits this number it starts back at zero.
int counter = 0; // keeps track of the number of times we've executed loop
int maxParticles = 5;
int maxLeadingCorona = (nLEDs/2)-1;
int maxTrailingCorona = (nLEDs/2)-1;

LPD8806 strip = LPD8806(32, dataPin, clockPin); // Init the strip

int particleParamSetCount = 5;		// number of sets of particle parameters
int currentParticleParamSet = 1;	// which of those particle parameter sets are currently active
int ringParamSetCount = 5;			// number of sets of ring parameters
int currentRingParamSet = 1;		// which of those ring parameter sets are currently active

int PARTICLE = 1;
int RING = 2;

int mode = RING;
// int mode = PARTICLE;

/* 
 * array stores 16 parameters per particle. In order these represent:
