Skip to content

Commit 16f17ae

Browse files
fix infinite serial read (#2290)
1 parent d9f856b commit 16f17ae

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

python/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -741,14 +741,14 @@ def can_clear(self, bus):
741741

742742
# ******************* serial *******************
743743

744-
def serial_read(self, port_number):
745-
ret = []
744+
def serial_read(self, port_number, maxlen=1024):
745+
ret = b''
746746
while 1:
747-
lret = bytes(self._handle.controlRead(Panda.REQUEST_IN, 0xe0, port_number, 0, 0x40))
748-
if len(lret) == 0:
747+
r = bytes(self._handle.controlRead(Panda.REQUEST_IN, 0xe0, port_number, 0, 0x40))
748+
if len(r) == 0 or len(ret) >= maxlen:
749749
break
750-
ret.append(lret)
751-
return b''.join(ret)
750+
ret += r
751+
return ret
752752

753753
def serial_write(self, port_number, ln):
754754
ret = 0

0 commit comments

Comments
 (0)