mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-06-29 02:22:09 +08:00
Hyundai: share panda flags with CAN-FD platform (#26058)
* Hyundai: share panda flags with CAN-FD platform * move that * only set bit * bump panda * panda master * regen + update refs for new param old-commit-hash: c782380fc1cfcbc7b521f14db37a360aef6b53ec
This commit is contained in:
+1
-1
Submodule panda updated: 2f3e2825e5...622ce923e9
@@ -310,8 +310,6 @@ class CarInterface(CarInterfaceBase):
|
||||
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.noOutput),
|
||||
get_safety_config(car.CarParams.SafetyModel.hyundaiCanfd)]
|
||||
|
||||
if ret.openpilotLongitudinalControl:
|
||||
ret.safetyConfigs[1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_LONG
|
||||
if ret.flags & HyundaiFlags.CANFD_HDA2:
|
||||
ret.safetyConfigs[1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_HDA2
|
||||
if ret.flags & HyundaiFlags.CANFD_ALT_BUTTONS:
|
||||
@@ -325,18 +323,16 @@ class CarInterface(CarInterfaceBase):
|
||||
else:
|
||||
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.hyundai, 0)]
|
||||
|
||||
# set appropriate safety param for gas signal
|
||||
if candidate in HYBRID_CAR:
|
||||
ret.safetyConfigs[0].safetyParam = 2
|
||||
elif candidate in EV_CAR:
|
||||
ret.safetyConfigs[0].safetyParam = 1
|
||||
|
||||
if ret.openpilotLongitudinalControl:
|
||||
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HYUNDAI_LONG
|
||||
|
||||
if candidate in CAMERA_SCC_CAR:
|
||||
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HYUNDAI_CAMERA_SCC
|
||||
|
||||
if ret.openpilotLongitudinalControl:
|
||||
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_LONG
|
||||
if candidate in HYBRID_CAR:
|
||||
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_HYBRID_GAS
|
||||
elif candidate in EV_CAR:
|
||||
ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_EV_GAS
|
||||
|
||||
ret.centerToFront = ret.wheelbase * 0.4
|
||||
|
||||
# TODO: get actual value, for now starting with reasonable value for
|
||||
@@ -347,7 +343,6 @@ class CarInterface(CarInterfaceBase):
|
||||
# mass and CG position, so all cars will have approximately similar dyn behaviors
|
||||
ret.tireStiffnessFront, ret.tireStiffnessRear = scale_tire_stiffness(ret.mass, ret.wheelbase, ret.centerToFront,
|
||||
tire_stiffness_factor=tire_stiffness_factor)
|
||||
|
||||
return ret
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -1383,7 +1383,7 @@ CANFD_CAR = {CAR.KIA_EV6, CAR.IONIQ_5, CAR.TUCSON_HYBRID_4TH_GEN}
|
||||
CAMERA_SCC_CAR = {CAR.KONA_EV_2022, }
|
||||
|
||||
HYBRID_CAR = {CAR.IONIQ_PHEV, CAR.ELANTRA_HEV_2021, CAR.KIA_NIRO_PHEV, CAR.KIA_NIRO_HEV_2021, CAR.SONATA_HYBRID, CAR.KONA_HEV, CAR.IONIQ, CAR.IONIQ_HEV_2022, CAR.SANTA_FE_HEV_2022, CAR.SANTA_FE_PHEV_2022, CAR.IONIQ_PHEV_2019} # these cars use a different gas signal
|
||||
EV_CAR = {CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.KIA_NIRO_EV, CAR.KONA_EV_2022}
|
||||
EV_CAR = {CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.KONA_EV, CAR.KIA_NIRO_EV, CAR.KONA_EV_2022, CAR.KIA_EV6, CAR.IONIQ_5}
|
||||
|
||||
# these cars require a special panda safety mode due to missing counters and checksums in the messages
|
||||
LEGACY_SAFETY_MODE_CAR = {CAR.HYUNDAI_GENESIS, CAR.IONIQ_EV_2020, CAR.IONIQ_EV_LTD, CAR.IONIQ_PHEV, CAR.IONIQ, CAR.KONA_EV, CAR.KIA_SORENTO, CAR.SONATA_LF, CAR.KIA_OPTIMA_G4, CAR.KIA_OPTIMA_G4_FL, CAR.VELOSTER, CAR.KIA_STINGER, CAR.GENESIS_G70, CAR.GENESIS_G80, CAR.KIA_CEED, CAR.ELANTRA, CAR.IONIQ_HEV_2022}
|
||||
|
||||
@@ -1 +1 @@
|
||||
14bc91c326f75ce48337720668a1744184c46994
|
||||
1e4bb3f620bddbe6ead966d6f2dd7db3fd730308
|
||||
@@ -30,10 +30,11 @@ def replay_panda_states(s, msgs):
|
||||
rk = Ratekeeper(service_list[s].frequency, print_delay_threshold=None)
|
||||
smsgs = [m for m in msgs if m.which() in ['pandaStates', 'pandaStateDEPRECATED']]
|
||||
|
||||
# TODO: new safety params from flags, remove after getting new routes for Toyota
|
||||
# TODO: safety param migration should be handled automatically
|
||||
safety_param_migration = {
|
||||
"TOYOTA PRIUS 2017": EPS_SCALE["TOYOTA PRIUS 2017"] | Panda.FLAG_TOYOTA_STOCK_LONGITUDINAL,
|
||||
"TOYOTA RAV4 2017": EPS_SCALE["TOYOTA RAV4 2017"] | Panda.FLAG_TOYOTA_ALT_BRAKE,
|
||||
"KIA EV6 2022": Panda.FLAG_HYUNDAI_EV_GAS | Panda.FLAG_HYUNDAI_CANFD_HDA2,
|
||||
}
|
||||
|
||||
# Migrate safety param base on carState
|
||||
@@ -56,6 +57,7 @@ def replay_panda_states(s, msgs):
|
||||
pm.send(s, new_m)
|
||||
else:
|
||||
new_m = m.as_builder()
|
||||
new_m.pandaStates[-1].safetyParam = safety_param
|
||||
new_m.logMonoTime = int(sec_since_boot() * 1e9)
|
||||
pm.send(s, new_m)
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ source_segments = [
|
||||
segments = [
|
||||
("BODY", "regenFA002A80700|2022-09-27--15-37-02--0"),
|
||||
("HYUNDAI", "regenBE53A59065B|2022-09-27--16-52-03--0"),
|
||||
("HYUNDAI2", "regen11AA43BCA5F|2022-09-27--15-39-54--0"),
|
||||
("HYUNDAI2", "regenFA8B5CA9840|2022-10-12--21-47-06--0"),
|
||||
("TOYOTA", "regen929C5790007|2022-09-27--16-27-47--0"),
|
||||
("TOYOTA2", "regenEA3950D7F22|2022-09-27--15-43-24--0"),
|
||||
("TOYOTA3", "regen89026F6BD8D|2022-09-27--15-45-37--0"),
|
||||
|
||||
Reference in New Issue
Block a user