summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/machine_signal.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-03-02 16:09:16 +1100
committerDamien George <damien.p.george@gmail.com>2017-03-02 16:09:16 +1100
commitecc635d551aa8fa5e02d2cb810b929ec92c54c3f (patch)
treedf003438843ce3ecc6192a6f50b0cb074858665b /tests/extmod/machine_signal.py
parentf1ea3bc72b6f12a95736ec9cca8009c84df0d1ab (diff)
downloadmicropython-ecc635d551aa8fa5e02d2cb810b929ec92c54c3f.tar.gz
micropython-ecc635d551aa8fa5e02d2cb810b929ec92c54c3f.zip
tests/extmod: Add test for machine.Signal class.
Diffstat (limited to 'tests/extmod/machine_signal.py')
-rw-r--r--tests/extmod/machine_signal.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/extmod/machine_signal.py b/tests/extmod/machine_signal.py
new file mode 100644
index 0000000000..401533f230
--- /dev/null
+++ b/tests/extmod/machine_signal.py
@@ -0,0 +1,40 @@
+# test machine.Signal class
+
+try:
+ import umachine as machine
+except ImportError:
+ import machine
+try:
+ machine.PinBase
+ machine.Signal
+except AttributeError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+class Pin(machine.PinBase):
+ def __init__(self):
+ self.v = 0
+
+ def value(self, v=None):
+ if v is None:
+ return self.v
+ else:
+ self.v = int(v)
+
+
+# test non-inverted
+p = Pin()
+s = machine.Signal(p)
+s.value(0)
+print(p.value(), s.value())
+s.value(1)
+print(p.value(), s.value())
+
+# test inverted, and using on/off methods
+p = Pin()
+s = machine.Signal(p, inverted=True)
+s.off()
+print(p.value(), s.value())
+s.on()
+print(p.value(), s.value())