SP-123: Hyundai CAN Longitudinal: Auto-enable radar tracks on platforms with Mando radar

This commit is contained in:
Jason Wen
2024-05-18 04:02:16 +00:00
parent 42818ba95b
commit 136fecf86b
3 changed files with 7 additions and 8 deletions
+2
View File
@@ -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
+4 -5
View File
@@ -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), ]
+1 -3
View File
@@ -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)