From a0eed0cdd23598fd8dcc34805cc83ed0fe515348 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Sat, 8 Jan 2022 07:55:48 -0800 Subject: [PATCH] hyundai enable radar points script cleanup (#23451) --- .../debug/hyundai_enable_radar_points.py | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/selfdrive/debug/hyundai_enable_radar_points.py b/selfdrive/debug/hyundai_enable_radar_points.py index e566884a9..8132a4655 100755 --- a/selfdrive/debug/hyundai_enable_radar_points.py +++ b/selfdrive/debug/hyundai_enable_radar_points.py @@ -13,47 +13,45 @@ USE AT YOUR OWN RISK! Safety features, like AEB and FCW, might be affected by th import sys import argparse +from typing import NamedTuple from subprocess import check_output, CalledProcessError from panda.python import Panda from panda.python.uds import UdsClient, SESSION_TYPE, DATA_IDENTIFIER_TYPE +class ConfigValues(NamedTuple): + default_config: bytes + tracks_enabled: bytes + # If your radar supports changing data identifier 0x0142 as well make a PR to # this file to add your firmware version. Make sure to post a drive as proof! # NOTE: these firmware versions do not match what openpilot uses # because this script uses a different diagnostic session type SUPPORTED_FW_VERSIONS = { # 2020 SONATA - b"DN8_ SCC FHCUP 1.00 1.00 99110-L0000\x19\x08)\x15T ": { - "default_config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, + b"DN8_ SCC FHCUP 1.00 1.00 99110-L0000\x19\x08)\x15T ": ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), # 2021 SONATA HYBRID - b"DNhe SCC FHCUP 1.00 1.02 99110-L5000 \x01#\x15# ": { - "default_config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, + b"DNhe SCC FHCUP 1.00 1.02 99110-L5000 \x01#\x15# ": ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), # 2020 PALISADE - b"LX2_ SCC FHCUP 1.00 1.04 99110-S8100\x19\x05\x02\x16V ": { - "default_config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, + b"LX2_ SCC FHCUP 1.00 1.04 99110-S8100\x19\x05\x02\x16V ": ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), # 2022 PALISADE - b"LX2_ SCC FHCUP 1.00 1.00 99110-S8110!\x04\x05\x17\x01 ": { - "default_config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, + b"LX2_ SCC FHCUP 1.00 1.00 99110-S8110!\x04\x05\x17\x01 ": ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), # 2020 SANTA FE - b"TM__ SCC F-CUP 1.00 1.03 99110-S2000\x19\x050\x13' ": { - "default_config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, - + b"TM__ SCC F-CUP 1.00 1.03 99110-S2000\x19\x050\x13' ": ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), # 2020 GENESIS G70 - b'IK__ SCC F-CUP 1.00 1.02 96400-G9100\x18\x07\x06\x17\x12 ': { - "default config": b"\x00\x00\x00\x01\x00\x00", - "tracks_enabled": b"\x00\x00\x00\x01\x00\x01", - }, + b'IK__ SCC F-CUP 1.00 1.02 96400-G9100\x18\x07\x06\x17\x12 ': ConfigValues( + default_config=b"\x00\x00\x00\x01\x00\x00", + tracks_enabled=b"\x00\x00\x00\x01\x00\x01"), } if __name__ == "__main__": @@ -95,13 +93,14 @@ if __name__ == "__main__": print("[GET CONFIGURATION]") config_data_id : DATA_IDENTIFIER_TYPE = 0x0142 # type: ignore current_config = uds_client.read_data_by_identifier(config_data_id) - new_config = SUPPORTED_FW_VERSIONS[fw_version]["default_config" if args.default else "tracks_enabled"] + config_values = SUPPORTED_FW_VERSIONS[fw_version] + new_config = config_values.default_config if args.default else config_values.tracks_enabled print(f"current config: 0x{current_config.hex()}") if current_config != new_config: print("[CHANGE CONFIGURATION]") print(f"new config: 0x{new_config.hex()}") uds_client.write_data_by_identifier(config_data_id, new_config) - if not args.default and current_config != SUPPORTED_FW_VERSIONS[fw_version]["default_config"]: + if not args.default and current_config != SUPPORTED_FW_VERSIONS[fw_version].default_config: print("\ncurrent config does not match expected default! (aborted)") sys.exit(1)