       Serial.flush();
       changeAutoResetControllerData();
     }
+    else if ((serial_rx_buffer[0] == 0x12) && (serial_rx_buffer[11] == 0x12)) {
+      // Choose to enable or disable Automatic Reset Controller Data
+      for (serial_rx_buffer_counter = 0; serial_rx_buffer_counter < sizeof(serial_rx_buffer_toggle_before_input_reset); serial_rx_buffer_counter++) {
+        //  Pass Serial Buffer to toggleBeforeInout Buffer
+        serial_rx_buffer_toggle_before_input_reset[serial_rx_buffer_counter] = serial_rx_buffer[serial_rx_buffer_counter];
+        Serial.write(serial_rx_buffer_toggle_before_input_reset[serial_rx_buffer_counter]);
+      }
+      Serial.flush();
+      toggleBeforeInputReset();
+    }
     //  Get Invalid Command
-    else if ((((serial_rx_buffer[0] < 0x01) || (serial_rx_buffer[0] > 0x11)) && ((serial_rx_buffer[11] < 0x01) || (serial_rx_buffer[11] > 0x11))) && (((serial_rx_buffer[0] != 0xA0) && (serial_rx_buffer[0] != 0xA1)) && ((serial_rx_buffer[11] != 0xA0) && (serial_rx_buffer[11] != 0xA1)))) {
+    else if ((((serial_rx_buffer[0] < 0x01) || (serial_rx_buffer[0] > 0x13)) && ((serial_rx_buffer[11] < 0x01) || (serial_rx_buffer[11] > 0x13))) && (((serial_rx_buffer[0] != 0xA0) && (serial_rx_buffer[0] != 0xA1)) && ((serial_rx_buffer[11] != 0xA0) && (serial_rx_buffer[11] != 0xA1)))) {
       for (serial_rx_buffer_counter = 0; serial_rx_buffer_counter < sizeof(serial_rx_buffer_invalid_command); serial_rx_buffer_counter++) {
         //  Pass Serial Buffer to Reset Controller Data Buffer
         serial_rx_buffer_invalid_command[serial_rx_buffer_counter] = serial_rx_buffer[serial_rx_buffer_counter];

  getAttention();
  readMotors();
  manualResetControllerData();

  serial_rx_buffer_change_motors_status[0] = 0x0F;
  serial_rx_buffer_change_motors_status[1] = 0x00;

  inputDelay = 0;
  isInputtingDelayed = false;
  isInputting = false;

  currentMillis = millis();
  Serial.begin(baudRate);
  isConnected = false;
