From a4eb1ef4e9722dcf4c75ddf62bf4fc3c02079bb6 Mon Sep 17 00:00:00 2001 From: Comma Device Date: Wed, 16 Sep 2026 19:15:20 +0800 Subject: [PATCH] honda: enable the Bosch-A radar on every Bosch-A platform Instead of the verified-subset allowlist (Civic Bosch / CR-V 5G only), clear radarUnavailable for the whole HONDA_BOSCH_A hardware family so the decoder can be tried on other Bosch-A cars. The sentinel-file kill switch still turns it off, and HONDA_BOSCH_A_RADAR_VERIFIED is kept for reference. --- opendbc_repo/opendbc/car/honda/interface.py | 8 +++----- .../opendbc/car/honda/tests/test_bosch_a_radar.py | 6 ++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/opendbc_repo/opendbc/car/honda/interface.py b/opendbc_repo/opendbc/car/honda/interface.py index 280d2c6f1..519827901 100755 --- a/opendbc_repo/opendbc/car/honda/interface.py +++ b/opendbc_repo/opendbc/car/honda/interface.py @@ -49,14 +49,12 @@ class CarInterface(CarInterfaceBase): cfgs.insert(0, get_safety_config(structs.CarParams.SafetyModel.noOutput)) ret.safetyConfigs = cfgs - # Honda Bosch-A radar (RX-only 16-slot object bank, see radar_interface.py). The - # verified platforms get it by default; a sentinel file acts as a kill switch so no + # Honda Bosch-A radar (RX-only 16-slot object bank, see radar_interface.py). Enabled by + # default for every Bosch-A platform; a sentinel file acts as a kill switch so no # params_keys.h rebuild is needed. Reading radar never takes CAN authority, so the # factory AEB/CMBS/FCW stay live while stock longitudinal is in control. bosch_a_radar_enabled = not docs and not os.path.exists("/data/params/d/HondaBoschARadarOff") - ret.radarUnavailable = not (candidate in HONDA_BOSCH_A and - candidate in HONDA_BOSCH_A_RADAR_VERIFIED and - bosch_a_radar_enabled) + ret.radarUnavailable = not (candidate in HONDA_BOSCH_A and bosch_a_radar_enabled) # Disable the radar and let openpilot control longitudinal # WARNING: THIS DISABLES AEB! # If Bosch radarless, this blocks ACC messages from the camera diff --git a/opendbc_repo/opendbc/car/honda/tests/test_bosch_a_radar.py b/opendbc_repo/opendbc/car/honda/tests/test_bosch_a_radar.py index 4f8c54e24..f2926bd37 100644 --- a/opendbc_repo/opendbc/car/honda/tests/test_bosch_a_radar.py +++ b/opendbc_repo/opendbc/car/honda/tests/test_bosch_a_radar.py @@ -1155,9 +1155,11 @@ def test_bosch_a_hardware_allowlist_is_exact_and_verified_set_is_explicit(): @pytest.mark.parametrize("car", sorted(_EXPECTED_BOSCH_A_CARS - _VERIFIED_BOSCH_A_CARS, key=lambda candidate: candidate.name)) -def test_bosch_a_radar_stays_closed_until_platform_is_verified(car): +def test_bosch_a_radar_is_enabled_for_every_bosch_a_platform(car): + # This fork enables the Bosch-A decoder on the whole hardware family rather than a + # verified-subset allowlist, so users can try it on other Bosch-A cars. cp = CarInterface.get_non_essential_params(car) - assert cp.radarUnavailable is True + assert cp.radarUnavailable is False @pytest.mark.parametrize("car", _EXCLUDED_BOSCH_CARS)