summaryrefslogtreecommitdiff
path: root/wasp/drivers/signal.py
diff options
context:
space:
mode:
Diffstat (limited to 'wasp/drivers/signal.py')
-rw-r--r--wasp/drivers/signal.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/wasp/drivers/signal.py b/wasp/drivers/signal.py
index 974adb5..b72a218 100644
--- a/wasp/drivers/signal.py
+++ b/wasp/drivers/signal.py
@@ -1,26 +1,46 @@
# SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson
+"""Inverting pin wrapper
+~~~~~~~~~~~~~~~~~~~~~~~~
+"""
+
class Signal(object):
- '''Simplified Signal class
+ """Simplified Signal class
+
+ .. note::
- Note: The normal C implementation isn't working for the NRF port
- '''
+ The normal C implementation of the Signal class used by MicroPython
+ doesn't work on the nRF family. This class provides a temporary
+ workaround until that can be addressed.
+
+ .. automethod:: __init__
+ """
def __init__(self, pin, invert=False):
+ """Create a Signal object by wrapping a pin."""
self.pin = pin
self.invert = invert
def __call__(self, v=None):
+ """Shortcut for :py:meth:`.value`"""
return self.value(v)
def value(self, v=None):
+ """Get or set the state of the signal.
+
+ :param v: Value to set, defaults to None (which means get the signal
+ state instead.
+ :returns: The state of the signal if v is None, otherwise None.
+ """
if v == None:
return self.invert ^ self.pin.value()
self.pin.value(self.invert ^ bool(v))
def on(self):
+ """Activate the signal."""
self.value(1)
def off(self):
+ """Deactivate the signal."""
self.value(0)