From 7a2d0b64eb0cb7c9cb34b1dd5b51eee81259b8ae Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 2 Jun 2022 01:27:34 -0700 Subject: [PATCH] Hyundai longitudinal: handle mid-press button change (#24674) * send additional button event for previous if we switch buttons mid-press * add comment * remove * comment old-commit-hash: dd10a83708a17b04fb9b217c7fee4234b8ed7dfe --- selfdrive/car/hyundai/interface.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py index 7299e29ba8..673b304e5a 100644 --- a/selfdrive/car/hyundai/interface.py +++ b/selfdrive/car/hyundai/interface.py @@ -341,8 +341,12 @@ class CarInterface(CarInterfaceBase): events.add(EventName.brakeUnavailable) if self.CS.CP.openpilotLongitudinalControl and self.CS.cruise_buttons[-1] != self.CS.prev_cruise_buttons: - ret.buttonEvents = [create_button_event(self.CS.cruise_buttons[-1], self.CS.prev_cruise_buttons, BUTTONS_DICT)] + buttonEvents = [create_button_event(self.CS.cruise_buttons[-1], self.CS.prev_cruise_buttons, BUTTONS_DICT)] + # Handle CF_Clu_CruiseSwState changing buttons mid-press + if self.CS.cruise_buttons[-1] != 0 and self.CS.prev_cruise_buttons != 0: + buttonEvents.append(create_button_event(0, self.CS.prev_cruise_buttons, BUTTONS_DICT)) + ret.buttonEvents = buttonEvents events.events.extend(create_button_enable_events(ret.buttonEvents)) # low speed steer alert hysteresis logic (only for cars with steer cut off above 10 m/s)