From e39792f35a5e8ad970d9bd69c152513eab06301d Mon Sep 17 00:00:00 2001 From: Cameron Clough Date: Tue, 23 Jan 2024 22:32:24 +0000 Subject: [PATCH] add print_platform_codes.py script --- .../car/ford/tests/print_platform_codes.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 selfdrive/car/ford/tests/print_platform_codes.py diff --git a/selfdrive/car/ford/tests/print_platform_codes.py b/selfdrive/car/ford/tests/print_platform_codes.py new file mode 100755 index 0000000000..e3e17cdb3e --- /dev/null +++ b/selfdrive/car/ford/tests/print_platform_codes.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +from cereal import car +from openpilot.selfdrive.car.ford.values import get_platform_codes +from openpilot.selfdrive.car.ford.fingerprints import FW_VERSIONS + +Ecu = car.CarParams.Ecu +ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()} + + +if __name__ == "__main__": + for car_model, ecus in FW_VERSIONS.items(): + print(car_model) + for ecu in sorted(ecus, key=lambda x: int(x[0])): + platform_codes = get_platform_codes(ecus[ecu]) + codes = {code for code, _ in platform_codes} + versions = {version for _, version in platform_codes if version is not None} + min_version, max_version = min(versions), max(versions) + print(f' (Ecu.{ECU_NAME[ecu[0]]}, {hex(ecu[1])}, {ecu[2]}):') + print(f' Codes: {codes}') + print(f' Versions: {versions}') + print()