1 """PWMOut Class for Pico u2if"""
2 from .pico_u2if import pico_u2if
6 """Pulse Width Modulation Output Class"""
8 def __init__(self, pin, *, frequency=500, duty_cycle=0, variable_frequency=False):
9 pico_u2if.pwm_configure(
12 duty_cycle=duty_cycle,
13 variable_frequency=variable_frequency,
24 def __exit__(self, t, value, traceback):
29 pico_u2if.pwm_deinit(self._pin)
33 """The PWM's output duty cycle, 16-bit."""
34 return pico_u2if.pwm_get_duty_cycle(self._pin)
37 def duty_cycle(self, duty_cycle):
38 pico_u2if.pwm_set_duty_cycle(self._pin, duty_cycle)
42 """The PWM's output frequency in Hertz."""
43 return pico_u2if.pwm_get_frequency(self._pin)
46 def frequency(self, frequency):
47 pico_u2if.pwm_set_frequency(self._pin, frequency)