From 136fecf86b537bf9036f203ba5867fa825ae9aaf Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sat, 18 May 2024 04:02:16 +0000 Subject: [PATCH] SP-123: Hyundai CAN Longitudinal: Auto-enable radar tracks on platforms with Mando radar --- CHANGELOGS.md | 2 ++ selfdrive/car/hyundai/interface.py | 9 ++++----- selfdrive/car/hyundai/radar_interface.py | 4 +--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 342d62d4fc..9156edecd9 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -27,6 +27,8 @@ sunnypilot - 0.9.7.0 (2024-05-xx) * NEW❗: Forced Offroad mode * Force sunnypilot in the offroad state even when the car is on * When Forced Offroad mode is on, allows changing offroad-only settings even when the car is turned on +* UPDATED: Hyundai CAN Longitudinal + * Auto-enable radar tracks on platforms with applicable Mando radar * UPDATED: Hyundai CAN-FD Camera-based SCC * NEW❗: Parse lead info for camera-based SCC platforms with longitudinal support * Improve lead tracking when using openpilot longitudinal diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py index d2a719ccd9..f1c2d05e38 100644 --- a/selfdrive/car/hyundai/interface.py +++ b/selfdrive/car/hyundai/interface.py @@ -87,11 +87,6 @@ class CarInterface(CarInterfaceBase): ret.steerLimitTimer = 0.4 CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning) - if candidate in (CAR.HYUNDAI_SANTA_FE_2022, CAR.HYUNDAI_SANTA_FE_HEV_2022, CAR.HYUNDAI_SANTA_FE_PHEV_2022): - if any(fw.ecu == "fwdRadar" and fw.fwVersion is not None for fw in car_fw): - ret.radarUnavailable = False - ret.spFlags |= HyundaiFlagsSP.SP_RADAR_TRACKS.value - # *** longitudinal control *** if candidate in CANFD_CAR: ret.longitudinalTuning.kpV = [0.1] @@ -129,6 +124,10 @@ class CarInterface(CarInterfaceBase): if 0x544 in fingerprint[0]: ret.spFlags |= HyundaiFlagsSP.SP_NAV_MSG.value + if ret.flags & HyundaiFlags.MANDO_RADAR and ret.radarUnavailable: + ret.spFlags |= HyundaiFlagsSP.SP_RADAR_TRACKS.value + ret.radarUnavailable = False + # *** panda safety config *** if candidate in CANFD_CAR: cfgs = [get_safety_config(car.CarParams.SafetyModel.hyundaiCanfd), ] diff --git a/selfdrive/car/hyundai/radar_interface.py b/selfdrive/car/hyundai/radar_interface.py index f00b993563..e470011737 100644 --- a/selfdrive/car/hyundai/radar_interface.py +++ b/selfdrive/car/hyundai/radar_interface.py @@ -48,8 +48,6 @@ class RadarInterface(RadarInterfaceBase): self.radar_off_can = CP.radarUnavailable self.rcp = get_radar_can_parser(CP) - self.sp_radar_tracks = CP.spFlags & HyundaiFlagsSP.SP_RADAR_TRACKS - def update(self, can_strings): if self.radar_off_can or (self.rcp is None): return super().update(None) @@ -57,7 +55,7 @@ class RadarInterface(RadarInterfaceBase): vls = self.rcp.update_strings(can_strings) self.updated_messages.update(vls) - if self.trigger_msg not in self.updated_messages and not self.sp_radar_tracks: + if self.trigger_msg not in self.updated_messages: return None rr = self._update(self.updated_messages)