From 35aaf90587536e9ef5edfc1ec30c3fa2f1506aef Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Mon, 17 Jul 2023 18:21:18 -0700 Subject: [PATCH] Nissan FPv2: use default diagnostic session (#28634) * Revert "Nissan FPv2: log different diagnostic session types (#28585)" This reverts commit 2f2b94758bfa3c5bb8790c3828db420e7da9f0dc. * switch to standard KWP2000 diagnostic session type * we're speedy again --- selfdrive/car/nissan/values.py | 32 ++++++++-------------- selfdrive/car/tests/test_fw_fingerprint.py | 4 +-- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/selfdrive/car/nissan/values.py b/selfdrive/car/nissan/values.py index 1ba88ac7b1..d4e10e11ca 100644 --- a/selfdrive/car/nissan/values.py +++ b/selfdrive/car/nissan/values.py @@ -79,35 +79,25 @@ FINGERPRINTS = { ] } -NISSAN_DIAGNOSTIC_REQUEST_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL]) -NISSAN_DIAGNOSTIC_RESPONSE_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL + 0x40]) +NISSAN_DIAGNOSTIC_REQUEST_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL, 0x81]) +NISSAN_DIAGNOSTIC_RESPONSE_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL + 0x40, 0x81]) NISSAN_VERSION_REQUEST_KWP = b'\x21\x83' NISSAN_VERSION_RESPONSE_KWP = b'\x61\x83' NISSAN_RX_OFFSET = 0x20 -# Try diagnostic sessions: default, standby, extended, Nissan-specific -NISSAN_DIAGNOSTIC_SESSION_TYPES = (0x81, 0x89, 0x92, 0xc0) -NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE = 0xc0 - FW_QUERY_CONFIG = FwQueryConfig( requests=[ - *[ - Request( - [NISSAN_DIAGNOSTIC_REQUEST_KWP + bytes([subfunction]), NISSAN_VERSION_REQUEST_KWP], - [NISSAN_DIAGNOSTIC_RESPONSE_KWP + bytes([subfunction]), NISSAN_VERSION_RESPONSE_KWP], - logging=subfunction != NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE, - ) for subfunction in NISSAN_DIAGNOSTIC_SESSION_TYPES - ], - *[ - Request( - [NISSAN_DIAGNOSTIC_REQUEST_KWP + bytes([subfunction]), NISSAN_VERSION_REQUEST_KWP], - [NISSAN_DIAGNOSTIC_RESPONSE_KWP + bytes([subfunction]), NISSAN_VERSION_RESPONSE_KWP], - rx_offset=NISSAN_RX_OFFSET, - logging=subfunction != NISSAN_DEFAULT_DIAGNOSTIC_SESSION_TYPE, - ) for subfunction in NISSAN_DIAGNOSTIC_SESSION_TYPES - ], + Request( + [NISSAN_DIAGNOSTIC_REQUEST_KWP, NISSAN_VERSION_REQUEST_KWP], + [NISSAN_DIAGNOSTIC_RESPONSE_KWP, NISSAN_VERSION_RESPONSE_KWP], + ), + Request( + [NISSAN_DIAGNOSTIC_REQUEST_KWP, NISSAN_VERSION_REQUEST_KWP], + [NISSAN_DIAGNOSTIC_RESPONSE_KWP, NISSAN_VERSION_RESPONSE_KWP], + rx_offset=NISSAN_RX_OFFSET, + ), Request( [StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST], [StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE], diff --git a/selfdrive/car/tests/test_fw_fingerprint.py b/selfdrive/car/tests/test_fw_fingerprint.py index 04e6f8c718..c1e1d68d2c 100755 --- a/selfdrive/car/tests/test_fw_fingerprint.py +++ b/selfdrive/car/tests/test_fw_fingerprint.py @@ -220,7 +220,7 @@ class TestFwFingerprintTiming(unittest.TestCase): print(f'get_vin, query time={vin_time / self.N} seconds') def test_fw_query_timing(self): - total_ref_time = 6.6 + total_ref_time = 6.0 brand_ref_times = { 1: { 'body': 0.1, @@ -229,7 +229,7 @@ class TestFwFingerprintTiming(unittest.TestCase): 'honda': 0.5, 'hyundai': 0.7, 'mazda': 0.2, - 'nissan': 0.9, + 'nissan': 0.3, 'subaru': 0.1, 'tesla': 0.2, 'toyota': 1.6,