 // Outbound message definitions
 #define CHECKSUM_FAILED "0CF"
 #define UNRECOGNIZED_COMMAND "0UC"
+#define DONE "0DN"
 
 // Encoder Board Variables
 #define ROTARY_SLAVE_ADDRESS 5
 #define ROTARY_COUNT 6
 #define PRINT_DELAY 200
 
+int  lastSeqNo;
+bool done;
 
 int bytes_to_store = 0;
 

          case RIGHT:   robotRight(arg);
          break;

          case KICK: Serial.println("Stage 1"); robotKick(arg); Serial.println("Stage 2");
          break;

          case GRAB: robotGrab(arg);
          break;
          
          case STORE: bytes_to_store = arg; //Serial.println(arg);
          break;
      
          default: Serial.println(UNRECOGNIZED_COMMAND);
          break;
      
        } // switch 
      } // if checksum
      else{
        // checksum is not correct, sig is therefore message was corrupted

   helloWorld();
}


/////////////////////////////////////////////////////////////////////////////////////
//                       Check if command not redundant                            //
/////////////////////////////////////////////////////////////////////////////////////
bool ignore(int seqNo)
{
  if (seqNo == lastSeqNo) {
    if (done) {
      Serial.println(DONE);
    }
    return true;
  } else {
    lastSeqNo = seqNo;
    done = false;
    return false;
  }
}


/////////////////////////////////////////////////////////////////////////////////////
//                              Helper Functions                                   //
/////////////////////////////////////////////////////////////////////////////////////
