        if not self.CP.pcmCruise:
          # if stock cruise is completely disabled, then we can use our own set speed logic
          self._update_v_cruise_non_pcm(CS, enabled, is_metric)
          self.v_cruise_cluster_kph = self.v_cruise_kph
          self.update_button_timers(CS)
        else:
          self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH
          self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH
      else:
        self.v_cruise_kph = V_CRUISE_INITIAL
 
</s> remove   def update_button_timers(self, CS):
 </s> add   def update_button_timers(self, CS, enabled): </s> remove         self.button_change_states[b.type.raw] = {"standstill": CS.cruiseState.standstill}
 </s> add         self.button_change_states[b.type.raw] = {"standstill": CS.cruiseState.standstill, "enabled": enabled} </s> remove     Asserts allowed cruise speeds on enabling with SET
 </s> add     Asserts allowed cruise speeds on enabling with SET.
        self.update_button_timers(CS, enabled)
        if not self.CP.pcmCruise:
          # if stock cruise is completely disabled, then we can use our own set speed logic
          self._update_v_cruise_non_pcm(CS, enabled, is_metric)
          self.v_cruise_cluster_kph = self.v_cruise_kph
        self.update_button_timers(CS, enabled)
        else:
          self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH
          self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH
      else:
        self.v_cruise_kph = V_CRUISE_INITIAL
keep keep keep keep replace keep keep keep keep keep
 controlsd: no speed increment if enabled on button rising edge (#26490)

* don't increment speed if we enabled on rising edge

* more realistic test 
selfdrive/controls/lib/drive_helpers.py