diff --git a/selfdrive/car/hyundai/carstate.py b/selfdrive/car/hyundai/carstate.py index 92c489cf34..df82fcde9c 100644 --- a/selfdrive/car/hyundai/carstate.py +++ b/selfdrive/car/hyundai/carstate.py @@ -26,6 +26,7 @@ class CarState(CarStateBase): self.gear_msg_canfd = "GEAR_ALT" if CP.flags & HyundaiFlags.CANFD_ALT_GEARS else \ "GEAR_ALT_2" if CP.flags & HyundaiFlags.CANFD_ALT_GEARS_2 else \ + "ACCELERATOR" if CP.flags & HyundaiFlags.CANFD_ALT_GEARS_3 else \ "GEAR_SHIFTER" if CP.carFingerprint in CANFD_CAR: self.shifter_values = can_define.dv[self.gear_msg_canfd]["GEAR"] diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py index ecedf3fd7c..44c14c000e 100644 --- a/selfdrive/car/hyundai/interface.py +++ b/selfdrive/car/hyundai/interface.py @@ -44,6 +44,9 @@ class CarInterface(CarInterfaceBase): ret.flags |= HyundaiFlags.CANFD_HDA2.value if 0x110 in fingerprint[CAN.CAM]: ret.flags |= HyundaiFlags.CANFD_HDA2_ALT_STEERING.value + # Some HDA2 cars do not have 0x130, GEAR signal is in 0x35 as an alternative + if 0x130 not in fingerprint[CAN.ECAN]: + ret.flags |= HyundaiFlags.CANFD_ALT_GEARS_3.value else: # non-HDA2 if 0x1cf not in fingerprint[CAN.ECAN]: diff --git a/selfdrive/car/hyundai/values.py b/selfdrive/car/hyundai/values.py index d7aa59fc42..905e7dc440 100644 --- a/selfdrive/car/hyundai/values.py +++ b/selfdrive/car/hyundai/values.py @@ -95,6 +95,8 @@ class HyundaiFlags(IntFlag): MIN_STEER_32_MPH = 2 ** 23 + CANFD_ALT_GEARS_3 = 2 ** 24 + class Footnote(Enum): CANFD = CarFootnote(