diff --git a/selfdrive/car/__init__.py b/selfdrive/car/__init__.py index 5750fb9e46..cc263312a5 100644 --- a/selfdrive/car/__init__.py +++ b/selfdrive/car/__init__.py @@ -22,13 +22,9 @@ def apply_hysteresis(val: float, val_steady: float, hyst_gap: float) -> float: def create_button_events(cur_btn: int, prev_btn: int, buttons_dict: Dict[int, capnp.lib.capnp._EnumModule], - unpressed_btn: int = 0, init_btn: Optional[int] = None) -> List[capnp.lib.capnp._DynamicStructBuilder]: + unpressed_btn: int = 0) -> List[capnp.lib.capnp._DynamicStructBuilder]: events: List[capnp.lib.capnp._DynamicStructBuilder] = [] - # Initialized to unpressed, don't add any events - if cur_btn == unpressed_btn and prev_btn == init_btn: - return events - # Add events for button presses, handling when a button switches without going to unpressed if cur_btn != prev_btn: for pressed, btn in ((False, prev_btn), (True, cur_btn)): diff --git a/selfdrive/car/gm/interface.py b/selfdrive/car/gm/interface.py index 871df9fc8f..c81f585189 100755 --- a/selfdrive/car/gm/interface.py +++ b/selfdrive/car/gm/interface.py @@ -205,8 +205,9 @@ class CarInterface(CarInterfaceBase): def _update(self, c): ret = self.CS.update(self.cp, self.cp_cam, self.cp_loopback) - ret.buttonEvents = create_button_events(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT, - unpressed_btn=CruiseButtons.UNPRESS, init_btn=CruiseButtons.INIT) + if self.CS.cruise_buttons != CruiseButtons.UNPRESS or self.CS.prev_cruise_buttons != CruiseButtons.INIT: + ret.buttonEvents = create_button_events(self.CS.cruise_buttons, self.CS.prev_cruise_buttons, BUTTONS_DICT, + unpressed_btn=CruiseButtons.UNPRESS) # The ECM allows enabling on falling edge of set, but only rising edge of resume events = self.create_common_events(ret, extra_gears=[GearShifter.sport, GearShifter.low,