|
|
@ -163,6 +163,7 @@ class Controls: |
|
|
|
self.can_rcv_error = False |
|
|
|
self.can_rcv_error = False |
|
|
|
self.soft_disable_timer = 0 |
|
|
|
self.soft_disable_timer = 0 |
|
|
|
self.v_cruise_kph = 255 |
|
|
|
self.v_cruise_kph = 255 |
|
|
|
|
|
|
|
self.v_cruise_cluster_kph = 255 |
|
|
|
self.v_cruise_kph_last = 0 |
|
|
|
self.v_cruise_kph_last = 0 |
|
|
|
self.mismatch_counter = 0 |
|
|
|
self.mismatch_counter = 0 |
|
|
|
self.cruise_mismatch_counter = 0 |
|
|
|
self.cruise_mismatch_counter = 0 |
|
|
@ -454,11 +455,14 @@ class Controls: |
|
|
|
if not self.CP.pcmCruise: |
|
|
|
if not self.CP.pcmCruise: |
|
|
|
self.v_cruise_kph = update_v_cruise(self.v_cruise_kph, CS.vEgo, CS.gasPressed, CS.buttonEvents, |
|
|
|
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.button_timers, self.enabled, self.is_metric) |
|
|
|
|
|
|
|
self.v_cruise_cluster_kph = self.v_cruise_kph |
|
|
|
else: |
|
|
|
else: |
|
|
|
if CS.cruiseState.available: |
|
|
|
if CS.cruiseState.available: |
|
|
|
self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH |
|
|
|
self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH |
|
|
|
|
|
|
|
self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH |
|
|
|
else: |
|
|
|
else: |
|
|
|
self.v_cruise_kph = 0 |
|
|
|
self.v_cruise_kph = 0 |
|
|
|
|
|
|
|
self.v_cruise_cluster_kph = 0 |
|
|
|
|
|
|
|
|
|
|
|
# decrement the soft disable timer at every step, as it's reset on |
|
|
|
# decrement the soft disable timer at every step, as it's reset on |
|
|
|
# entrance in SOFT_DISABLING state |
|
|
|
# entrance in SOFT_DISABLING state |
|
|
@ -538,6 +542,7 @@ class Controls: |
|
|
|
self.current_alert_types.append(ET.ENABLE) |
|
|
|
self.current_alert_types.append(ET.ENABLE) |
|
|
|
if not self.CP.pcmCruise: |
|
|
|
if not self.CP.pcmCruise: |
|
|
|
self.v_cruise_kph = initialize_v_cruise(CS.vEgo, CS.buttonEvents, self.v_cruise_kph_last) |
|
|
|
self.v_cruise_kph = initialize_v_cruise(CS.vEgo, CS.buttonEvents, self.v_cruise_kph_last) |
|
|
|
|
|
|
|
self.v_cruise_cluster_kph = self.v_cruise_kph |
|
|
|
|
|
|
|
|
|
|
|
# Check if openpilot is engaged and actuators are enabled |
|
|
|
# Check if openpilot is engaged and actuators are enabled |
|
|
|
self.enabled = self.state in ENABLED_STATES |
|
|
|
self.enabled = self.state in ENABLED_STATES |
|
|
@ -752,6 +757,7 @@ class Controls: |
|
|
|
controlsState.longControlState = self.LoC.long_control_state |
|
|
|
controlsState.longControlState = self.LoC.long_control_state |
|
|
|
controlsState.vPid = float(self.LoC.v_pid) |
|
|
|
controlsState.vPid = float(self.LoC.v_pid) |
|
|
|
controlsState.vCruise = float(self.v_cruise_kph) |
|
|
|
controlsState.vCruise = float(self.v_cruise_kph) |
|
|
|
|
|
|
|
controlsState.vCruiseCluster = float(self.v_cruise_cluster_kph) |
|
|
|
controlsState.upAccelCmd = float(self.LoC.pid.p) |
|
|
|
controlsState.upAccelCmd = float(self.LoC.pid.p) |
|
|
|
controlsState.uiAccelCmd = float(self.LoC.pid.i) |
|
|
|
controlsState.uiAccelCmd = float(self.LoC.pid.i) |
|
|
|
controlsState.ufAccelCmd = float(self.LoC.pid.f) |
|
|
|
controlsState.ufAccelCmd = float(self.LoC.pid.f) |
|
|
|