mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 20:03:53 +08:00
Nissan FPv2: log different diagnostic session types (#28585)
* standard KWP2000 diagnostic session type * draft * clean up * not needed * update FP refs * should log logging
This commit is contained in:
@@ -79,25 +79,35 @@ FINGERPRINTS = {
|
||||
]
|
||||
}
|
||||
|
||||
NISSAN_DIAGNOSTIC_REQUEST_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL, 0xc0])
|
||||
NISSAN_DIAGNOSTIC_RESPONSE_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL + 0x40, 0xc0])
|
||||
NISSAN_DIAGNOSTIC_REQUEST_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL])
|
||||
NISSAN_DIAGNOSTIC_RESPONSE_KWP = bytes([uds.SERVICE_TYPE.DIAGNOSTIC_SESSION_CONTROL + 0x40])
|
||||
|
||||
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, 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(
|
||||
[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(
|
||||
[StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST],
|
||||
[StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE],
|
||||
|
||||
@@ -186,7 +186,7 @@ class TestFwFingerprintTiming(unittest.TestCase):
|
||||
|
||||
def test_fw_query_timing(self):
|
||||
tol = 0.1
|
||||
total_ref_time = 4.6
|
||||
total_ref_time = 5.2
|
||||
brand_ref_times = {
|
||||
1: {
|
||||
'body': 0.1,
|
||||
@@ -195,7 +195,7 @@ class TestFwFingerprintTiming(unittest.TestCase):
|
||||
'honda': 0.5,
|
||||
'hyundai': 0.7,
|
||||
'mazda': 0.1,
|
||||
'nissan': 0.3,
|
||||
'nissan': 0.9,
|
||||
'subaru': 0.1,
|
||||
'tesla': 0.2,
|
||||
'toyota': 0.7,
|
||||
|
||||
Reference in New Issue
Block a user