diff --git a/interface1/firmware/src/main.cpp b/interface1/firmware/src/main.cpp index 5d025b7..c790ea4 100644 --- a/interface1/firmware/src/main.cpp +++ b/interface1/firmware/src/main.cpp @@ -212,6 +212,7 @@ void loop() } frameBufferCount = 0; + frameState = WAIT_START; } else if (byte == FRAME_ESCAPE) { frameState = ESCAPE; } else { diff --git a/pycoax/coax/serial_interface.py b/pycoax/coax/serial_interface.py index e6fb501..dd16b29 100644 --- a/pycoax/coax/serial_interface.py +++ b/pycoax/coax/serial_interface.py @@ -21,17 +21,19 @@ class SerialInterface(Interface): def reset(self): original_serial_timeout = self.serial.timeout + self.serial.timeout = 5 + self.serial.reset_input_buffer() self._write_message(bytes([0x01])) - self.serial.timeout = 5 - try: message = self._read_message() finally: self.serial.timeout = original_serial_timeout + self.serial.reset_input_buffer() + if message[0] != 0x01: raise _convert_error(message)