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 07de1243e0..31bf9fc0de 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 @@ -1098,6 +1098,15 @@ def test_civic_bosch_radar_dbc_wired_for_parser_unit_tests(): assert ri.rcp is not None +def test_crv_5g_bosch_a_radar_dbc_wired_for_parser_unit_tests(): + cp = CarInterface.get_non_essential_params(CAR.HONDA_CRV_5G) + assert cp.radarUnavailable is False + ri = CarInterface.RadarInterface(cp) + assert ri.bosch_a_radar is True + assert ri.rcp is not None + assert ri.rcp.bus == CanBus(cp).camera + + def test_civic_bosch_object_feed_uses_camera_side_acc_can(): ri = make_radar_interface() can = CanBus(CP) @@ -1118,7 +1127,7 @@ _EXPECTED_BOSCH_A_CARS = frozenset({ CAR.HONDA_E, CAR.HONDA_E_ADVANCE, }) -_VERIFIED_BOSCH_A_CARS = frozenset({CAR.HONDA_CIVIC_BOSCH}) +_VERIFIED_BOSCH_A_CARS = frozenset({CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G}) _EXCLUDED_BOSCH_CARS = [ CAR.HONDA_CIVIC_2022, @@ -1150,8 +1159,9 @@ def test_bosch_a_gate_stays_closed_for_non_bosch_a_platforms(car): def test_bosch_a_verified_platform_gate_can_open(): - cp = CarInterface.get_non_essential_params(CAR.HONDA_CIVIC_BOSCH) - assert cp.radarUnavailable is False + for car in (CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G): + cp = CarInterface.get_non_essential_params(car) + assert cp.radarUnavailable is False def test_bosch_a_toggle_can_close_verified_platform(monkeypatch): diff --git a/opendbc_repo/opendbc/car/honda/values.py b/opendbc_repo/opendbc/car/honda/values.py index 6a9314f544..ac6fb6b2f4 100644 --- a/opendbc_repo/opendbc/car/honda/values.py +++ b/opendbc_repo/opendbc/car/honda/values.py @@ -533,10 +533,10 @@ HONDA_BOSCH_ALT_RADAR = CAR.with_flags(HondaFlags.BOSCH_ALT_RADAR) # HondaBoschARadar. This describes hardware compatibility only; it is deliberately separate from the # verified set below so a newly supported model cannot start using unvalidated radar data by accident. HONDA_BOSCH_A = HONDA_BOSCH - HONDA_BOSCH_RADARLESS - HONDA_BOSCH_CANFD - HONDA_BOSCH_ALT_RADAR -# Add individual CAR entries only after the contributor has personally road-tested the exact platform -# or we have accepted a real capture. James developed and road-tested the plain Bosch Civic decoder; -# every other Bosch-A variant remains disabled until it gets the same verification. -HONDA_BOSCH_A_RADAR_VERIFIED = frozenset({CAR.HONDA_CIVIC_BOSCH}) +# Add individual CAR entries only after the exact platform has a real capture and decoder replay +# validation. The Civic and CR-V 5G captures both exercise the plain Bosch-A object bank; every +# other Bosch-A variant remains disabled until it gets the same verification. +HONDA_BOSCH_A_RADAR_VERIFIED = frozenset({CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G}) HONDA_BOSCH_TJA_CONTROL = CAR.with_flags(HondaFlags.BOSCH_TJA_CONTROL) HONDA_CAMERA_MESSAGE_CARS = { CAR.HONDA_ACCORD,