diff --git a/selfdrive/car/ford/tests/print_platform_codes.py b/selfdrive/car/ford/tests/print_platform_codes.py index cbed629f7f..2d41d7394f 100755 --- a/selfdrive/car/ford/tests/print_platform_codes.py +++ b/selfdrive/car/ford/tests/print_platform_codes.py @@ -21,5 +21,5 @@ if __name__ == "__main__": print(f' (Ecu.{ECU_NAME[ecu[0]]}, {hex(ecu[1])}, {ecu[2]}):') for code, versions in code_versions.items(): - print(f' {code!r}: {sorted(versions)}') + print(f' {code.decode()}: {sorted({ version.decode() for version in versions })}') print() diff --git a/selfdrive/car/ford/values.py b/selfdrive/car/ford/values.py index c417e8939f..2980eecf43 100644 --- a/selfdrive/car/ford/values.py +++ b/selfdrive/car/ford/values.py @@ -159,7 +159,7 @@ FW_RE = re.compile(b'^(?P[' + FW_ALPHABET + b'])' + def get_platform_codes(fw_versions: list[bytes]) -> set[tuple[bytes, bytes]]: - codes = set() # (platform-part, year-version) + codes = set() # (platform_hint, model_year-software_version) for firmware in fw_versions: m = FW_RE.match(firmware.rstrip(b'\0')) @@ -169,7 +169,7 @@ def get_platform_codes(fw_versions: list[bytes]) -> set[tuple[bytes, bytes]]: # since "AAA" is higher than "ZZ", prepend "A" to two-letter versions (i.e. "ZZ" -> "AZZ") software_version = (b'A' + m.group('software_version'))[-3:] - code = b'-'.join([m.group('platform_hint'), m.group('part_number')]) + code = m.group('platform_hint') version = b'-'.join([m.group('model_year'), software_version]) codes.add((code, version))