hyundai enable radar points script cleanup (#23451)

old-commit-hash: a0eed0cdd2
vw-mqb-aeb
Greg Hogan 4 years ago committed by GitHub
parent 80c0f67e8a
commit 70519b1fd6
  1. 53
      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 sys
import argparse import argparse
from typing import NamedTuple
from subprocess import check_output, CalledProcessError from subprocess import check_output, CalledProcessError
from panda.python import Panda from panda.python import Panda
from panda.python.uds import UdsClient, SESSION_TYPE, DATA_IDENTIFIER_TYPE 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 # 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! # 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 # NOTE: these firmware versions do not match what openpilot uses
# because this script uses a different diagnostic session type # because this script uses a different diagnostic session type
SUPPORTED_FW_VERSIONS = { SUPPORTED_FW_VERSIONS = {
# 2020 SONATA # 2020 SONATA
b"DN8_ SCC FHCUP 1.00 1.00 99110-L0000\x19\x08)\x15T ": { b"DN8_ SCC FHCUP 1.00 1.00 99110-L0000\x19\x08)\x15T ": ConfigValues(
"default_config": b"\x00\x00\x00\x01\x00\x00", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
# 2021 SONATA HYBRID # 2021 SONATA HYBRID
b"DNhe SCC FHCUP 1.00 1.02 99110-L5000 \x01#\x15# ": { b"DNhe SCC FHCUP 1.00 1.02 99110-L5000 \x01#\x15# ": ConfigValues(
"default_config": b"\x00\x00\x00\x01\x00\x00", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
# 2020 PALISADE # 2020 PALISADE
b"LX2_ SCC FHCUP 1.00 1.04 99110-S8100\x19\x05\x02\x16V ": { b"LX2_ SCC FHCUP 1.00 1.04 99110-S8100\x19\x05\x02\x16V ": ConfigValues(
"default_config": b"\x00\x00\x00\x01\x00\x00", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
# 2022 PALISADE # 2022 PALISADE
b"LX2_ SCC FHCUP 1.00 1.00 99110-S8110!\x04\x05\x17\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", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
# 2020 SANTA FE # 2020 SANTA FE
b"TM__ SCC F-CUP 1.00 1.03 99110-S2000\x19\x050\x13' ": { b"TM__ SCC F-CUP 1.00 1.03 99110-S2000\x19\x050\x13' ": ConfigValues(
"default_config": b"\x00\x00\x00\x01\x00\x00", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
# 2020 GENESIS G70 # 2020 GENESIS G70
b'IK__ SCC F-CUP 1.00 1.02 96400-G9100\x18\x07\x06\x17\x12 ': { 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", default_config=b"\x00\x00\x00\x01\x00\x00",
"tracks_enabled": b"\x00\x00\x00\x01\x00\x01", tracks_enabled=b"\x00\x00\x00\x01\x00\x01"),
},
} }
if __name__ == "__main__": if __name__ == "__main__":
@ -95,13 +93,14 @@ if __name__ == "__main__":
print("[GET CONFIGURATION]") print("[GET CONFIGURATION]")
config_data_id : DATA_IDENTIFIER_TYPE = 0x0142 # type: ignore config_data_id : DATA_IDENTIFIER_TYPE = 0x0142 # type: ignore
current_config = uds_client.read_data_by_identifier(config_data_id) 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()}") print(f"current config: 0x{current_config.hex()}")
if current_config != new_config: if current_config != new_config:
print("[CHANGE CONFIGURATION]") print("[CHANGE CONFIGURATION]")
print(f"new config: 0x{new_config.hex()}") print(f"new config: 0x{new_config.hex()}")
uds_client.write_data_by_identifier(config_data_id, new_config) 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)") print("\ncurrent config does not match expected default! (aborted)")
sys.exit(1) sys.exit(1)

Loading…
Cancel
Save