 /*******************************************************************************************/
 unsigned long timer; //A multi-purpose timer
 
+char StringIn[10]; //Used to store serial characters in
+
+
 unsigned long ballReleaseTimer[4]; //Saves when the last ball was released.
 boolean ballReleasing[] = {
   0,0,0,0}; //Indicates whether we are in the process of releasing a ball

void checkSerial(){
  //Check for input
  if (Serial.available()){
    delay(1);

    char FirstChar=Serial.read(); //Get the first character

    //Get the rest of the string, except for the '=' sign
    i=0;
    Serial.read(); //Waste one character
    while (Serial.available()){
      StringIn[i++]=Serial.read();

  }
}

/*▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
/*executeCommand
/*******************************************************************************************/
//This function executes whatever the necessary action is, as told by the command and data
//received through serial comms
void executeCommand(byte shooterNum){
  switch (StringIn[0]){
  case 'S':
  case 's':
    releaseBall(shooterNum);
    break;

  case 'M':
  case 'm':
    Serial.print("Turning on motor: ");
    Serial.println(shooterNum);
    analogWrite(motorPins[shooterNum],motorLevel[shooterNum]);
    break;

  case 'X':
  case 'x':
    Serial.print("Turning off motor: ");
    Serial.println(shooterNum);
    analogWrite(motorPins[shooterNum],0);
    break;

