mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-12 16:32:09 +08:00
@@ -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:
|
||||
|
||||
@@ -11,7 +11,7 @@ ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()}
|
||||
class TestHyundaiFingerprint(unittest.TestCase):
|
||||
def test_auxiliary_request_ecu_whitelist(self):
|
||||
# Asserts only auxiliary Ecus can exist in database for CAN-FD cars
|
||||
whitelisted_ecus = {ecu for r in FW_QUERY_CONFIG.requests for ecu in r.whitelist_ecus if r.bus > 3}
|
||||
whitelisted_ecus = {ecu for r in FW_QUERY_CONFIG.requests for ecu in r.whitelist_ecus if r.auxiliary}
|
||||
|
||||
for car_model in CANFD_CAR:
|
||||
ecus = {fw[0] for fw in FW_VERSIONS[car_model].keys()}
|
||||
|
||||
@@ -1717,7 +1717,7 @@ CHECKSUM = {
|
||||
"6B": [CAR.KIA_SORENTO, CAR.HYUNDAI_GENESIS],
|
||||
}
|
||||
|
||||
FEATURES = {
|
||||
CAN_GEARS = {
|
||||
# which message has the gear
|
||||
"use_cluster_gears": {CAR.ELANTRA, CAR.KONA},
|
||||
"use_tcu_gears": {CAR.KIA_OPTIMA_G4, CAR.KIA_OPTIMA_G4_FL, CAR.SONATA_LF, CAR.VELOSTER, CAR.TUCSON},
|
||||
|
||||
Reference in New Issue
Block a user