This commit is contained in:
firestar5683
2026-04-24 13:31:16 -05:00
parent 28fb6bc5ef
commit aa089fc64f
2 changed files with 27 additions and 2 deletions
+2 -2
View File
@@ -366,8 +366,8 @@ class CarState(CarStateBase):
else:
cam_msgs.append(("FR_CMR_02_100ms", 0)) # optional: not all non-LKA CANFD cars have this on CAM bus
if CP.flags & HyundaiFlags.EV:
msgs.append(("DRIVE_MODE_EV", 10))
msgs.append(("STEERING_WHEEL_MEDIA_BUTTONS", 50))
msgs.append(("DRIVE_MODE_EV", 0)) # optional: not all CAN-FD EV variants publish drive mode
msgs.append(("STEERING_WHEEL_MEDIA_BUTTONS", 0)) # optional: absent or slower on some CAN-FD variants
return {
Bus.pt: CANParser(DBC[CP.carFingerprint][Bus.pt], msgs, CanBus(CP).ECAN),
Bus.cam: CANParser(DBC[CP.carFingerprint][Bus.pt], cam_msgs, CanBus(CP).CAM),
@@ -191,6 +191,31 @@ class TestHyundaiFingerprint:
assert sportage_params.ANGLE_LIMITS.MAX_LATERAL_JERK < comparison_params.ANGLE_LIMITS.MAX_LATERAL_JERK
assert comparison_params.ANGLE_LIMITS.MAX_LATERAL_JERK == ioniq6_params.ANGLE_LIMITS.MAX_LATERAL_JERK
def test_ioniq_5_canfd_aux_messages_are_optional(self):
toggles = get_test_toggles()
fingerprint = gen_empty_fingerprint()
CP = CarInterface.get_params(CAR.HYUNDAI_IONIQ_5, fingerprint, [], False, False, False, toggles)
FPCP = CarInterface.get_starpilot_params(CAR.HYUNDAI_IONIQ_5, fingerprint, [], CP, toggles)
car_state = CarState(CP, FPCP)
can_parsers = car_state.get_can_parsers(CP)
packer = CANPacker(DBC[CP.carFingerprint][Bus.pt])
drive_mode_addr = packer.dbc.name_to_msg["DRIVE_MODE_EV"].address
media_buttons_addr = packer.dbc.name_to_msg["STEERING_WHEEL_MEDIA_BUTTONS"].address
assert can_parsers[Bus.pt].message_states[drive_mode_addr].ignore_alive
assert can_parsers[Bus.pt].message_states[media_buttons_addr].ignore_alive
for frame in range(1, 6):
t = frame * 100_000_000
for parser in can_parsers.values():
required_msgs = [packer.make_can_msg(state.name, parser.bus, {})
for state in parser.message_states.values() if not state.ignore_alive]
parser.update([(t, required_msgs)])
assert all(parser.can_valid for parser in can_parsers.values())
def test_blacklisted_parts(self, subtests):
# Asserts no ECUs known to be shared across platforms exist in the database.
# Tucson having Santa Cruz camera and EPS for example