From a69e1715d4daa1eea41d15764a763d082e249235 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Thu, 3 Jun 2021 01:49:33 -0700 Subject: [PATCH] Honda: cleanup enable logic (#20749) --- selfdrive/car/honda/interface.py | 29 ++++-------------------- selfdrive/test/process_replay/ref_commit | 2 +- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 8e3a2ed562..f2b4858b74 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -2,10 +2,8 @@ import numpy as np from cereal import car from common.numpy_fast import clip, interp -from common.realtime import DT_CTRL from selfdrive.swaglog import cloudlog from selfdrive.config import Conversions as CV -from selfdrive.controls.lib.events import ET from selfdrive.car.honda.values import CruiseButtons, CAR, HONDA_BOSCH, HONDA_BOSCH_ALT_BRAKE_SIGNAL from selfdrive.car import STD_CARGO_KG, CivicParams, scale_rot_inertia, scale_tire_stiffness, gen_empty_fingerprint from selfdrive.controls.lib.longitudinal_planner import _A_CRUISE_MAX_V_FOLLOWING @@ -75,9 +73,6 @@ class CarInterface(CarInterfaceBase): def __init__(self, CP, CarController, CarState): super().__init__(CP, CarController, CarState) - self.last_enable_pressed = 0 - self.last_enable_sent = 0 - if self.CS.CP.carFingerprint == CAR.ACURA_ILX: self.compute_gb = get_compute_gb_acura() else: @@ -488,7 +483,7 @@ class CarInterface(CarInterfaceBase): ret.buttonEvents = buttonEvents # events - events = self.create_common_events(ret, pcm_enable=False) + events = self.create_common_events(ret, pcm_enable=self.CP.enableCruise) if self.CS.brake_error: events.add(EventName.brakeUnavailable) if self.CS.brake_hold and self.CS.CP.openpilotLongitudinalControl: @@ -511,34 +506,18 @@ class CarInterface(CarInterfaceBase): if self.CS.CP.minEnableSpeed > 0 and ret.vEgo < 0.001: events.add(EventName.manualRestart) - cur_time = self.frame * DT_CTRL - enable_pressed = False # handle button presses for b in ret.buttonEvents: # do enable on both accel and decel buttons if b.type in [ButtonType.accelCruise, ButtonType.decelCruise] and not b.pressed: - self.last_enable_pressed = cur_time - enable_pressed = True + if not self.CP.enableCruise: + events.add(EventName.buttonEnable) # do disable on button down - if b.type == "cancel" and b.pressed: + if b.type == ButtonType.cancel and b.pressed: events.add(EventName.buttonCancel) - if self.CP.enableCruise: - # KEEP THIS EVENT LAST! send enable event if button is pressed and there are - # NO_ENTRY events, so controlsd will display alerts. Also not send enable events - # too close in time, so a no_entry will not be followed by another one. - # TODO: button press should be the only thing that triggers enable - if ((cur_time - self.last_enable_pressed) < 0.2 and - (cur_time - self.last_enable_sent) > 0.2 and - ret.cruiseState.enabled) or \ - (enable_pressed and events.any(ET.NO_ENTRY)): - events.add(EventName.buttonEnable) - self.last_enable_sent = cur_time - elif enable_pressed: - events.add(EventName.buttonEnable) - ret.events = events.to_msg() self.CS.out = ret.as_reader() diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 58f4b866ee..e6c001b1ad 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -de4fcc981f5a0ec6c43d9ee0918cdf9c3dbde494 +7751b7e14e53d1712e87c29c6bd8653d1bd03c71 \ No newline at end of file