pull/26463/head
Shane Smiskol 2 years ago
parent 39e7524ae8
commit 6fad43bf07
  1. 6
      selfdrive/car/__init__.py
  2. 5
      selfdrive/car/gm/interface.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)):

@ -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,

Loading…
Cancel
Save