diff --git a/modules/py_frozen/presto.py b/modules/py_frozen/presto.py index d307bb9..0335303 100644 --- a/modules/py_frozen/presto.py +++ b/modules/py_frozen/presto.py @@ -5,12 +5,27 @@ from ezwifi import EzWiFi from collections import namedtuple +from machine import Pin, PWM from picographics import PicoGraphics, DISPLAY_PRESTO, DISPLAY_PRESTO_FULL_RES Touch = namedtuple("touch", ("x", "y", "touched")) +class Buzzer: + def __init__(self, pin): + self.pwm = PWM(Pin(pin)) + + def set_tone(self, freq, duty=0.5): + if freq < 50.0: # uh... https://github.com/micropython/micropython/blob/af64c2ddbd758ab6bac0fcca94c66d89046663be/ports/rp2/machine_pwm.c#L105-L119 + self.pwm.duty_u16(0) + return False + + self.pwm.freq(freq) + self.pwm.duty_u16(int(65535 * duty)) + return True + + class Presto(): NUM_LEDS = 7 LED_PIN = 33