  * 0x03 : Both Relays
  */
 void cmd_poof(byte which) {
+
+  // Just logging
+  LOG(F("Handling Command: Poof "));
+  if (( which & 0x01) && (which & 0x02)) {
+    LOGN(F("Both"));
+  } else if ( which & 0x01 ) {
+    LOGN(F("LEFT 0x01"));
+  } else if ( which & 0x02 ) {
+    LOGN(F("RIGHT 0x02"));
+  }
+
+  // Handle the command
   if ( which & 0x01 ) {
     r0->setOnWithPattern(SINGLE_BUTTON_PRESS);    
   }
   if ( which & 0x02 ) {
     r1->setOnWithPattern(SINGLE_BUTTON_PRESS);    
   }
+
+  // Call loop so the relays update internally
   r0->loop();
   r1->loop();
 }

 */
void blinkLEDOnBootup() {
  pinMode(LED, OUTPUT);
  for ( int i = 0; i < 3; i++ ) {
    digitalWrite(LED, HIGH);
    delay(500);
    digitalWrite(LED, LOW);

	Serial.begin(9600);     // Begin serial
  relay_setup();          // call before delay because relays are active low so we want to set to be HIGH as soon as possible

  LOGN(F("It's a MAD World!"));
  
  blinkLEDOnBootup();     // Blink the LED to give some time to reset Teensy if needed
  
  loadConfig(); // load important values about angles and other app settings that need to persist

  LOGN(F("Begin Accelerometer Setup"));
  delay(100);

  // Initalize the Accelerometer module
  accelerometer = new Accelerometer();
  accelerometer->setup();

  if ( accelerometer->working ) {
    LOGN(F("Accelerometer setup complete"));    
  } else {
    LOGN(F("Accelerometer setup failed."));
  }
}

void loop() {
