From c2522d679a5a5085810350a374e4ac3c8eb99188 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Tue, 3 Sep 2024 19:56:57 -0700 Subject: [PATCH] better old-commit-hash: 5ddda806a008cc189758491f91a4a4d0aeb8d343 --- selfdrive/controls/lib/longitudinal_planner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/selfdrive/controls/lib/longitudinal_planner.py b/selfdrive/controls/lib/longitudinal_planner.py index abf95bf7f8..c0827f4d48 100755 --- a/selfdrive/controls/lib/longitudinal_planner.py +++ b/selfdrive/controls/lib/longitudinal_planner.py @@ -101,14 +101,15 @@ class LongitudinalPlanner: v_ego = sm['carState'].vEgo v_cruise_kph = min(sm['carState'].vCruise, V_CRUISE_MAX) v_cruise = v_cruise_kph * CV.KPH_TO_MS - # some PCM messages may be updated a few cycles later, check if initialized v_cruise_initialized = abs(sm['carState'].vCruise - V_CRUISE_UNSET) < 1e-3 long_control_off = sm['controlsState'].longControlState == LongCtrlState.off force_slow_decel = sm['controlsState'].forceDecel # Reset current state when not engaged, or user is controlling the speed - reset_state = (long_control_off or not v_cruise_initialized) if self.CP.openpilotLongitudinalControl else not sm['selfdriveState'].enabled + reset_state = long_control_off if self.CP.openpilotLongitudinalControl else not sm['selfdriveState'].enabled + # some PCM messages may be updated a few cycles later, check if initialized + reset_state = reset_state or not v_cruise_initialized # No change cost when user is controlling the speed, or when standstill prev_accel_constraint = not (reset_state or sm['carState'].standstill)