diff --git a/selfdrive/car/car_helpers.py b/selfdrive/car/car_helpers.py index 62cb3bbbe..e9d5f08cc 100644 --- a/selfdrive/car/car_helpers.py +++ b/selfdrive/car/car_helpers.py @@ -83,8 +83,10 @@ def fingerprint(logcan, sendcan): frame = 0 - if params.get("DragonUseCachedCar") == "1" and params.get("DragonCachedCar") is not None: - candidate_cars, finger, vin = pickle.loads(params.get("DragonCachedCar")) + if params.get("DragonUseCachedCar") == "1" and params.get("DragonCachedFP") != "" and params.get("DragonCachedModel") != "": + candidate_cars = [params.get("DragonCachedModel")] + finger = params.get("DragonCachedFP") + vin = params.get("DragonCachedVIN") else: while True: a = messaging.recv_one(logcan) @@ -139,7 +141,9 @@ def fingerprint(logcan, sendcan): if vin_step == len(vin_cnts) and vin_cnt == vin_cnts[-1]: vin = "".join(vin_dat[3:]) - params.put("DragonCachedCar", pickle.dumps([candidate_cars, finger, vin])) + params.put("DragonCachedModel", pickle.dumps(candidate_cars)) + params.put("DragonCachedFP", pickle.dumps(finger)) + params.put("DragonCachedVIN", pickle.dumps(vin)) cloudlog.warning("fingerprinted %s", candidate_cars[0]) cloudlog.warning("VIN %s", vin) diff --git a/selfdrive/dragonpilot/dragonconf/__init__.py b/selfdrive/dragonpilot/dragonconf/__init__.py index dca90c679..8846bf7ed 100644 --- a/selfdrive/dragonpilot/dragonconf/__init__.py +++ b/selfdrive/dragonpilot/dragonconf/__init__.py @@ -13,7 +13,9 @@ default_conf = { 'DragonDisableLogger': '0', 'DragonNoctuaMode': '0', 'DragonUseCachedCar': '1', - 'DragonCachedCar': '', + 'DragonCachedModel': '', # for cache car + 'DragonCachedFP': '', # for cache car + 'DragonCachedVIN': '', # for cache car } def dragonpilot_set_params(params):