|
|
|
@ -93,17 +93,17 @@ def fingerprint(logcan, sendcan): |
|
|
|
|
|
|
|
|
|
if cached_params is not None and len(cached_params.carFw) > 0 and cached_params.carVin is not VIN_UNKNOWN: |
|
|
|
|
cloudlog.warning("Using cached CarParams") |
|
|
|
|
vin = cached_params.carVin |
|
|
|
|
vin, vin_rx_addr = cached_params.carVin, 0 |
|
|
|
|
car_fw = list(cached_params.carFw) |
|
|
|
|
else: |
|
|
|
|
cloudlog.warning("Getting VIN & FW versions") |
|
|
|
|
_, vin = get_vin(logcan, sendcan, bus) |
|
|
|
|
_, vin_rx_addr, vin = get_vin(logcan, sendcan, bus) |
|
|
|
|
ecu_rx_addrs = get_present_ecus(logcan, sendcan) |
|
|
|
|
car_fw = get_fw_versions_ordered(logcan, sendcan, ecu_rx_addrs) |
|
|
|
|
|
|
|
|
|
exact_fw_match, fw_candidates = match_fw_to_car(car_fw) |
|
|
|
|
else: |
|
|
|
|
vin = VIN_UNKNOWN |
|
|
|
|
vin, vin_rx_addr = VIN_UNKNOWN, 0 |
|
|
|
|
exact_fw_match, fw_candidates, car_fw = True, set(), [] |
|
|
|
|
|
|
|
|
|
if len(vin) != 17: |
|
|
|
@ -166,7 +166,7 @@ def fingerprint(logcan, sendcan): |
|
|
|
|
source = car.CarParams.FingerprintSource.fixed |
|
|
|
|
|
|
|
|
|
cloudlog.event("fingerprinted", car_fingerprint=car_fingerprint, source=source, fuzzy=not exact_match, |
|
|
|
|
fw_count=len(car_fw), ecu_responses=list(ecu_rx_addrs), error=True) |
|
|
|
|
fw_count=len(car_fw), ecu_responses=list(ecu_rx_addrs), vin_rx_addr=vin_rx_addr, error=True) |
|
|
|
|
return car_fingerprint, finger, vin, car_fw, source, exact_match |
|
|
|
|
|
|
|
|
|
|
|
|
|
|