From 799e819e581cfe57151e1e9fc7536110b75d8989 Mon Sep 17 00:00:00 2001 From: discountchubbs Date: Mon, 10 Nov 2025 11:55:49 -0800 Subject: [PATCH] more desire changes --- .../navd/navigation_desires/navigation_desires.py | 10 ++++------ .../tests/test_navigation_desires.py | 12 ++++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/sunnypilot/navd/navigation_desires/navigation_desires.py b/sunnypilot/navd/navigation_desires/navigation_desires.py index e4a6d9a52c..a3122d9daa 100644 --- a/sunnypilot/navd/navigation_desires/navigation_desires.py +++ b/sunnypilot/navd/navigation_desires/navigation_desires.py @@ -31,14 +31,12 @@ class NavigationDesires: self.desire = log.Desire.none if self.nav_allowed and nav_msg.valid and lateral_active: upcoming = nav_msg.upcomingTurn - if upcoming == 'slightLeft' and (not CS.leftBlindspot or CS.vEgo < self._turn_speed_limit): + if upcoming == 'slightLeft' and not CS.rightBlinker and not CS.leftBlindspot and CS.steeringPressed and CS.steeringTorque > 0: self.desire = log.Desire.keepLeft - elif upcoming == 'slightRight' and (not CS.rightBlindspot or CS.vEgo < self._turn_speed_limit): + elif upcoming == 'slightRight' and not CS.leftBlinker and not CS.rightBlindspot and CS.steeringPressed and CS.steeringTorque < 0: self.desire = log.Desire.keepRight - elif (upcoming == 'left' and CS.steeringPressed and CS.steeringTorque > 0 and not CS.rightBlinker - and not CS.leftBlindspot and CS.vEgo < self._turn_speed_limit): + elif upcoming == 'left' and not CS.rightBlinker and not CS.leftBlindspot and CS.vEgo < self._turn_speed_limit: self.desire = log.Desire.turnLeft - elif (upcoming == 'right' and CS.steeringPressed and CS.steeringTorque < 0 and not CS.leftBlinker - and not CS.rightBlindspot and CS.vEgo < self._turn_speed_limit): + elif upcoming == 'right' and not CS.leftBlinker and not CS.rightBlindspot and CS.vEgo < self._turn_speed_limit: self.desire = log.Desire.turnRight return self.desire diff --git a/sunnypilot/navd/navigation_desires/tests/test_navigation_desires.py b/sunnypilot/navd/navigation_desires/tests/test_navigation_desires.py index 5cfd34c271..2a9a1e00e9 100644 --- a/sunnypilot/navd/navigation_desires/tests/test_navigation_desires.py +++ b/sunnypilot/navd/navigation_desires/tests/test_navigation_desires.py @@ -22,20 +22,20 @@ def make_car(vEgo=0, leftBlinker=False, rightBlinker=False, leftBlindspot=False, ) NAVIGATION_PARAMS: list[tuple] = [ - ('slightLeft', make_car(), log.Desire.keepLeft), - ('slightRight', make_car(), log.Desire.keepRight), + ('slightLeft', make_car(steeringPressed=True, steeringTorque=1), log.Desire.keepLeft), + ('slightRight', make_car(steeringPressed=True, steeringTorque=-1), log.Desire.keepRight), ('slightLeft', make_car(vEgo=9, leftBlindspot=True), log.Desire.none), ('slightRight', make_car(vEgo=9, rightBlindspot=True), log.Desire.none), - ('left', make_car(vEgo=5, leftBlinker=True, rightBlinker=False, leftBlindspot=False, steeringPressed=True, steeringTorque=1), log.Desire.turnLeft), + ('left', make_car(vEgo=5, leftBlinker=True, rightBlinker=False, leftBlindspot=False), log.Desire.turnLeft), ('left', make_car(vEgo=5, leftBlinker=False, rightBlinker=True), log.Desire.none), - ('right', make_car(vEgo=6, rightBlinker=True, leftBlindspot=False, steeringPressed=True, steeringTorque=-1), log.Desire.turnRight), + ('right', make_car(vEgo=6, rightBlinker=True, leftBlindspot=False), log.Desire.turnRight), ('right', make_car(vEgo=6, rightBlinker=True, rightBlindspot=True), log.Desire.none), ('left', make_car(vEgo=9, leftBlinker=True), log.Desire.none), ] INTEGRATION_PARAMS: list[tuple] = [(carstate, upcoming, log.Desire.none, expected) for upcoming, carstate, expected in NAVIGATION_PARAMS] + [ - (make_car(vEgo=9, leftBlinker=True, steeringPressed=True, steeringTorque=1), 'slightLeft', log.Desire.turnLeft, log.Desire.keepLeft), - (make_car(vEgo=9, rightBlinker=True, steeringPressed=True, steeringTorque=-1), 'slightRight', log.Desire.turnRight, log.Desire.keepRight), + (make_car(vEgo=6, leftBlinker=True, steeringPressed=True, steeringTorque=1), 'slightLeft', log.Desire.turnLeft, log.Desire.keepLeft), + (make_car(vEgo=5, rightBlinker=True, steeringPressed=True, steeringTorque=-1), 'slightRight', log.Desire.turnRight, log.Desire.keepRight), (make_car(vEgo=9, leftBlinker=True), 'slightLeft', log.Desire.laneChangeLeft, log.Desire.laneChangeLeft), (make_car(vEgo=9, rightBlinker=True), 'slightRight', log.Desire.laneChangeRight, log.Desire.laneChangeRight), (make_car(vEgo=9), 'none', log.Desire.none, log.Desire.none),