IsoTpParallelQuery: extend timeouts when receiving consecutive frames (#27762)

* change to rx_in_progress

* bump panda

* bump panda
old-commit-hash: a0f33658f2
vw-mqb-aeb
Shane Smiskol 2 years ago committed by GitHub
parent 24cdd43c9f
commit b5d5f59260
  1. 2
      panda
  2. 6
      selfdrive/car/isotp_parallel_query.py

@ -1 +1 @@
Subproject commit a12c0a795678373d946b644b43d9402b72e502a9
Subproject commit 8efbcf041c1b6da1764bb56f822609fd4bb0758f

@ -105,13 +105,14 @@ class IsoTpParallelQuery:
for tx_addr, msg in msgs.items():
try:
dat, updated = msg.recv()
dat, rx_in_progress = msg.recv()
except Exception:
cloudlog.exception(f"Error processing UDS response: {tx_addr}")
request_done[tx_addr] = True
continue
if updated:
# Extend timeout for each consecutive ISO-TP frame to avoid timing out on long responses
if rx_in_progress:
response_timeouts[tx_addr] = time.monotonic() + timeout
if not dat:
@ -123,6 +124,7 @@ class IsoTpParallelQuery:
if response_valid:
if counter + 1 < len(self.request):
response_timeouts[tx_addr] = time.monotonic() + timeout
msg.send(self.request[counter + 1])
request_counter[tx_addr] += 1
else:

Loading…
Cancel
Save