diff options
Diffstat (limited to 'wasp')
| -rw-r--r-- | wasp/drivers/signal.py | 26 |
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) |
