This commit is contained in:
Jason Wen
2025-06-05 02:00:34 -04:00
parent 4b5cd3eef2
commit 36e910d500
@@ -66,7 +66,7 @@ class SpeedLimitController:
self._v_cruise_prev_rounded = 0.
self._speed_limit_offsetted_rounded = 0.
self._speed_limit_warning_offsetted_rounded = 0.
self._ms_to_local = CV.MS_TO_KPH if self._is_metric else CV.MS_TO_MPH
self._speed_factor = CV.MS_TO_KPH if self._is_metric else CV.MS_TO_MPH
# Mapping functions to state transitions
self.state_transition_strategy = {
@@ -160,7 +160,7 @@ class SpeedLimitController:
self._warning_offset_value = self._read_int_param("SpeedLimitWarningValueOffset")
self._policy = self._read_policy_param()
self._is_metric = self._params.get_bool("IsMetric")
self._ms_to_local = CV.MS_TO_KPH if self._is_metric else CV.MS_TO_MPH
self._speed_factor = CV.MS_TO_KPH if self._is_metric else CV.MS_TO_MPH
self._resolver.change_policy(self._policy)
self._engage_type = self._read_engage_type_param()
@@ -208,11 +208,11 @@ class SpeedLimitController:
self._op_enabled_prev = self._op_enabled
self._brake_pressed_prev = self._brake_pressed
self._v_cruise_rounded = int(round(self._v_cruise_setpoint * self._ms_to_local))
self._v_cruise_prev_rounded = int(round(self._v_cruise_setpoint_prev * self._ms_to_local))
self._speed_limit_offsetted_rounded = 0 if self._speed_limit == 0 else int(round((self._speed_limit + self.speed_limit_offset) * self._ms_to_local))
self._v_cruise_rounded = int(round(self._v_cruise_setpoint * self._speed_factor))
self._v_cruise_prev_rounded = int(round(self._v_cruise_setpoint_prev * self._speed_factor))
self._speed_limit_offsetted_rounded = 0 if self._speed_limit == 0 else int(round((self._speed_limit + self.speed_limit_offset) * self._speed_factor))
self._speed_limit_warning_offsetted_rounded = 0 if self._speed_limit == 0 else \
int(round((self._speed_limit + self.speed_limit_warning_offset) * self._ms_to_local))
int(round((self._speed_limit + self.speed_limit_warning_offset) * self._speed_factor))
def transition_state_from_inactive(self) -> None:
""" Make state transition from inactive state """
@@ -311,7 +311,7 @@ class SpeedLimitController:
def _update_events(self, events_sp: EventsSP) -> None:
if self._speed_limit > 0 and self._warning_type == 2 and \
self._speed_limit_warning_offsetted_rounded < int(round(self._v_ego * self._ms_to_local)):
self._speed_limit_warning_offsetted_rounded < int(round(self._v_ego * self._speed_factor)):
events_sp.add(EventNameSP.speedLimitPreActive)
if not self.is_active: