Always On Lateral
Added toggle for Always On Lateral / No disengage lateral on gas and brake. Lots of credit goes to "pfeiferj"! Couldn't of done it without him! https: //github.com/pfeiferj/openpilot Co-Authored-By: Jacob Pfeifer <jacob@pfeifer.dev>
This commit is contained in:
@@ -197,6 +197,15 @@ class Controls:
|
||||
if not self.disengage_on_accelerator:
|
||||
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS
|
||||
|
||||
# Set "Always On Lateral" conditions
|
||||
self.always_on_lateral = self.params.get_bool("AlwaysOnLateral")
|
||||
self.always_on_lateral_main = self.params.get_bool("AlwaysOnLateralMain")
|
||||
if self.always_on_lateral:
|
||||
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ALWAYS_ON_LATERAL
|
||||
if self.disengage_on_accelerator:
|
||||
self.disengage_on_accelerator = False
|
||||
self.params.put_bool("DisengageOnAccelerator", False)
|
||||
|
||||
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.RAISE_LONGITUDINAL_LIMITS_TO_ISO_MAX
|
||||
|
||||
# read params
|
||||
@@ -684,9 +693,19 @@ class Controls:
|
||||
# Gear Check
|
||||
self.driving_gear = CS.gearShifter not in (GearShifter.neutral, GearShifter.park, GearShifter.reverse, GearShifter.unknown)
|
||||
|
||||
# Always on lateral
|
||||
self.FPCC.alwaysOnLateral |= CS.cruiseState.enabled or self.always_on_lateral_main
|
||||
self.FPCC.alwaysOnLateral &= self.always_on_lateral
|
||||
self.FPCC.alwaysOnLateral &= CS.cruiseState.available
|
||||
self.FPCC.alwaysOnLateral &= self.driving_gear
|
||||
self.FPCC.alwaysOnLateral &= not self.openpilot_crashed
|
||||
|
||||
if self.FPCC.alwaysOnLateral:
|
||||
self.current_alert_types.append(ET.WARNING)
|
||||
|
||||
# Check which actuators can be enabled
|
||||
standstill = CS.vEgo <= max(self.CP.minSteerSpeed, MIN_LATERAL_CONTROL_SPEED) or CS.standstill
|
||||
CC.latActive = self.active and not CS.steerFaultTemporary and not CS.steerFaultPermanent and \
|
||||
CC.latActive = (self.active or self.FPCC.alwaysOnLateral) and not CS.steerFaultTemporary and not CS.steerFaultPermanent and \
|
||||
(not standstill or self.joystick_mode)
|
||||
CC.longActive = self.enabled and not self.events.contains(ET.OVERRIDE_LONGITUDINAL) and self.CP.openpilotLongitudinalControl
|
||||
|
||||
|
||||
Reference in New Issue
Block a user