can also do this!

pull/31221/head
Shane Smiskol 1 year ago
parent e7fca3ca0b
commit 1a7035612d
  1. 4
      selfdrive/car/fw_query_definitions.py
  2. 3
      selfdrive/car/fw_versions.py

@ -98,7 +98,7 @@ class FwQueryConfig:
new_request.bus += 4
self.requests.append(new_request)
def get_all_ecus(self, fw_versions: OfflineFwVersions, include_ecu: bool = False,
def get_all_ecus(self, fw_versions: OfflineFwVersions, include_ecu_type: bool = False,
include_extra_ecus: bool = True) -> set[EcuAddrSubAddr | AddrType]:
# Add ecus in database + extra ecus
brand_ecus = {ecu for ecus in fw_versions.values() for ecu in ecus}
@ -106,6 +106,6 @@ class FwQueryConfig:
if include_extra_ecus:
brand_ecus |= set(self.extra_ecus)
if include_ecu:
if include_ecu_type:
return brand_ecus
return {(addr, subaddr) for _, addr, subaddr in brand_ecus}

@ -177,8 +177,7 @@ def get_present_ecus(logcan, sendcan, num_pandas=1) -> Set[EcuAddrBusType]:
if r.bus > num_pandas * 4 - 1:
continue
for brand_versions in VERSIONS[brand].values():
for ecu_type, addr, sub_addr in list(brand_versions) + config.extra_ecus:
for ecu_type, addr, sub_addr in config.get_all_ecus(VERSIONS[brand], include_ecu_type=True):
# Only query ecus in whitelist if whitelist is not empty
if len(r.whitelist_ecus) == 0 or ecu_type in r.whitelist_ecus:
a = (addr, sub_addr, r.bus)

Loading…
Cancel
Save