This commit is contained in:
Jason Wen
2023-08-31 10:51:38 -04:00
parent 442a09c5e9
commit 4b2e4f825b
+11 -9
View File
@@ -20,12 +20,17 @@ BUTTONS_DICT = {Buttons.RES_ACCEL: ButtonType.accelCruise, Buttons.SET_DECEL: Bu
Buttons.GAP_DIST: ButtonType.gapAdjustCruise, Buttons.CANCEL: ButtonType.cancel}
def set_safety_config_canfd(CAN, can_fd=True):
def set_safety_config_canfd(ret, CAN, can_fd=True):
platform = SafetyModel.hyundaiCanfd if can_fd else SafetyModel.hyundai
cfgs = [get_safety_config(platform), ]
if CAN.ECAN >= 4:
cfgs.insert(0, get_safety_config(SafetyModel.noOutput))
return cfgs
ret.safetyConfigs = cfgs
if ret.flags & HyundaiFlags.CANFD_HDA2:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_HDA2
return ret
class CarInterface(CarInterfaceBase):
@@ -286,11 +291,8 @@ class CarInterface(CarInterfaceBase):
ret.enableBsm = 0x58b in fingerprint[bus]
# *** panda safety config ***
if ret.flags & HyundaiFlags.CANFD_HDA2:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_HDA2
if candidate in CANFD_CAR:
ret.safetyConfigs = set_safety_config_canfd(CAN, can_fd=True)
ret = set_safety_config_canfd(ret, CAN, can_fd=True)
if hda2 and ret.flags & HyundaiFlags.CANFD_HDA2_ALT_STEERING:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_HDA2_ALT_STEERING
@@ -299,12 +301,12 @@ class CarInterface(CarInterfaceBase):
if ret.flags & HyundaiFlags.CANFD_CAMERA_SCC:
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CAMERA_SCC
else:
if ret.flags & HyundaiFlags.CAN_CANFD:
ret.safetyConfigs = set_safety_config_canfd(ret, CAN, can_fd=False)
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CAN_CANFD
if candidate in LEGACY_SAFETY_MODE_CAR:
# these cars require a special panda safety mode due to missing counters and checksums in the messages
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.hyundaiLegacy)]
elif ret.flags & HyundaiFlags.CAN_CANFD:
ret.safetyConfigs = set_safety_config_canfd(CAN, can_fd=False)
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CAN_CANFD
else:
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.hyundai, 0)]