thought we needed this, but actually...

pull/28386/head
Shane Smiskol 2 years ago
parent 43a76e32c4
commit f6307f54fa
  1. 2
      selfdrive/car/fw_query_definitions.py
  2. 2
      selfdrive/car/fw_versions.py
  3. 1
      selfdrive/car/hyundai/values.py

@ -80,7 +80,9 @@ class FwQueryConfig:
fuzzy_min_match_count: int = 2
# A function to get uniquely identifiable codes for a version
fuzzy_get_platform_codes: Optional[Callable[[List[bytes]], Set[bytes]]] = None
# List of ECUs to consider for fuzzy fingerprinting, and an option to require them to exist
fuzzy_ecus: List[capnp.lib.capnp._EnumModule] = field(default_factory=set)
fuzzy_ecus_must_exist: bool = False
def __post_init__(self):
for i in range(len(self.requests)):

@ -62,6 +62,7 @@ def match_fw_to_car_fuzzy(fw_versions_dict, config, log=True, exclude=None):
# Build lookup table from (addr, sub_addr, fw) to list of candidate cars
all_fw_versions = defaultdict(set)
all_platform_codes = defaultdict(set)
seen_ecus = defaultdict(bool)
for candidate, fw_by_addr in FW_VERSIONS.items():
if MODEL_TO_BRAND[candidate] != 'hyundai':
continue
@ -87,6 +88,7 @@ def match_fw_to_car_fuzzy(fw_versions_dict, config, log=True, exclude=None):
print(all_platform_codes)
match_count = 0
candidate = None
seen_addrs = set()
for addr, versions in fw_versions_dict.items():
for version in versions:
# All cars that have this FW response on the specified address

@ -428,6 +428,7 @@ FW_QUERY_CONFIG = FwQueryConfig(
fuzzy_get_platform_codes=get_platform_codes,
# Hyundai works best with camera and radar (which have standardized platform codes)
fuzzy_ecus=[Ecu.fwdRadar, Ecu.fwdCamera],
fuzzy_ecus_must_exist=True,
)
FW_VERSIONS = {

Loading…
Cancel
Save