diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 9e70f8a..a9ab215 100644 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -932,7 +932,7 @@ class Controls: self.events.add(EventName.openpilotCrashed) self.openpilot_crashed_triggered = True - if self.frogpilot_toggles.speed_limit_confirmation: + if self.frogpilot_toggles.speed_limit_alert or self.frogpilot_toggles.speed_limit_confirmation: current_speed_limit = self.sm['frogpilotPlan'].slcSpeedLimit desired_speed_limit = self.sm['frogpilotPlan'].unconfirmedSlcSpeedLimit @@ -966,6 +966,9 @@ class Controls: self.FPCC.speedLimitChanged = False self.params_memory.put_bool("SLCConfirmedPressed", False) + if (speed_limit_changed_lower or speed_limit_changed_higher) and self.frogpilot_toggles.speed_limit_alert: + self.events.add(EventName.speedLimitChanged) + if self.FPCC.speedLimitChanged: self.speed_limit_timer += DT_CTRL if self.speed_limit_timer >= 10: diff --git a/selfdrive/controls/lib/events.py b/selfdrive/controls/lib/events.py index e000772..da3cc7f 100755 --- a/selfdrive/controls/lib/events.py +++ b/selfdrive/controls/lib/events.py @@ -1010,6 +1010,14 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = { Priority.HIGH, VisualAlert.wrongGear, AudibleAlert.promptRepeat, 4.), }, + EventName.speedLimitChanged: { + ET.PERMANENT: Alert( + "Speed Limit Changed", + "", + AlertStatus.frogpilot, AlertSize.small, + Priority.LOW, VisualAlert.none, AudibleAlert.prompt, 3.), + }, + EventName.torqueNNLoad: { ET.PERMANENT: torque_nn_load_alert, },