From 780224d9f96b3ce9fbd8edc1fc9b76183a2fa398 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sun, 23 Mar 2025 23:52:52 -0400 Subject: [PATCH] more --- .../controls/lib/auto_lane_change.py | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sunnypilot/selfdrive/controls/lib/auto_lane_change.py b/sunnypilot/selfdrive/controls/lib/auto_lane_change.py index df18cb10d0..57a8fd6465 100644 --- a/sunnypilot/selfdrive/controls/lib/auto_lane_change.py +++ b/sunnypilot/selfdrive/controls/lib/auto_lane_change.py @@ -61,21 +61,25 @@ class AutoLaneChangeController: self.read_params() self.param_read_counter += 1 - lane_change_auto_timer = AUTO_LANE_CHANGE_TIMER.get(self.lane_change_set_timer, - AUTO_LANE_CHANGE_TIMER[AutoLaneChangeState.TWO_SECONDS]) + lane_change_delay = AUTO_LANE_CHANGE_TIMER.get(self.lane_change_set_timer, + AUTO_LANE_CHANGE_TIMER[AutoLaneChangeState.TWO_SECONDS]) self.lane_change_wait_timer += DT_MDL - if self.lane_change_bsm_delay and blindspot_detected and lane_change_auto_timer: - if lane_change_auto_timer == AUTO_LANE_CHANGE_TIMER[AutoLaneChangeState.NUDGELESS]: + if self.lane_change_bsm_delay and blindspot_detected and lane_change_delay: + if lane_change_delay == AUTO_LANE_CHANGE_TIMER[AutoLaneChangeState.NUDGELESS]: self.lane_change_wait_timer = TIMER_DISABLED else: - self.lane_change_wait_timer = lane_change_auto_timer - 1 + self.lane_change_wait_timer = lane_change_delay - 1 - # Don't allow auto lane change if brake was previously pressed - auto_lane_change_allowed = (lane_change_auto_timer and - self.lane_change_wait_timer > lane_change_auto_timer and - not self.prev_brake_pressed) + + # Auto lane change allowed if: + # 1. A valid delay is set (non-zero) + # 2. We've waited long enough + # 3. Brake wasn't previously pressed + auto_lane_change_allowed = lane_change_delay and \ + self.lane_change_wait_timer > lane_change_delay and \ + not self.prev_brake_pressed # Update previous brake state self.prev_brake_pressed = brake_pressed