 
 
   void setOutput( int r, int g, int b) {
-    //"local variable hides a field" :p
 
     if (!SINGLE_LED) {
       Driver.begin();
       Driver.SetColor(r, g, b);
       Driver.end();
-    } else { //testing setup: single RGB led with cathode on 7
+    } else {
       analogWrite(R_PIN,r);
       analogWrite(G_PIN,g);
       analogWrite(B_PIN,b);

    pinMode(GND,OUTPUT);
  }
  Serial.begin(BAUDRATE);
  rgb[4]=0;
}


int timeOutCount = 0;
char input[128];

void loop() {

  
  Serial.readStringUntil('\n').toCharArray(input,255);
  if (input!="") { // if connected    
    switch (input[0]) {
      case 'c' : { 
        sClear(); 
        break; 
      }
      case 'B': {
        *rgb[0]=0;
        *rgb[1]=0;
        *rgb[2]=255;
        setOutput(rgb);
        if (SINGLE_LED) { Serial.println(digitalRead(B_PIN)); }
        break;
      }
      case 'b': {
        analogWrite(B_PIN,127.5);
        break;
      }
      case '1': {
        *rgb[0]=255;
        *rgb[1]=255;
        *rgb[2]=255;
        setOutput(rgb);
        break;
      }
      case 'o': {
        setOutput(rgb);
        break;
      }
      case '*': {
        Serial.println(*rgb[0]);
        Serial.println(*rgb[1]);
        Serial.println(*rgb[2]);
        break;
      }
      case '?': {
        Serial.println(red);
        Serial.println(green);
        Serial.println(blue);
        break;
      }
      case 'X' : {
        red=0; green=0; blue=0;
        setOutput(rgb);
        break;
      }
      case '!': {
        red=0; green=0; blue=0;
        setOutput(red,green,blue);
        break;
      }
      case 'V': { // set value specified in V#FFFFFF input
        char colorInput[] = {input[1],input[2],input[3],input[4],input[5],input[6],input[7],'\0'}; // who needs loops
        if (DEBUGGING_MODE) {
          Serial.print("Serial input:"); 
          Serial.println(colorInput); 
        }

        }
        break;
      }

      // begin debugging char commands
      

    }
  } else {
    // no input;
    if (timeOutCount > TIMEOUT) { // after TIMEOUT, flash randomly per second
      setOutput( random(255), random(255), random(255) ); // change to be nicer (1s gradients?)
    }


