diff --git a/opendbc_repo/opendbc/car/hyundai/interface.py b/opendbc_repo/opendbc/car/hyundai/interface.py index 10849236c..c20afb972 100644 --- a/opendbc_repo/opendbc/car/hyundai/interface.py +++ b/opendbc_repo/opendbc/car/hyundai/interface.py @@ -172,16 +172,12 @@ class CarInterface(CarInterfaceBase): # Common longitudinal control setup radar_config = get_radar_track_config(ret.carFingerprint) - radar_tracks_available = radar_config is not None and radar_config.start_addr in fingerprint[1] + radar_tracks_available = radar_config is not None and radar_config.start_addr in fingerprint[radar_config.bus] ret.radarUnavailable = not radar_tracks_available if ret.flags & HyundaiFlags.NON_SCC: ret.alphaLongitudinalAvailable = False ret.openpilotLongitudinalControl = alpha_long and ret.alphaLongitudinalAvailable - # Keep Ioniq 6 radar tracks probe-only until a harness path can provide them reliably. - if candidate == CAR.HYUNDAI_IONIQ_6: - ret.radarUnavailable = True - # When longitudinal is enabled, we disable the ADAS ECU which stops radar messages. - elif ret.openpilotLongitudinalControl: + if ret.openpilotLongitudinalControl and not (candidate == CAR.HYUNDAI_IONIQ_6 and radar_tracks_available): ret.radarUnavailable = True ret.pcmCruise = not ret.openpilotLongitudinalControl apply_platform_longitudinal_params(ret) diff --git a/opendbc_repo/opendbc/car/hyundai/radar_interface.py b/opendbc_repo/opendbc/car/hyundai/radar_interface.py index 4996e7f59..bb50a7439 100644 --- a/opendbc_repo/opendbc/car/hyundai/radar_interface.py +++ b/opendbc_repo/opendbc/car/hyundai/radar_interface.py @@ -21,12 +21,13 @@ class RadarTrackConfig: start_addr: int msg_count: int radar_type: str + bus: int = 1 RADAR_TRACK_CONFIGS = { HYUNDAI_MANDO_FRONT_RADAR_DBC: RadarTrackConfig(RADAR_START_ADDR, RADAR_MSG_COUNT, "mando"), HYUNDAI_MRR30_RADAR_DBC: RadarTrackConfig(MRR30_RADAR_START_ADDR, MRR30_RADAR_MSG_COUNT, "mrr30"), - HYUNDAI_MRR35_RADAR_DBC: RadarTrackConfig(MRR35_RADAR_START_ADDR, MRR35_RADAR_MSG_COUNT, "mrr35"), + HYUNDAI_MRR35_RADAR_DBC: RadarTrackConfig(MRR35_RADAR_START_ADDR, MRR35_RADAR_MSG_COUNT, "mrr35", bus=0), } # POC for parsing corner radars: https://github.com/commaai/openpilot/pull/24221/ @@ -42,7 +43,7 @@ def get_radar_can_parser(CP, radar_config): return None messages = [(f"RADAR_TRACK_{addr:x}", 50) for addr in range(radar_config.start_addr, radar_config.start_addr + radar_config.msg_count)] - return CANParser(DBC[CP.carFingerprint][Bus.radar], messages, 1) + return CANParser(DBC[CP.carFingerprint][Bus.radar], messages, radar_config.bus) class RadarInterface(RadarInterfaceBase):