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 new_request.bus += 4
self.requests.append(new_request) 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]: include_extra_ecus: bool = True) -> set[EcuAddrSubAddr | AddrType]:
# Add ecus in database + extra ecus # Add ecus in database + extra ecus
brand_ecus = {ecu for ecus in fw_versions.values() for ecu in ecus} brand_ecus = {ecu for ecus in fw_versions.values() for ecu in ecus}
@ -106,6 +106,6 @@ class FwQueryConfig:
if include_extra_ecus: if include_extra_ecus:
brand_ecus |= set(self.extra_ecus) brand_ecus |= set(self.extra_ecus)
if include_ecu: if include_ecu_type:
return brand_ecus return brand_ecus
return {(addr, subaddr) for _, addr, subaddr in 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: if r.bus > num_pandas * 4 - 1:
continue continue
for brand_versions in VERSIONS[brand].values(): for ecu_type, addr, sub_addr in config.get_all_ecus(VERSIONS[brand], include_ecu_type=True):
for ecu_type, addr, sub_addr in list(brand_versions) + config.extra_ecus:
# Only query ecus in whitelist if whitelist is not empty # Only query ecus in whitelist if whitelist is not empty
if len(r.whitelist_ecus) == 0 or ecu_type in r.whitelist_ecus: if len(r.whitelist_ecus) == 0 or ecu_type in r.whitelist_ecus:
a = (addr, sub_addr, r.bus) a = (addr, sub_addr, r.bus)

Loading…
Cancel
Save