     if (attentionLevel == HIGH)
     {
       //Serial.println("HIGH");
-      readMotors();
+      //  Read changes from LOW to HIGH
+      if ((readMotorsStatus == 0) || (readMotorsStatus == 2)) {
+        readMotors();
+      }
       previousAttentionLevelHigh = currentMillis;
       //Serial.println(previousAttentionLevelHigh);
       attentionLevelHigh++;

      Serial.flush();
      manualResetControllerData();
    }
    //  Get Invalid Command
    else if ((((serial_rx_buffer[0] < 0x01) || (serial_rx_buffer[0] > 0x0C)) && ((serial_rx_buffer[11] < 0x01) || (serial_rx_buffer[11] > 0x0C))) && (((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];

unsigned long previousAnalogLedLevelHigh = 0;
unsigned long previousAnalogLedLevelLow = 0;

unsigned long readMotorsStatus = 0; // 0 = Read Both Low to High and High to Low changes, 1 = Disabled, 2 = Read Low to High changes, 3 = Read High to Low Changes. 0 Means it's enabled by default.

unsigned long resetCalled = 0;
unsigned long resetDone = 0;

