From 49a1cc4e4cb721dc619b31b6e2477e00d02cd6cd Mon Sep 17 00:00:00 2001 From: Jason Young Date: Tue, 9 Mar 2021 11:08:45 -0500 Subject: [PATCH] Use multi-query to grab SW build ID and parameterization --- selfdrive/car/fw_versions.py | 19 +++++++++++++------ selfdrive/car/volkswagen/values.py | 12 ++++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/selfdrive/car/fw_versions.py b/selfdrive/car/fw_versions.py index 45d2c5321e..29b94ad9f4 100755 --- a/selfdrive/car/fw_versions.py +++ b/selfdrive/car/fw_versions.py @@ -56,10 +56,11 @@ HYUNDAI_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER + 0x4 TOYOTA_VERSION_REQUEST = b'\x1a\x88\x01' TOYOTA_VERSION_RESPONSE = b'\x5a\x88\x01' -VOLKSWAGEN_VERSION_REQUEST = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER]) + \ - p16(uds.DATA_IDENTIFIER_TYPE.VEHICLE_MANUFACTURER_SPARE_PART_NUMBER) -VOLKSWAGEN_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER + 0x40]) + \ - p16(uds.DATA_IDENTIFIER_TYPE.VEHICLE_MANUFACTURER_SPARE_PART_NUMBER) +VOLKSWAGEN_VERSION_REQUEST_MULTI = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER]) + \ + p16(uds.DATA_IDENTIFIER_TYPE.VEHICLE_MANUFACTURER_SPARE_PART_NUMBER) + \ + p16(uds.DATA_IDENTIFIER_TYPE.VEHICLE_MANUFACTURER_ECU_SOFTWARE_VERSION_NUMBER) + \ + p16(uds.DATA_IDENTIFIER_TYPE.APPLICATION_DATA_IDENTIFICATION) +VOLKSWAGEN_VERSION_RESPONSE = bytes([uds.SERVICE_TYPE.READ_DATA_BY_IDENTIFIER + 0x40]) OBD_VERSION_REQUEST = b'\x09\x04' OBD_VERSION_RESPONSE = b'\x49\x04' @@ -115,8 +116,14 @@ REQUESTS = [ # Volkswagen ( "volkswagen", - [EXTENDED_DIAGNOSTIC_REQUEST, VOLKSWAGEN_VERSION_REQUEST], - [EXTENDED_DIAGNOSTIC_RESPONSE, VOLKSWAGEN_VERSION_RESPONSE], + [VOLKSWAGEN_VERSION_REQUEST_MULTI], + [VOLKSWAGEN_VERSION_RESPONSE], + RX_OFFSET.VOLKSWAGEN, + ), + ( + "volkswagen", + [VOLKSWAGEN_VERSION_REQUEST_MULTI], + [VOLKSWAGEN_VERSION_RESPONSE], RX_OFFSET.DEFAULT, ), ( diff --git a/selfdrive/car/volkswagen/values.py b/selfdrive/car/volkswagen/values.py index 91613516e8..d567614a8e 100644 --- a/selfdrive/car/volkswagen/values.py +++ b/selfdrive/car/volkswagen/values.py @@ -68,22 +68,22 @@ FINGERPRINTS = { FW_VERSIONS = { CAR.GOLF: { (Ecu.engine, 0x7e0, None): [ - b'8V0906259P ', # 2018 Golf R (DJJA) + b'\xf1\x878V0906259P \xf1\x890001', # 2018 Golf R (DJJA) ], (Ecu.transmission, 0x7e1, None): [ - b'0GC300012A ', # 2018 Golf R (DQ381) + b'\xf1\x870GC300012A \xf1\x891403', # 2018 Golf R (DQ381) ], (Ecu.srs, 0x715, None): [ - b'5Q0959655J ', # 2018 Golf R + b'\xf1\x875Q0959655J \xf1\x890830\xf1\x82\x13271212111312--071104171838103891131211', # 2018 Golf R (USA) ], (Ecu.eps, 0x712, None): [ - b'3Q0909144L ', # Shared + b'\xf1\x873Q0909144L \xf1\x895081\xf1\x82\x0571A0JA15A1', # 2018 Golf R (progressive ratio) ], (Ecu.fwdRadar, 0x757, None): [ - b'5Q0907572J ', # Shared + b'\xf1\x875Q0907572J \xf1\x890654', ], (Ecu.fwdCamera, 0x74f, None): [ - b'3Q0980654H ', # Shared + b'\xf1\x873Q0980654H \xf1\x890272\xf1\x82\x0460041116', ], } }