0 makes more sense

pull/25393/head
Shane Smiskol 3 years ago
parent ddf7aa0e42
commit efc89e8a23
  1. 2
      selfdrive/car/gm/interface.py
  2. 23
      selfdrive/controls/controlsd.py
  3. 5
      selfdrive/controls/lib/drive_helpers.py

@ -179,7 +179,7 @@ class CarInterface(CarInterfaceBase):
events.add(car.CarEvent.EventName.belowSteerSpeed)
# The ECM will fault if resume triggers an enable while speed is unset (unset is greater than 70 m/s)
if c.hudControl.setSpeed >= 70:
if c.hudControl.setSpeed == 0:
events.add(car.CarEvent.EventName.resumeBlocked)
# handle button presses

@ -16,7 +16,7 @@ from system.version import get_short_branch
from selfdrive.boardd.boardd import can_list_to_can_capnp
from selfdrive.car.car_helpers import get_car, get_startup_event, get_one_can
from selfdrive.controls.lib.lane_planner import CAMERA_OFFSET
from selfdrive.controls.lib.drive_helpers import V_CRUISE_INITIAL, update_v_cruise, initialize_v_cruise
from selfdrive.controls.lib.drive_helpers import update_v_cruise, initialize_v_cruise
from selfdrive.controls.lib.drive_helpers import get_lag_adjusted_curvature
from selfdrive.controls.lib.latcontrol import LatControl
from selfdrive.controls.lib.longcontrol import LongControl
@ -162,8 +162,8 @@ class Controls:
self.active = False
self.can_rcv_error = False
self.soft_disable_timer = 0
self.v_cruise_kph = V_CRUISE_INITIAL
self.v_cruise_cluster_kph = V_CRUISE_INITIAL
self.v_cruise_kph = 0
self.v_cruise_cluster_kph = 0
self.v_cruise_kph_last = 0
self.mismatch_counter = 0
self.cruise_mismatch_counter = 0
@ -452,22 +452,19 @@ class Controls:
self.v_cruise_kph_last = self.v_cruise_kph
# if stock cruise is completely disabled, then we can use our own set speed logic
if not self.CP.pcmCruise:
if CS.cruiseState.available:
if CS.cruiseState.available:
# if stock cruise is completely disabled, then we can use our own set speed logic
if not self.CP.pcmCruise:
self.v_cruise_kph = update_v_cruise(self.v_cruise_kph, CS.vEgo, CS.gasPressed, CS.buttonEvents,
self.button_timers, self.enabled, self.is_metric)
self.v_cruise_cluster_kph = self.v_cruise_kph
else:
self.v_cruise_kph = V_CRUISE_INITIAL
self.v_cruise_cluster_kph = V_CRUISE_INITIAL
else:
if CS.cruiseState.available:
self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH
self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH
else:
self.v_cruise_kph = 0
self.v_cruise_cluster_kph = 0
else:
self.v_cruise_kph = 0
self.v_cruise_cluster_kph = 0
# decrement the soft disable timer at every step, as it's reset on
# entrance in SOFT_DISABLING state

@ -11,7 +11,6 @@ from selfdrive.modeld.constants import T_IDXS
V_CRUISE_MAX = 145 # kph
V_CRUISE_MIN = 8 # kph
V_CRUISE_ENABLE_MIN = 40 # kph
V_CRUISE_INITIAL = 255 # kph
LAT_MPC_N = 16
LON_MPC_N = 32
@ -96,8 +95,8 @@ def update_v_cruise(v_cruise_kph, v_ego, gas_pressed, buttonEvents, button_timer
def initialize_v_cruise(v_ego, buttonEvents, v_cruise_last):
for b in buttonEvents:
# 250kph or above probably means we never had a set speed
if b.type in (ButtonType.accelCruise, ButtonType.resumeCruise) and v_cruise_last < 250:
# 0kph means we don't have a set speed
if b.type in (ButtonType.accelCruise, ButtonType.resumeCruise) and v_cruise_last != 0:
return v_cruise_last
return int(round(clip(v_ego * CV.MS_TO_KPH, V_CRUISE_ENABLE_MIN, V_CRUISE_MAX)))

Loading…
Cancel
Save