|
|
|
@ -7,7 +7,7 @@ from common.conversions import Conversions as CV |
|
|
|
|
from opendbc.can.parser import CANParser |
|
|
|
|
from opendbc.can.can_define import CANDefine |
|
|
|
|
from selfdrive.car.hyundai.hyundaicanfd import get_e_can_bus |
|
|
|
|
from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, FEATURES, CAMERA_SCC_CAR, CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams |
|
|
|
|
from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams |
|
|
|
|
from selfdrive.car.interfaces import CarStateBase |
|
|
|
|
|
|
|
|
|
PREV_BUTTON_SAMPLES = 8 |
|
|
|
@ -27,9 +27,9 @@ class CarState(CarStateBase): |
|
|
|
|
"GEAR_SHIFTER" |
|
|
|
|
if CP.carFingerprint in CANFD_CAR: |
|
|
|
|
self.shifter_values = can_define.dv[self.gear_msg_canfd]["GEAR"] |
|
|
|
|
elif self.CP.carFingerprint in FEATURES["use_cluster_gears"]: |
|
|
|
|
elif self.CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: |
|
|
|
|
self.shifter_values = can_define.dv["CLU15"]["CF_Clu_Gear"] |
|
|
|
|
elif self.CP.carFingerprint in FEATURES["use_tcu_gears"]: |
|
|
|
|
elif self.CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: |
|
|
|
|
self.shifter_values = can_define.dv["TCU12"]["CUR_GR"] |
|
|
|
|
else: # preferred and elect gear methods use same definition |
|
|
|
|
self.shifter_values = can_define.dv["LVR12"]["CF_Lvr_Gear"] |
|
|
|
@ -123,11 +123,11 @@ class CarState(CarStateBase): |
|
|
|
|
|
|
|
|
|
# Gear Selection via Cluster - For those Kia/Hyundai which are not fully discovered, we can use the Cluster Indicator for Gear Selection, |
|
|
|
|
# as this seems to be standard over all cars, but is not the preferred method. |
|
|
|
|
if self.CP.carFingerprint in FEATURES["use_cluster_gears"]: |
|
|
|
|
if self.CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: |
|
|
|
|
gear = cp.vl["CLU15"]["CF_Clu_Gear"] |
|
|
|
|
elif self.CP.carFingerprint in FEATURES["use_tcu_gears"]: |
|
|
|
|
elif self.CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: |
|
|
|
|
gear = cp.vl["TCU12"]["CUR_GR"] |
|
|
|
|
elif self.CP.carFingerprint in FEATURES["use_elect_gears"]: |
|
|
|
|
elif self.CP.carFingerprint in CAN_GEARS["use_elect_gears"]: |
|
|
|
|
gear = cp.vl["ELECT_GEAR"]["Elect_Gear_Shifter"] |
|
|
|
|
else: |
|
|
|
|
gear = cp.vl["LVR12"]["CF_Lvr_Gear"] |
|
|
|
@ -354,12 +354,12 @@ class CarState(CarStateBase): |
|
|
|
|
("EMS16", 100), |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
if CP.carFingerprint in FEATURES["use_cluster_gears"]: |
|
|
|
|
if CP.carFingerprint in CAN_GEARS["use_cluster_gears"]: |
|
|
|
|
signals.append(("CF_Clu_Gear", "CLU15")) |
|
|
|
|
elif CP.carFingerprint in FEATURES["use_tcu_gears"]: |
|
|
|
|
elif CP.carFingerprint in CAN_GEARS["use_tcu_gears"]: |
|
|
|
|
signals.append(("CUR_GR", "TCU12")) |
|
|
|
|
checks.append(("TCU12", 100)) |
|
|
|
|
elif CP.carFingerprint in FEATURES["use_elect_gears"]: |
|
|
|
|
elif CP.carFingerprint in CAN_GEARS["use_elect_gears"]: |
|
|
|
|
signals.append(("Elect_Gear_Shifter", "ELECT_GEAR")) |
|
|
|
|
checks.append(("ELECT_GEAR", 20)) |
|
|
|
|
else: |
|
|
|
|