|
|
|
@ -14,6 +14,7 @@ from selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX |
|
|
|
|
from selfdrive.controls.lib.events import Events |
|
|
|
|
from selfdrive.controls.lib.vehicle_model import VehicleModel |
|
|
|
|
|
|
|
|
|
ButtonType = car.CarState.ButtonEvent.Type |
|
|
|
|
GearShifter = car.CarState.GearShifter |
|
|
|
|
EventName = car.CarEvent.EventName |
|
|
|
|
|
|
|
|
@ -185,7 +186,8 @@ class CarInterfaceBase(ABC): |
|
|
|
|
def apply(self, c: car.CarControl) -> Tuple[car.CarControl.Actuators, List[bytes]]: |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def create_common_events(self, cs_out, extra_gears=None, pcm_enable=True, allow_enable=True): |
|
|
|
|
def create_common_events(self, cs_out, extra_gears=None, pcm_enable=True, allow_enable=True, |
|
|
|
|
enable_buttons=(ButtonType.accelCruise, ButtonType.decelCruise)): |
|
|
|
|
events = Events() |
|
|
|
|
|
|
|
|
|
if cs_out.doorOpen: |
|
|
|
@ -217,7 +219,7 @@ class CarInterfaceBase(ABC): |
|
|
|
|
events.add(EventName.accFaulted) |
|
|
|
|
|
|
|
|
|
# Handle button presses |
|
|
|
|
events.events.extend(create_button_enable_events(cs_out.buttonEvents, pcm_cruise=self.CP.pcmCruise)) |
|
|
|
|
events.events.extend(create_button_enable_events(cs_out.buttonEvents, enable_buttons, pcm_cruise=self.CP.pcmCruise)) |
|
|
|
|
|
|
|
|
|
# Handle permanent and temporary steering faults |
|
|
|
|
self.steering_unpressed = 0 if cs_out.steeringPressed else self.steering_unpressed + 1 |
|
|
|
|