summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/wasp.rst1
-rw-r--r--wasp/drivers/vibrator.py20
2 files changed, 18 insertions, 3 deletions
diff --git a/docs/wasp.rst b/docs/wasp.rst
index 3c3d77e..991950b 100644
--- a/docs/wasp.rst
+++ b/docs/wasp.rst
@@ -56,7 +56,6 @@ Device drivers
.. automodule:: drivers.vibrator
:members:
- :undoc-members:
Libraries
---------
diff --git a/wasp/drivers/vibrator.py b/wasp/drivers/vibrator.py
index 359e738..bf002b5 100644
--- a/wasp/drivers/vibrator.py
+++ b/wasp/drivers/vibrator.py
@@ -1,13 +1,25 @@
# SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson
-# Generic PWM capable vibrator
+"""Generic PWM capable vibration motor driver
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"""
import time
from machine import PWM
class Vibrator(object):
+ """Vibration motor driver.
+
+ .. automethod:: __init__
+ """
def __init__(self, pin, active_low=False):
+ """Specify the pin and configuration used to operate the motor.
+
+ :param machine.Pin pin: The PWM-capable pin used to driver the
+ vibration motor.
+ :param bool active_low: Invert the resting state of the motor.
+ """
pin.value(active_low)
self.pin = pin
self.freq = PWM.FREQ_16MHZ
@@ -15,9 +27,13 @@ class Vibrator(object):
self.active_low = active_low
def pulse(self, duty=25, ms=40):
+ """Briefly pulse the motor.
+
+ :param int duty: Duty cycle, in percent.
+ :param int ms: Duration, in milliseconds.
+ """
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)
-