       }
     } else {
       // pop and process next command from queue
-      doLogoCommand(popCmd());
+      String nextCmd = popCmd();
+      Serial.println("Process Next Command: " + nextCmd);
+      doLogoCommand(nextCmd);
     }
   }
 }

  pushTo(x + w, y);
  pushCmd("PU");
  pushTo(x + w + letterSpacing, y);
}




boolean isQEmpty() {
  return qSize == 0;
}

void printCommandQ()
{
  Serial.print("cmdQ:");
  Serial.print(qHead);
  Serial.print(":");
  Serial.println(qSize);
  
  for (int i=0; i<qSize; i++) {
    Serial.print(i);
    Serial.print(":");
    int j = qHead + i;
    if (j > QUEUE_LENGTH) j-= QUEUE_LENGTH;
    Serial.println(cmdQ[j].cmd);
  }
}

// position calcs
