/*
 * 
 * Code to test the mfu.py python script
 * which sends firmware to the Midnite Classic
 * 
 * This code just accepts the data sent and sends an ACK
 * 
 * Email: earl@microcontrollerelectronics.com
 * 
*/

#define BAUD_RATE 57600
String inputString  = "";  

int ledPin    = 13;  
int BufSize   = 512;
int Min_Frame = 11;
char b;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(BAUD_RATE);
  inputString.reserve(BufSize);
}

void loop() {
  if ( (Serial.available() == 0) && (inputString.length() > Min_Frame) ) {
    delay(10);
    if (Serial.available() == 0) {
      digitalWrite(ledPin, HIGH); 
      inputString = "";
      Serial.write(0x11);
      delay(25);
      digitalWrite(ledPin, LOW);
    }
  }
}

void serialEvent() { 
  while (Serial.available()) {
    b = Serial.read();
    if (inputString.length() < BufSize) inputString += b;
  }
}
