From 3a44c31bb06f04e93e6295bf8a6c0979fa4c296f Mon Sep 17 00:00:00 2001 From: James <91348155+FrogAi@users.noreply.github.com> Date: Mon, 1 Dec 2025 12:00:00 -0700 Subject: [PATCH] Only one lane change per signal --- selfdrive/controls/lib/desire_helper.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/selfdrive/controls/lib/desire_helper.py b/selfdrive/controls/lib/desire_helper.py index 016909d9..07625ece 100644 --- a/selfdrive/controls/lib/desire_helper.py +++ b/selfdrive/controls/lib/desire_helper.py @@ -43,6 +43,8 @@ class DesireHelper: self.desire = log.Desire.none # FrogPilot variables + self.lane_change_completed = False + self.lane_change_wait_timer = 0.0 @staticmethod @@ -87,13 +89,15 @@ class DesireHelper: desired_lane_width = frogpilotPlan.laneWidthLeft if self.lane_change_direction == LaneChangeDirection.left else frogpilotPlan.laneWidthRight torque_applied &= desired_lane_width >= frogpilot_toggles.lane_detection_width - if not one_blinker or below_lane_change_speed: + if not one_blinker or below_lane_change_speed or self.lane_change_completed: self.lane_change_state = LaneChangeState.off self.lane_change_direction = LaneChangeDirection.none elif torque_applied and not blindspot_detected: self.lane_change_state = LaneChangeState.laneChangeStarting # FrogPilot variables + self.lane_change_completed = frogpilot_toggles.one_lane_change + self.lane_change_wait_timer = 0.0 # FrogPilot variables @@ -141,4 +145,6 @@ class DesireHelper: # FrogPilot variables if not one_blinker: + self.lane_change_completed = False + self.lane_change_wait_timer = 0.0