mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-08-05 16:26:14 +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>
old-commit-hash: b22fc70f52
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