apply pause/resume fix for hyundai (should do this in a separate PR)

This commit is contained in:
Jason Wen
2024-11-15 07:17:11 -05:00
parent 6a059c6877
commit 74eacd2d44
+5 -3
View File
@@ -148,7 +148,8 @@ class CarSpecificEvents:
# To avoid re-engaging when openpilot cancels, check user engagement intention via buttons
# Main button also can trigger an engagement on these cars
self.cruise_buttons.append(any(ev.type in HYUNDAI_ENABLE_BUTTONS for ev in CS.buttonEvents))
events = self.create_common_events(CS, CS_prev, pcm_enable=self.CP.pcmCruise, allow_enable=any(self.cruise_buttons))
events = self.create_common_events(CS, CS_prev, pcm_enable=self.CP.pcmCruise, allow_enable=any(self.cruise_buttons),
(self.CP.pcmCruise and b.pressed) or not self.CP.pcmCruise)
# low speed steer alert hysteresis logic (only for cars with steer cut off above 10 m/s)
if CS.vEgo < (self.CP.minSteerSpeed + 2.) and self.CP.minSteerSpeed > 10.:
@@ -164,7 +165,8 @@ class CarSpecificEvents:
return events
def create_common_events(self, CS: structs.CarState, CS_prev: car.CarState, extra_gears=None, pcm_enable=True,
allow_enable=True, enable_buttons=(ButtonType.accelCruise, ButtonType.decelCruise)):
allow_enable=True, enable_buttons=(ButtonType.accelCruise, ButtonType.decelCruise),
allow_disengage=True):
events = Events()
if CS.doorOpen:
@@ -215,7 +217,7 @@ class CarSpecificEvents:
if not self.CP.pcmCruise and (b.type in enable_buttons and not b.pressed):
events.add(EventName.buttonEnable)
# Disable on rising and falling edge of cancel for both stock and OP long
if b.type == ButtonType.cancel:
if b.type == ButtonType.cancel and allow_disengage:
events.add(EventName.buttonCancel)
# Handle permanent and temporary steering faults