           setOutputLevel(output++, red);
           setOutputLevel(output++, green);
           setOutputLevel(output++, blue);
-        }      
+        }
       }
       Serial.println('R');
     } else if (receiveBuffer[0] == 'H') {

const char
  *singleOutput = "$%3d,%3d,%3d,%3d",
  *allOutputs = "#%3d,%3d,%3d";
int errorCount = 0;

void setup() {
  Serial.begin(57600);
  Wire.begin();
  setupDriver();
  for (byte output = 16; output-- > 0;)
    setOutputLevel(output, 0);
}

void loop() {
  char receiveBuffer[20];
  int output, red, green, blue;
  receiveBuffer[0] = 0;
  if (readLine(receiveBuffer, 1000)) {
    if (strlen(receiveBuffer) > 4) {

}

void setOutputLevel(byte output, byte level) {
  int intensity = pgm_read_word_near(gammaCorrected + level);
  Wire.beginTransmission(pcaBaseAddress);
  // Only write OFF registers, skip ON registers.
  // This means all PWM load starts at zero, which is not ideal
