mirror of
https://jihulab.com/mr-one/openpilot.git
synced 2026-10-26 20:43:49 +08:00
honda: pass CP_SP into the Bosch-A radar interface
sunnypilot's RadarInterfaceBase.__init__ takes (CP, CP_SP); the upstream file only took CP, so constructing the radar interface raised 'RadarInterfaceBase.__init__() missing 1 required positional argument: CP_SP'. Build CP_SP in the tests as well and pass it through.
This commit is contained in:
@@ -206,8 +206,8 @@ def _create_bosch_a_can_parser(CP):
|
||||
|
||||
|
||||
class RadarInterface(RadarInterfaceBase):
|
||||
def __init__(self, CP):
|
||||
super().__init__(CP)
|
||||
def __init__(self, CP, CP_SP):
|
||||
super().__init__(CP, CP_SP)
|
||||
self.radar_off_can = CP.radarUnavailable
|
||||
self.bosch_a_radar = (not self.radar_off_can and Bus.radar in DBC[CP.carFingerprint] and
|
||||
DBC[CP.carFingerprint][Bus.radar] == BOSCH_A_DBC_NAME)
|
||||
|
||||
@@ -45,6 +45,7 @@ _SWITCH.unlink(missing_ok=True)
|
||||
# Parser behavior is tested directly with an explicitly available CP. Production availability is
|
||||
# separately gated below by HONDA_BOSCH_A_RADAR_VERIFIED and the developer parameter.
|
||||
CP = CarInterface.get_non_essential_params(CAR.HONDA_CIVIC_BOSCH)
|
||||
CP_SP = CarInterface.get_non_essential_params_sp(CP, CAR.HONDA_CIVIC_BOSCH)
|
||||
CP.radarUnavailable = False
|
||||
BUS = CanBus(CP).camera
|
||||
|
||||
@@ -108,7 +109,7 @@ def make_main_frames(slot, frame_idx, status, range_raw, angle_raw, life, track_
|
||||
|
||||
|
||||
def make_radar_interface():
|
||||
return CarInterface.RadarInterface(CP)
|
||||
return CarInterface.RadarInterface(CP, CP_SP)
|
||||
|
||||
|
||||
def sweep(slot, frame_idx, status, range_raw, angle_raw, life, t_nanos, with_aux=False, aux_frame_idx=None,
|
||||
@@ -1097,8 +1098,9 @@ def test_civic_bosch_radar_dbc_wired_for_parser_unit_tests():
|
||||
|
||||
def test_crv_5g_bosch_a_radar_dbc_wired_for_parser_unit_tests():
|
||||
cp = CarInterface.get_non_essential_params(CAR.HONDA_CRV_5G)
|
||||
cp_sp = CarInterface.get_non_essential_params_sp(cp, CAR.HONDA_CRV_5G)
|
||||
assert cp.radarUnavailable is False
|
||||
ri = CarInterface.RadarInterface(cp)
|
||||
ri = CarInterface.RadarInterface(cp, cp_sp)
|
||||
assert ri.bosch_a_radar is True
|
||||
assert ri.rcp is not None
|
||||
assert ri.rcp.bus == CanBus(cp).camera
|
||||
@@ -1106,8 +1108,9 @@ def test_crv_5g_bosch_a_radar_dbc_wired_for_parser_unit_tests():
|
||||
|
||||
def test_accord_bosch_a_radar_stays_disabled_until_validated():
|
||||
cp = CarInterface.get_non_essential_params(CAR.HONDA_ACCORD)
|
||||
cp_sp = CarInterface.get_non_essential_params_sp(cp, CAR.HONDA_ACCORD)
|
||||
assert cp.radarUnavailable is True
|
||||
ri = CarInterface.RadarInterface(cp)
|
||||
ri = CarInterface.RadarInterface(cp, cp_sp)
|
||||
assert ri.bosch_a_radar is False
|
||||
assert ri.rcp is None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user