From 76c0f84d02bef49be53c73327454634a44eb387d Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Sat, 8 Jun 2024 05:33:19 -0700 Subject: [PATCH] Vehicles - Force Fingerprint Added function to automatically detect the vehicle's fingerprint if it exists, or an option to force the vehicle's fingerprint if it doesn't. --- selfdrive/car/car_helpers.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/selfdrive/car/car_helpers.py b/selfdrive/car/car_helpers.py index 24973a401..ebbd708fa 100644 --- a/selfdrive/car/car_helpers.py +++ b/selfdrive/car/car_helpers.py @@ -192,11 +192,20 @@ def get_car_interface(CP): def get_car(logcan, sendcan, disable_openpilot_long, experimental_long_allowed, params, num_pandas=1): + car_model = params.get("CarModel", encoding='utf-8') + force_fingerprint = params.get_bool("ForceFingerprint") + candidate, fingerprints, vin, car_fw, source, exact_match = fingerprint(logcan, sendcan, num_pandas) - if candidate is None: - cloudlog.event("car doesn't match any fingerprints", fingerprints=repr(fingerprints), error=True) - candidate = "MOCK" + if candidate is None or force_fingerprint: + if car_model is not None: + candidate = car_model + else: + cloudlog.event("car doesn't match any fingerprints", fingerprints=repr(fingerprints), error=True) + candidate = "MOCK" + else: + params.put_nonblocking("CarMake", candidate.split('_')[0].title()) + params.put_nonblocking("CarModel", candidate) if get_build_metadata().channel == "FrogPilot-Development" and params.get("DongleId", encoding='utf-8') != "FrogsGoMoo": candidate = "MOCK"