mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-07-10 09:42:06 +08:00
try this
This commit is contained in:
@@ -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)]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user