Add Pico buzzer abstraction

This commit is contained in:
2026-06-03 02:47:48 -06:00
parent c3ebaf6beb
commit 2c7b090cfb
2 changed files with 66 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
class Buzzer:
def __init__(self, pin=None):
self.pin = pin
self.enabled = False
self.pattern = None
def on(self):
self.enabled = True
if self.pin:
self.pin.value(1)
def off(self):
self.enabled = False
self.pattern = None
if self.pin:
self.pin.value(0)
def set_pattern(self, pattern):
self.pattern = pattern
self.enabled = pattern is not None
def update_from_alarm_view(self, alarm_view):
if alarm_view.should_buzz():
self.set_pattern("critical")
else:
self.off()