Revert "FW query: query one sub-address in parallel" (#29550)

Revert "FW query: query one sub-address in parallel (#28675)"

This reverts commit 3d4c32284699dfd4f78bb2f5bb645344c98f1b46.
old-commit-hash: 365bdd3422
beeps
Shane Smiskol 2 years ago committed by GitHub
parent c5099d5000
commit 7ecfda8b79
  1. 12
      selfdrive/car/fw_versions.py
  2. 6
      selfdrive/car/tests/test_fw_fingerprint.py

@ -185,13 +185,11 @@ def get_present_ecus(logcan, sendcan, num_pandas=1) -> Set[EcuAddrBusType]:
if len(r.whitelist_ecus) == 0 or ecu_type in r.whitelist_ecus:
a = (addr, sub_addr, r.bus)
# Build set of queries
# Add first sub-address to parallel queries since there will be no conflicts
sub_addr_in_parallel_addrs = any(p[1] is not None for p in parallel_queries[r.obd_multiplexing])
if sub_addr is None or not sub_addr_in_parallel_addrs:
if sub_addr is None:
if a not in parallel_queries[r.obd_multiplexing]:
parallel_queries[r.obd_multiplexing].append(a)
else: # subaddresses must be queried one by one
if [a] not in queries[r.obd_multiplexing] and a not in parallel_queries[r.obd_multiplexing]:
if [a] not in queries[r.obd_multiplexing]:
queries[r.obd_multiplexing].append([a])
# Build set of expected responses to filter
@ -284,13 +282,11 @@ def get_fw_versions(logcan, sendcan, query_brand=None, extra=None, timeout=0.1,
if a not in ecu_types:
ecu_types[a] = ecu_type
# Add first sub-address to parallel queries since there will be no conflicts
sub_addr_in_parallel_addrs = any(p[2] is not None for p in parallel_addrs)
if sub_addr is None or not sub_addr_in_parallel_addrs:
if sub_addr is None:
if a not in parallel_addrs:
parallel_addrs.append(a)
else:
if [a] not in addrs and a not in parallel_addrs:
if [a] not in addrs:
addrs.append([a])
addrs.insert(0, parallel_addrs)

@ -206,7 +206,7 @@ class TestFwFingerprintTiming(unittest.TestCase):
def test_startup_timing(self):
# Tests worse-case VIN query time and typical present ECU query time
vin_ref_time = 1.0
present_ecu_ref_time = 0.7
present_ecu_ref_time = 0.8
fake_socket = FakeSocket()
present_ecu_time = 0.0
@ -225,7 +225,7 @@ class TestFwFingerprintTiming(unittest.TestCase):
print(f'get_vin, query time={vin_time / self.N} seconds')
def test_fw_query_timing(self):
total_ref_time = 5.9
total_ref_time = 6.1
brand_ref_times = {
1: {
'body': 0.1,
@ -237,7 +237,7 @@ class TestFwFingerprintTiming(unittest.TestCase):
'nissan': 0.4,
'subaru': 0.2,
'tesla': 0.2,
'toyota': 1.4,
'toyota': 1.6,
'volkswagen': 0.2,
},
2: {

Loading…
Cancel
Save