Controls - Quality of Life - Cruise Increase Interval
Set a custom interval to increase the max set speed by.
This commit is contained in:
parent
78638715cd
commit
cf96018f3f
@ -479,7 +479,7 @@ class Controls:
|
|||||||
def state_transition(self, CS):
|
def state_transition(self, CS):
|
||||||
"""Compute conditional state transitions and execute actions on state transitions"""
|
"""Compute conditional state transitions and execute actions on state transitions"""
|
||||||
|
|
||||||
self.v_cruise_helper.update_v_cruise(CS, self.enabled, self.is_metric)
|
self.v_cruise_helper.update_v_cruise(CS, self.enabled, self.is_metric, self.frogpilot_toggles)
|
||||||
|
|
||||||
# decrement the soft disable timer at every step, as it's reset on
|
# decrement the soft disable timer at every step, as it's reset on
|
||||||
# entrance in SOFT_DISABLING state
|
# entrance in SOFT_DISABLING state
|
||||||
|
@ -53,13 +53,13 @@ class VCruiseHelper:
|
|||||||
def v_cruise_initialized(self):
|
def v_cruise_initialized(self):
|
||||||
return self.v_cruise_kph != V_CRUISE_UNSET
|
return self.v_cruise_kph != V_CRUISE_UNSET
|
||||||
|
|
||||||
def update_v_cruise(self, CS, enabled, is_metric):
|
def update_v_cruise(self, CS, enabled, is_metric, frogpilot_variables):
|
||||||
self.v_cruise_kph_last = self.v_cruise_kph
|
self.v_cruise_kph_last = self.v_cruise_kph
|
||||||
|
|
||||||
if CS.cruiseState.available:
|
if CS.cruiseState.available:
|
||||||
if not self.CP.pcmCruise:
|
if not self.CP.pcmCruise:
|
||||||
# if stock cruise is completely disabled, then we can use our own set speed logic
|
# 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._update_v_cruise_non_pcm(CS, enabled, is_metric, frogpilot_variables)
|
||||||
self.v_cruise_cluster_kph = self.v_cruise_kph
|
self.v_cruise_cluster_kph = self.v_cruise_kph
|
||||||
self.update_button_timers(CS, enabled)
|
self.update_button_timers(CS, enabled)
|
||||||
else:
|
else:
|
||||||
@ -69,7 +69,7 @@ class VCruiseHelper:
|
|||||||
self.v_cruise_kph = V_CRUISE_UNSET
|
self.v_cruise_kph = V_CRUISE_UNSET
|
||||||
self.v_cruise_cluster_kph = V_CRUISE_UNSET
|
self.v_cruise_cluster_kph = V_CRUISE_UNSET
|
||||||
|
|
||||||
def _update_v_cruise_non_pcm(self, CS, enabled, is_metric):
|
def _update_v_cruise_non_pcm(self, CS, enabled, is_metric, frogpilot_variables):
|
||||||
# handle button presses. TODO: this should be in state_control, but a decelCruise press
|
# handle button presses. TODO: this should be in state_control, but a decelCruise press
|
||||||
# would have the effect of both enabling and changing speed is checked after the state transition
|
# would have the effect of both enabling and changing speed is checked after the state transition
|
||||||
if not enabled:
|
if not enabled:
|
||||||
@ -105,8 +105,9 @@ class VCruiseHelper:
|
|||||||
if not self.button_change_states[button_type]["enabled"]:
|
if not self.button_change_states[button_type]["enabled"]:
|
||||||
return
|
return
|
||||||
|
|
||||||
v_cruise_delta = v_cruise_delta * (5 if long_press else 1)
|
v_cruise_delta_interval = frogpilot_variables.custom_cruise_increase_long if long_press else frogpilot_variables.custom_cruise_increase
|
||||||
if long_press and self.v_cruise_kph % v_cruise_delta != 0: # partial interval
|
v_cruise_delta = v_cruise_delta * v_cruise_delta_interval
|
||||||
|
if v_cruise_delta_interval % 5 == 0 and self.v_cruise_kph % v_cruise_delta != 0: # partial interval
|
||||||
self.v_cruise_kph = CRUISE_NEAREST_FUNC[button_type](self.v_cruise_kph / v_cruise_delta) * v_cruise_delta
|
self.v_cruise_kph = CRUISE_NEAREST_FUNC[button_type](self.v_cruise_kph / v_cruise_delta) * v_cruise_delta
|
||||||
else:
|
else:
|
||||||
self.v_cruise_kph += v_cruise_delta * CRUISE_INTERVAL_SIGN[button_type]
|
self.v_cruise_kph += v_cruise_delta * CRUISE_INTERVAL_SIGN[button_type]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user