|
|
@ -10,7 +10,7 @@ from common.conversions import Conversions as CV |
|
|
|
from common.kalman.simple_kalman import KF1D |
|
|
|
from common.kalman.simple_kalman import KF1D |
|
|
|
from common.numpy_fast import interp |
|
|
|
from common.numpy_fast import interp |
|
|
|
from common.realtime import DT_CTRL |
|
|
|
from common.realtime import DT_CTRL |
|
|
|
from selfdrive.car import apply_hysteresis, create_button_enable_events, gen_empty_fingerprint |
|
|
|
from selfdrive.car import apply_hysteresis, gen_empty_fingerprint |
|
|
|
from selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, apply_deadzone |
|
|
|
from selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, apply_deadzone |
|
|
|
from selfdrive.controls.lib.events import Events |
|
|
|
from selfdrive.controls.lib.events import Events |
|
|
|
from selfdrive.controls.lib.vehicle_model import VehicleModel |
|
|
|
from selfdrive.controls.lib.vehicle_model import VehicleModel |
|
|
@ -246,7 +246,13 @@ class CarInterfaceBase(ABC): |
|
|
|
events.add(EventName.steerOverride) |
|
|
|
events.add(EventName.steerOverride) |
|
|
|
|
|
|
|
|
|
|
|
# Handle button presses |
|
|
|
# Handle button presses |
|
|
|
events.events.extend(create_button_enable_events(cs_out.buttonEvents, enable_buttons, pcm_cruise=self.CP.pcmCruise)) |
|
|
|
for b in cs_out.buttonEvents: |
|
|
|
|
|
|
|
# Enable OP long on falling edge of enable buttons (defaults to accelCruise and decelCruise, overridable per-port) |
|
|
|
|
|
|
|
if not self.CP.pcm_cruise and (b.type in enable_buttons and not b.pressed): |
|
|
|
|
|
|
|
events.add(EventName.buttonEnable) |
|
|
|
|
|
|
|
# Disable on rising edge of cancel for both stock and OP long |
|
|
|
|
|
|
|
if b.type == ButtonType.cancel and b.pressed: |
|
|
|
|
|
|
|
events.add(EventName.buttonCancel) |
|
|
|
|
|
|
|
|
|
|
|
# Handle permanent and temporary steering faults |
|
|
|
# Handle permanent and temporary steering faults |
|
|
|
self.steering_unpressed = 0 if cs_out.steeringPressed else self.steering_unpressed + 1 |
|
|
|
self.steering_unpressed = 0 if cs_out.steeringPressed else self.steering_unpressed + 1 |
|
|
|