mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-08-05 08:16:06 +08:00
Hyundai CAN-FD: support ICE alt gears (#26367)
* Hyundai: Car Port for Santa Cruz 2022 * bump opendbc * New struct and params for CAN-FD ICE models * fixup! New struct and params for CAN-FD ICE models * bump panda * bump panda * HKG: Car Port for Sportage 2023 * fixup! HKG: Car Port for Sportage 2023 * Kia Sportage 2023: Add FW versions * Longitudinal Control: ICE CAN-FD models * fixup! Longitudinal Control: ICE CAN-FD models * bump panda * fixup! Longitudinal Control: ICE CAN-FD models * Update car info * fixup! Longitudinal Control: ICE CAN-FD models * Gate radar disable behind HDA2 only * Gate radar disable behind camera SCC cars * Update CARS.md * Add FW versions for Santa Cruz 2021 * Test route for Kia Sportage 2023 (openpilot longitudinal enabled) * Test route for Santa Cruz 2021 (openpilot longitudinal enabled) * fixup! Kia Sportage 2023: Add FW versions * HKG: Car Port for Genesis GV70 2023 thanks to @zunichky! Co-authored-by: kyle zunich <zunichky@msu.edu> * Update car info * Add torque param for GENESIS GV70 1ST GEN * Fix CARS.md * Update test route * Remove unnecessary HDA2 checks * Add additional FW versions for Sportage 2023 * Fix Kia Sportage supported MY * Fix MISRA violation * Fix release note * Use IntFlag to gate camera SCC for CAN-FD * Parse 0x1A0 on bus 4 dynamically * bump panda * Car code cleanup * Typo * Add additional 0x1A0 signals to bus 4 * Fix weird bitwise logic * Check 0x1a0 after safety config is set * Revert "Check 0x1a0 after safety config is set" This reverts commit 141bbf79792bcde9cfadbc0680654acf61d8d16f. * Check car list instead * Add GV70 2022 test route * Add fwdRadar FW version for GV70 2022 * Fix CARS.md * Fix CARS.md * Fix CARS.md * new santa cruz route * bump panda to commaai/panda#1031 * bumppanda * some clean up * lets refactor CAMERA_SCC_CAR in another pr * minor clean up * revert car stuff * revert panda * revvy * revvy * it's all ice * revert * revert Co-authored-by: Jason Wen <haibin.wen3@gmail.com> Co-authored-by: kyle zunich <zunichky@msu.edu> Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
This commit is contained in:
@@ -21,8 +21,9 @@ class CarState(CarStateBase):
|
||||
self.cruise_buttons = deque([Buttons.NONE] * PREV_BUTTON_SAMPLES, maxlen=PREV_BUTTON_SAMPLES)
|
||||
self.main_buttons = deque([Buttons.NONE] * PREV_BUTTON_SAMPLES, maxlen=PREV_BUTTON_SAMPLES)
|
||||
|
||||
self.gear_msg_canfd = "GEAR_ALT" if CP.flags & HyundaiFlags.CANFD_ALT_GEARS else "GEAR_SHIFTER"
|
||||
if CP.carFingerprint in CANFD_CAR:
|
||||
self.shifter_values = can_define.dv["GEAR_SHIFTER"]["GEAR"]
|
||||
self.shifter_values = can_define.dv[self.gear_msg_canfd]["GEAR"]
|
||||
elif self.CP.carFingerprint in FEATURES["use_cluster_gears"]:
|
||||
self.shifter_values = can_define.dv["CLU15"]["CF_Clu_Gear"]
|
||||
elif self.CP.carFingerprint in FEATURES["use_tcu_gears"]:
|
||||
@@ -164,7 +165,7 @@ class CarState(CarStateBase):
|
||||
ret.doorOpen = cp.vl["DOORS_SEATBELTS"]["DRIVER_DOOR_OPEN"] == 1
|
||||
ret.seatbeltUnlatched = cp.vl["DOORS_SEATBELTS"]["DRIVER_SEATBELT_LATCHED"] == 0
|
||||
|
||||
gear = cp.vl["GEAR_SHIFTER"]["GEAR"]
|
||||
gear = cp.vl[self.gear_msg_canfd]["GEAR"]
|
||||
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(gear))
|
||||
|
||||
# TODO: figure out positions
|
||||
@@ -411,13 +412,14 @@ class CarState(CarStateBase):
|
||||
def get_can_parser_canfd(CP):
|
||||
|
||||
cruise_btn_msg = "CRUISE_BUTTONS_ALT" if CP.flags & HyundaiFlags.CANFD_ALT_BUTTONS else "CRUISE_BUTTONS"
|
||||
gear_msg = "GEAR_ALT" if CP.flags & HyundaiFlags.CANFD_ALT_GEARS else "GEAR_SHIFTER"
|
||||
signals = [
|
||||
("WHEEL_SPEED_1", "WHEEL_SPEEDS"),
|
||||
("WHEEL_SPEED_2", "WHEEL_SPEEDS"),
|
||||
("WHEEL_SPEED_3", "WHEEL_SPEEDS"),
|
||||
("WHEEL_SPEED_4", "WHEEL_SPEEDS"),
|
||||
|
||||
("GEAR", "GEAR_SHIFTER"),
|
||||
("GEAR", gear_msg),
|
||||
|
||||
("STEERING_RATE", "STEERING_SENSORS"),
|
||||
("STEERING_ANGLE", "STEERING_SENSORS"),
|
||||
@@ -442,7 +444,7 @@ class CarState(CarStateBase):
|
||||
|
||||
checks = [
|
||||
("WHEEL_SPEEDS", 100),
|
||||
("GEAR_SHIFTER", 100),
|
||||
(gear_msg, 100),
|
||||
("STEERING_SENSORS", 100),
|
||||
("MDPS", 100),
|
||||
("TCS", 50),
|
||||
|
||||
@@ -41,6 +41,9 @@ class CarInterface(CarInterfaceBase):
|
||||
# non-HDA2
|
||||
if 0x1cf not in fingerprint[4]:
|
||||
ret.flags |= HyundaiFlags.CANFD_ALT_BUTTONS.value
|
||||
# ICE cars do not have 0x130; GEARS message on 0x40 instead
|
||||
if 0x130 not in fingerprint[4]:
|
||||
ret.flags |= HyundaiFlags.CANFD_ALT_GEARS.value
|
||||
|
||||
ret.steerActuatorDelay = 0.1 # Default delay
|
||||
ret.steerLimitTimer = 0.4
|
||||
|
||||
@@ -47,6 +47,7 @@ class CarControllerParams:
|
||||
class HyundaiFlags(IntFlag):
|
||||
CANFD_HDA2 = 1
|
||||
CANFD_ALT_BUTTONS = 2
|
||||
CANFD_ALT_GEARS = 4
|
||||
|
||||
|
||||
class CAR:
|
||||
|
||||
Reference in New Issue
Block a user