Files
github-actions[bot] f8e13417f2 sunnypilot v2026.003.000 release
date: 2026-08-15T14:20:10
master commit: d48cfa730bf21593b684efeaf3fd8940695e1dea
2026-08-15 14:20:16 +08:00

41 lines
1.1 KiB
Python

"""
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
This file is part of sunnypilot and is licensed under the MIT License.
See the LICENSE.md file in the root directory for more details.
"""
from opendbc.car.structs import car
from openpilot.common.params import Params
AudibleAlert = car.CarControl.HUDControl.AudibleAlert
ALERTS_ALWAYS_PLAY = {
AudibleAlert.warningSoft,
AudibleAlert.warningImmediate,
AudibleAlert.promptDistracted,
AudibleAlert.promptRepeat,
}
class QuietMode:
def __init__(self):
self.params = Params()
self.enabled: bool = self.params.get_bool("QuietMode")
self._frame = 0
def load_param(self) -> None:
self._frame += 1
if self._frame % 50 == 0: # 2.5 seconds
self.enabled = self.params.get_bool("QuietMode")
def should_play_sound(self, current_alert: int) -> bool:
"""
Check if a sound should be played based on the Quiet Mode setting
and the current alert.
"""
if not self.enabled:
return bool(current_alert != AudibleAlert.none)
return current_alert in ALERTS_ALWAYS_PLAY