From ff155a474d12b62fb84db0ca07d2577687c5c141 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Sat, 16 Feb 2019 00:08:24 +0100 Subject: [PATCH] soc/tools/remote/comm_uart: be sure to flush in waiting bytes before read and write --- litex/soc/tools/remote/comm_uart.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/litex/soc/tools/remote/comm_uart.py b/litex/soc/tools/remote/comm_uart.py index b6a8f1c6e..0a056ec76 100644 --- a/litex/soc/tools/remote/comm_uart.py +++ b/litex/soc/tools/remote/comm_uart.py @@ -38,7 +38,12 @@ class CommUART: remaining -= written pos += written + def _flush(self): + if self.port.inWaiting() > 0: + self.port.read(self.port.inWaiting()) + def read(self, addr, length=None): + self._flush() data = [] length_int = 1 if length is None else length self._write([self.msg_type["read"], length_int]) @@ -53,6 +58,7 @@ class CommUART: return data def write(self, addr, data): + self._flush() data = data if isinstance(data, list) else [data] length = len(data) offset = 0