diff --git a/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_assist.py b/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_assist.py index 710d634ec6..11e506702c 100644 --- a/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_assist.py +++ b/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_assist.py @@ -138,14 +138,13 @@ class SpeedLimitAssist: return self.v_offset / float(ModelConstants.T_IDXS[CONTROL_N]) def _update_pcm_op_long_state(self): - if self.initial_max_set_confirmed(): - if self._speed_limit > 0: - if self.v_offset < LIMIT_SPEED_OFFSET_TH: - self.state = SpeedLimitAssistState.adapting - else: - self.state = SpeedLimitAssistState.active + if self._speed_limit > 0: + if self.v_offset < LIMIT_SPEED_OFFSET_TH: + self.state = SpeedLimitAssistState.adapting else: - self.state = SpeedLimitAssistState.pending + self.state = SpeedLimitAssistState.active + else: + self.state = SpeedLimitAssistState.pending def update_state_machine(self): self._state_prev = self.state @@ -183,7 +182,7 @@ class SpeedLimitAssist: # PRE_ACTIVE elif self.state == SpeedLimitAssistState.preActive: - if self.pcm_op_long: + if self.initial_max_set_confirmed(): self._update_pcm_op_long_state() elif self.pre_active_timer <= PRE_ACTIVE_GUARD_PERIOD: # Timeout - session ended @@ -201,7 +200,7 @@ class SpeedLimitAssist: self.long_engaged_timer = int(DISABLED_GUARD_PERIOD / DT_MDL) elif self.long_engaged_timer <= 0: - if self.pcm_op_long: + if self.initial_max_set_confirmed(): self._update_pcm_op_long_state() else: self.state = SpeedLimitAssistState.preActive