drivers: signal: Finalize docstrings

This commit is contained in:
Daniel Thompson 2020-05-14 21:39:14 +01:00
parent 880083977c
commit 9274d8cc2d
2 changed files with 27 additions and 5 deletions

View file

@ -3,6 +3,9 @@
WASP Reference Manual WASP Reference Manual
===================== =====================
.. contents::
:local:
System management System management
----------------- -----------------
@ -47,7 +50,6 @@ Device drivers
.. automodule:: drivers.signal .. automodule:: drivers.signal
:members: :members:
:undoc-members:
.. automodule:: drivers.st7789 .. automodule:: drivers.st7789
:members: :members:

View file

@ -1,26 +1,46 @@
# SPDX-License-Identifier: LGPL-3.0-or-later # SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson # Copyright (C) 2020 Daniel Thompson
class Signal(object): """Inverting pin wrapper
'''Simplified Signal class ~~~~~~~~~~~~~~~~~~~~~~~~
"""
Note: The normal C implementation isn't working for the NRF port class Signal(object):
''' """Simplified Signal class
.. note::
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): def __init__(self, pin, invert=False):
"""Create a Signal object by wrapping a pin."""
self.pin = pin self.pin = pin
self.invert = invert self.invert = invert
def __call__(self, v=None): def __call__(self, v=None):
"""Shortcut for :py:meth:`.value`"""
return self.value(v) return self.value(v)
def value(self, v=None): 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: if v == None:
return self.invert ^ self.pin.value() return self.invert ^ self.pin.value()
self.pin.value(self.invert ^ bool(v)) self.pin.value(self.invert ^ bool(v))
def on(self): def on(self):
"""Activate the signal."""
self.value(1) self.value(1)
def off(self): def off(self):
"""Deactivate the signal."""
self.value(0) self.value(0)