From 209039d83b96a3c8e9c5f19a1ecceedafc72de0e Mon Sep 17 00:00:00 2001 From: AlexandreSato Date: Thu, 2 Mar 2023 13:55:32 -0300 Subject: [PATCH] Add US HR-V 2023 --- RELEASES.md | 2 +- selfdrive/car/honda/carstate.py | 4 ++-- selfdrive/car/honda/interface.py | 2 +- selfdrive/car/honda/values.py | 22 ++++++++++++++++------ selfdrive/car/tests/routes.py | 2 +- selfdrive/car/torque_data/override.yaml | 2 +- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index eb656aad91..8888d0e578 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,7 +1,7 @@ Version 0.9.2 (2023-03-XX) ======================== * Draw MPC path instead of model predicted path, this is a more accurate representation of what the car will do. -* Honda HR-V Vezel 2023 non US support thanks to Alex Takeda! +* Honda HR-V 2023 support thanks to Kotarou#9692! Version 0.9.1 (2023-02-23) ======================== diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py index b1698f207d..7d6ba47f4c 100644 --- a/selfdrive/car/honda/carstate.py +++ b/selfdrive/car/honda/carstate.py @@ -103,7 +103,7 @@ def get_can_signals(CP, gearbox_msg, main_on_sig_msg): else: checks.append(("CRUISE_PARAMS", 50)) - if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E, CAR.CIVIC_2022, CAR.HRV_2023_NON_US): + if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E, CAR.CIVIC_2022, CAR.HRV_2023): signals.append(("DRIVERS_DOOR_OPEN", "SCM_FEEDBACK")) elif CP.carFingerprint in (CAR.ODYSSEY_CHN, CAR.FREED, CAR.HRV): signals.append(("DRIVERS_DOOR_OPEN", "SCM_BUTTONS")) @@ -176,7 +176,7 @@ class CarState(CarStateBase): # panda checks if the signal is non-zero ret.standstill = cp.vl["ENGINE_DATA"]["XMISSION_SPEED"] < 1e-5 # TODO: find a common signal across all cars - if self.CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E, CAR.CIVIC_2022, CAR.HRV_2023_NON_US): + if self.CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E, CAR.CIVIC_2022, CAR.HRV_2023): ret.doorOpen = bool(cp.vl["SCM_FEEDBACK"]["DRIVERS_DOOR_OPEN"]) elif self.CP.carFingerprint in (CAR.ODYSSEY_CHN, CAR.FREED, CAR.HRV): ret.doorOpen = bool(cp.vl["SCM_BUTTONS"]["DRIVERS_DOOR_OPEN"]) diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index d9fb8d76cf..ed0a7f2d87 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -203,7 +203,7 @@ class CarInterface(CarInterfaceBase): ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.16], [0.025]] ret.wheelSpeedFactor = 1.025 - elif candidate == CAR.HRV_2023_NON_US: + elif candidate == CAR.HRV_2023: ret.mass = 1305. + STD_CARGO_KG ret.wheelbase = 2.61 ret.centerToFront = ret.wheelbase * 0.41 diff --git a/selfdrive/car/honda/values.py b/selfdrive/car/honda/values.py index 4204f50a4b..7bf8c89fbd 100644 --- a/selfdrive/car/honda/values.py +++ b/selfdrive/car/honda/values.py @@ -87,7 +87,7 @@ class CAR: FIT = "HONDA FIT 2018" FREED = "HONDA FREED 2020" HRV = "HONDA HRV 2019" - HRV_2023_NON_US = "HONDA HRV/VEZEL 2023 NON US" + HRV_2023 = "HONDA HR-V 2023" ODYSSEY = "HONDA ODYSSEY 2018" ODYSSEY_CHN = "HONDA ODYSSEY CHN 2019" ACURA_RDX = "ACURA RDX 2018" @@ -139,7 +139,7 @@ CAR_INFO: Dict[str, Optional[Union[HondaCarInfo, List[HondaCarInfo]]]] = { CAR.FIT: HondaCarInfo("Honda Fit 2018-20", min_steer_speed=12. * CV.MPH_TO_MS), CAR.FREED: HondaCarInfo("Honda Freed 2020", min_steer_speed=12. * CV.MPH_TO_MS), CAR.HRV: HondaCarInfo("Honda HR-V 2019-22", min_steer_speed=12. * CV.MPH_TO_MS), - CAR.HRV_2023_NON_US: HondaCarInfo("Honda HR-V/VEZEL 2023 NON US", "All", video_link="https://youtu.be/1O1u9jzpKD0", harness=Harness.bosch_b), + CAR.HRV_2023: HondaCarInfo("Honda HR-V 2023", "All", video_link="https://youtu.be/1O1u9jzpKD0", harness=Harness.bosch_b), CAR.ODYSSEY: HondaCarInfo("Honda Odyssey 2018-20"), CAR.ODYSSEY_CHN: None, # Chinese version of Odyssey CAR.ACURA_RDX: HondaCarInfo("Acura RDX 2016-18", "AcuraWatch Plus", min_steer_speed=12. * CV.MPH_TO_MS), @@ -1404,17 +1404,21 @@ FW_VERSIONS = { b'78109-THW-A110\x00\x00', ], }, - CAR.HRV_2023_NON_US: { + CAR.HRV_2023: { (Ecu.eps, 0x18DA30F1, None): [ b'39990-3M0-G110\x00\x00', + b'39990-3W0-A030\x00\x00', ], (Ecu.gateway, 0x18DAEFF1, None): [ b'38897-3M0-M110\x00\x00', + b'38897-3W1-A010\x00\x00', ], (Ecu.srs, 0x18DA53F1, None): [ b'77959-3M0-K840\x00\x00', + b'77959-3V0-A820\x00\x00', ], (Ecu.combinationMeter, 0x18DA60F1, None): [ + b'78108-3V1-A220\x00\x00', b'78109-3M0-M310\x00\x00', ], (Ecu.fwdRadar, 0x18DAB0F1, None): [ @@ -1422,13 +1426,19 @@ FW_VERSIONS = { ], (Ecu.vsa, 0x18DA28F1, None): [ b'57114-3M6-M010\x00\x00', + b'57114-3W0-A040\x00\x00', ], (Ecu.transmission, 0x18DA1EF1, None): [ + b'28101-6EH-A010\x00\x00', b'28101-6JC-M310\x00\x00', ], (Ecu.programmedFuelInjection, 0x18DA10F1, None): [ + b'37805-6CT-A710\x00\x00', b'37805-6HZ-M630\x00\x00', ], + (Ecu.electricBrakeBooster, 0x18DA2BF1, None): [ + b'46114-3W0-A020\x00\x00', + ], }, CAR.ACURA_ILX: { (Ecu.gateway, 0x18daeff1, None): [ @@ -1548,7 +1558,7 @@ DBC = { CAR.FIT: dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'), CAR.FREED: dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'), CAR.HRV: dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'), - CAR.HRV_2023_NON_US: dbc_dict('honda_civic_ex_2022_can_generated', None), + CAR.HRV_2023: dbc_dict('honda_civic_ex_2022_can_generated', None), CAR.ODYSSEY: dbc_dict('honda_odyssey_exl_2018_generated', 'acura_ilx_2016_nidec'), CAR.ODYSSEY_CHN: dbc_dict('honda_odyssey_extreme_edition_2018_china_can_generated', 'acura_ilx_2016_nidec'), CAR.PILOT: dbc_dict('acura_ilx_2016_can_generated', 'acura_ilx_2016_nidec'), @@ -1568,6 +1578,6 @@ HONDA_NIDEC_ALT_PCM_ACCEL = {CAR.ODYSSEY} HONDA_NIDEC_ALT_SCM_MESSAGES = {CAR.ACURA_ILX, CAR.ACURA_RDX, CAR.CRV, CAR.CRV_EU, CAR.FIT, CAR.FREED, CAR.HRV, CAR.ODYSSEY_CHN, CAR.PILOT, CAR.RIDGELINE} HONDA_BOSCH = {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, CAR.CIVIC_2022, CAR.HRV_2023_NON_US} + CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G, CAR.HONDA_E, CAR.CIVIC_2022, CAR.HRV_2023} HONDA_BOSCH_ALT_BRAKE_SIGNAL = {CAR.ACCORD, CAR.CRV_5G, CAR.ACURA_RDX_3G} -HONDA_BOSCH_RADARLESS = {CAR.CIVIC_2022, CAR.HRV_2023_NON_US} +HONDA_BOSCH_RADARLESS = {CAR.CIVIC_2022, CAR.HRV_2023} diff --git a/selfdrive/car/tests/routes.py b/selfdrive/car/tests/routes.py index ee0a4df3e0..1be11831f5 100644 --- a/selfdrive/car/tests/routes.py +++ b/selfdrive/car/tests/routes.py @@ -65,7 +65,7 @@ routes = [ CarTestRoute("52f3e9ae60c0d886|2021-05-23--15-59-43", HONDA.FIT), CarTestRoute("2c4292a5cd10536c|2021-08-19--21-32-15", HONDA.FREED), CarTestRoute("03be5f2fd5c508d1|2020-04-19--18-44-15", HONDA.HRV), - CarTestRoute("147613502316e718|2023-02-24--13-03-54", HONDA.HRV_2023_NON_US), + CarTestRoute("147613502316e718|2023-02-24--13-03-54", HONDA.HRV_2023), CarTestRoute("917b074700869333|2021-05-24--20-40-20", HONDA.ACURA_ILX), CarTestRoute("08a3deb07573f157|2020-03-06--16-11-19", HONDA.ACCORD), # 1.5T CarTestRoute("1da5847ac2488106|2021-05-24--19-31-50", HONDA.ACCORD), # 2.0T diff --git a/selfdrive/car/torque_data/override.yaml b/selfdrive/car/torque_data/override.yaml index b19c7aa381..42b35c7772 100644 --- a/selfdrive/car/torque_data/override.yaml +++ b/selfdrive/car/torque_data/override.yaml @@ -46,4 +46,4 @@ mock: [10.0, 10, 0.0] # Manually checked HONDA CIVIC 2022: [2.5, 1.2, 0.15] -HONDA HRV/VEZEL 2023 NON US: [2.5, 1.2, 0.15] +HONDA HR-V 2023: [2.5, 1.2, 0.15]