From 16f17ae0a1eff296ef7372bfd8c6d030c8a68a52 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sun, 5 Oct 2025 13:57:58 -0700 Subject: [PATCH] fix infinite serial read (#2290) --- python/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/__init__.py b/python/__init__.py index aa5f49dd..47fceed9 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -741,14 +741,14 @@ class Panda: # ******************* serial ******************* - def serial_read(self, port_number): - ret = [] + def serial_read(self, port_number, maxlen=1024): + ret = b'' while 1: - lret = bytes(self._handle.controlRead(Panda.REQUEST_IN, 0xe0, port_number, 0, 0x40)) - if len(lret) == 0: + r = bytes(self._handle.controlRead(Panda.REQUEST_IN, 0xe0, port_number, 0, 0x40)) + if len(r) == 0 or len(ret) >= maxlen: break - ret.append(lret) - return b''.join(ret) + ret += r + return ret def serial_write(self, port_number, ln): ret = 0