5
5
from dataclasses import dataclass , field
6
6
from typing import Any , List
7
7
from tqdm import tqdm
8
+ import time
8
9
9
10
import panda .python .uds as uds
10
11
from cereal import car
@@ -326,6 +327,7 @@ def get_fw_versions(logcan, sendcan, extra=None, timeout=0.1, debug=False, progr
326
327
addrs .insert (0 , parallel_addrs )
327
328
328
329
fw_versions = {}
330
+ start_t = time .monotonic ()
329
331
for i , addr in enumerate (tqdm (addrs , disable = not progress )):
330
332
for addr_chunk in chunks (addr ):
331
333
for r in REQUESTS :
@@ -334,12 +336,14 @@ def get_fw_versions(logcan, sendcan, extra=None, timeout=0.1, debug=False, progr
334
336
(len (r .whitelist_ecus ) == 0 or ecu_types [(a , s )] in r .whitelist_ecus )]
335
337
336
338
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 )
338
340
t = 2 * timeout if i == 0 else timeout
339
341
fw_versions .update ({addr : (version , r .request , r .rx_offset ) for addr , version in query .get_data (t ).items ()})
340
342
except Exception :
341
343
cloudlog .warning (f"FW query exception: { traceback .format_exc ()} " )
342
344
345
+ cloudlog .warning (f"Took { time .monotonic () - start_t } seconds to get FW versions" )
346
+
343
347
# Build capnp list to put into CarParams
344
348
car_fw = []
345
349
for addr , (version , request , rx_offset ) in fw_versions .items ():
0 commit comments