55from dataclasses import dataclass , field
66from typing import Any , List
77from tqdm import tqdm
8+ import time
89
910import panda .python .uds as uds
1011from cereal import car
@@ -326,6 +327,7 @@ def get_fw_versions(logcan, sendcan, extra=None, timeout=0.1, debug=False, progr
326327 addrs .insert (0 , parallel_addrs )
327328
328329 fw_versions = {}
330+ start_t = time .monotonic ()
329331 for i , addr in enumerate (tqdm (addrs , disable = not progress )):
330332 for addr_chunk in chunks (addr ):
331333 for r in REQUESTS :
@@ -334,12 +336,14 @@ def get_fw_versions(logcan, sendcan, extra=None, timeout=0.1, debug=False, progr
334336 (len (r .whitelist_ecus ) == 0 or ecu_types [(a , s )] in r .whitelist_ecus )]
335337
336338 if addrs :
337- query = IsoTpParallelQuery (sendcan , logcan , r .bus , addrs , r .request , r .response , r .rx_offset , debug = debug )
339+ query = IsoTpParallelQuery (sendcan , logcan , r .bus , addrs , r .request , r .response , r .rx_offset , debug = debug , response_pending_timeout = 0 )
338340 t = 2 * timeout if i == 0 else timeout
339341 fw_versions .update ({addr : (version , r .request , r .rx_offset ) for addr , version in query .get_data (t ).items ()})
340342 except Exception :
341343 cloudlog .warning (f"FW query exception: { traceback .format_exc ()} " )
342344
345+ cloudlog .warning (f"Took { time .monotonic () - start_t } seconds to get FW versions" )
346+
343347 # Build capnp list to put into CarParams
344348 car_fw = []
345349 for addr , (version , request , rx_offset ) in fw_versions .items ():
0 commit comments