From 1792ebea6de95cc7578715bf4dbc5632ff51d3a1 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Wed, 17 Nov 2021 17:30:50 -0800 Subject: [PATCH] Honda: handle ACC state consistent with ISO 15622:2018 (#22958) old-commit-hash: 14651866c2ec1dded8fae7ae3c9109acf2e79985 --- panda | 2 +- selfdrive/car/honda/carstate.py | 5 ++--- selfdrive/car/honda/interface.py | 6 +++++- selfdrive/car/honda/values.py | 2 ++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/panda b/panda index 571512a392..fec966d6fd 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 571512a392396271e54469c562b2ba08cbb44bfc +Subproject commit fec966d6fd099dc140997978765733734fe6d1c3 diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py index 6dc4d85da8..affe377276 100644 --- a/selfdrive/car/honda/carstate.py +++ b/selfdrive/car/honda/carstate.py @@ -5,7 +5,7 @@ from opendbc.can.can_define import CANDefine from opendbc.can.parser import CANParser from selfdrive.config import Conversions as CV from selfdrive.car.interfaces import CarStateBase -from selfdrive.car.honda.values import CAR, DBC, STEER_THRESHOLD, SPEED_FACTOR, HONDA_BOSCH, HONDA_BOSCH_ALT_BRAKE_SIGNAL +from selfdrive.car.honda.values import CAR, DBC, STEER_THRESHOLD, SPEED_FACTOR, HONDA_BOSCH, HONDA_NIDEC_ALT_MAIN, HONDA_BOSCH_ALT_BRAKE_SIGNAL TransmissionType = car.CarParams.TransmissionType @@ -161,8 +161,7 @@ class CarState(CarStateBase): self.gearbox_msg = "GEARBOX_15T" self.main_on_sig_msg = "SCM_FEEDBACK" - if CP.carFingerprint in (CAR.ACURA_ILX, CAR.ACURA_RDX, CAR.CRV, CAR.CRV_EU, CAR.FIT, CAR.FREED, CAR.HRV, - CAR.ODYSSEY_CHN, CAR.PILOT, CAR.PILOT_2019, CAR.PASSPORT, CAR.RIDGELINE): + if CP.carFingerprint in HONDA_NIDEC_ALT_MAIN: self.main_on_sig_msg = "SCM_BUTTONS" self.shifter_values = can_define.dv[self.gearbox_msg]["GEAR_SHIFTER"] diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 1f49137eda..63e3f05770 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -3,7 +3,7 @@ from cereal import car from panda import Panda from common.numpy_fast import interp from common.params import Params -from selfdrive.car.honda.values import CarControllerParams, CruiseButtons, CAR, HONDA_BOSCH, HONDA_BOSCH_ALT_BRAKE_SIGNAL +from selfdrive.car.honda.values import CarControllerParams, CruiseButtons, CAR, HONDA_BOSCH, HONDA_NIDEC_ALT_MAIN, HONDA_BOSCH_ALT_BRAKE_SIGNAL from selfdrive.car import STD_CARGO_KG, CivicParams, scale_rot_inertia, scale_tire_stiffness, gen_empty_fingerprint, get_safety_config from selfdrive.car.interfaces import CarInterfaceBase from selfdrive.car.disable_ecu import disable_ecu @@ -299,6 +299,10 @@ class CarInterface(CarInterfaceBase): if candidate in HONDA_BOSCH_ALT_BRAKE_SIGNAL: ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_ALT_BRAKE + # These cars use an alternate main on message + if candidate in HONDA_NIDEC_ALT_MAIN: + ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_NIDEC_ALT + if ret.openpilotLongitudinalControl and candidate in HONDA_BOSCH: ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HONDA_BOSCH_LONG diff --git a/selfdrive/car/honda/values.py b/selfdrive/car/honda/values.py index 70ff7e006c..a50b8ce154 100644 --- a/selfdrive/car/honda/values.py +++ b/selfdrive/car/honda/values.py @@ -1365,5 +1365,7 @@ SPEED_FACTOR = { } HONDA_NIDEC_ALT_PCM_ACCEL = set([CAR.ODYSSEY]) +HONDA_NIDEC_ALT_MAIN = set([CAR.ACURA_ILX, CAR.ACURA_RDX, CAR.CRV, CAR.CRV_EU, CAR.FIT, CAR.FREED, CAR.HRV, CAR.ODYSSEY_CHN, + CAR.PILOT, CAR.PILOT_2019, CAR.PASSPORT, CAR.RIDGELINE]) HONDA_BOSCH = set([CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_5G, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E]) HONDA_BOSCH_ALT_BRAKE_SIGNAL = set([CAR.ACCORD, CAR.CRV_5G, CAR.ACURA_RDX_3G])