summaryrefslogtreecommitdiff
path: root/wasp/drivers/vibrator.py
blob: 359e7388dd8b87ce48de0b9d061606a242576734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson

# Generic PWM capable vibrator

import time
from machine import PWM

class Vibrator(object):
    def __init__(self, pin, active_low=False):
        pin.value(active_low)
        self.pin = pin
        self.freq = PWM.FREQ_16MHZ
        self.period = 16000
        self.active_low = active_low

    def pulse(self, duty=25, ms=40):
        pwm = PWM(0, self.pin, freq=self.freq, duty=duty, period=self.period)
        pwm.init()
        time.sleep_ms(ms)
        pwm.deinit()
        self.pin.value(self.active_low)