From 63f8828c01fb7298c94acdac81b3edcbd38d307c Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Thu, 27 Aug 2026 23:20:58 -0500 Subject: [PATCH] 2018-2022 Accord radar --- .../car/honda/tests/test_bosch_a_radar.py | 16 +++++++++++++--- opendbc_repo/opendbc/car/honda/values.py | 6 +++--- 2 files changed, 16 insertions(+), 6 deletions(-) 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 31bf9fc0d..a4f58d03e 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 @@ -1107,6 +1107,15 @@ def test_crv_5g_bosch_a_radar_dbc_wired_for_parser_unit_tests(): assert ri.rcp.bus == CanBus(cp).camera +def test_accord_bosch_a_radar_dbc_wired_for_parser_unit_tests(): + cp = CarInterface.get_non_essential_params(CAR.HONDA_ACCORD) + 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) @@ -1127,7 +1136,7 @@ _EXPECTED_BOSCH_A_CARS = frozenset({ CAR.HONDA_E, CAR.HONDA_E_ADVANCE, }) -_VERIFIED_BOSCH_A_CARS = frozenset({CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G}) +_VERIFIED_BOSCH_A_CARS = frozenset({CAR.HONDA_ACCORD, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G}) _EXCLUDED_BOSCH_CARS = [ CAR.HONDA_CIVIC_2022, @@ -1159,7 +1168,7 @@ def test_bosch_a_gate_stays_closed_for_non_bosch_a_platforms(car): def test_bosch_a_verified_platform_gate_can_open(): - for car in (CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G): + for car in (CAR.HONDA_ACCORD, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G): cp = CarInterface.get_non_essential_params(car) assert cp.radarUnavailable is False @@ -1179,6 +1188,7 @@ def test_bosch_a_toggle_defaults_on_but_allowlist_still_gates_platforms(): try: Params().remove("HondaBoschARadar") assert CarInterface.get_non_essential_params(CAR.HONDA_CIVIC_BOSCH).radarUnavailable is False - assert CarInterface.get_non_essential_params(CAR.HONDA_ACCORD).radarUnavailable is True + assert CarInterface.get_non_essential_params(CAR.HONDA_ACCORD).radarUnavailable is False + assert CarInterface.get_non_essential_params(CAR.HONDA_ACCORD_11G).radarUnavailable is True finally: Params().put_bool("HondaBoschARadar", original) diff --git a/opendbc_repo/opendbc/car/honda/values.py b/opendbc_repo/opendbc/car/honda/values.py index ac6fb6b2f..ea23969be 100644 --- a/opendbc_repo/opendbc/car/honda/values.py +++ b/opendbc_repo/opendbc/car/honda/values.py @@ -534,9 +534,9 @@ HONDA_BOSCH_ALT_RADAR = CAR.with_flags(HondaFlags.BOSCH_ALT_RADAR) # 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 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}) +# validation. Civic, CR-V 5G, and 2018-22 Accord captures 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_ACCORD, 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,