Skip to content

Commit ecc635d

Browse files
committed
tests/extmod: Add test for machine.Signal class.
1 parent f1ea3bc commit ecc635d

2 files changed

Lines changed: 44 additions & 0 deletions

File tree

tests/extmod/machine_signal.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# test machine.Signal class
2+
3+
try:
4+
import umachine as machine
5+
except ImportError:
6+
import machine
7+
try:
8+
machine.PinBase
9+
machine.Signal
10+
except AttributeError:
11+
print("SKIP")
12+
import sys
13+
sys.exit()
14+
15+
class Pin(machine.PinBase):
16+
def __init__(self):
17+
self.v = 0
18+
19+
def value(self, v=None):
20+
if v is None:
21+
return self.v
22+
else:
23+
self.v = int(v)
24+
25+
26+
# test non-inverted
27+
p = Pin()
28+
s = machine.Signal(p)
29+
s.value(0)
30+
print(p.value(), s.value())
31+
s.value(1)
32+
print(p.value(), s.value())
33+
34+
# test inverted, and using on/off methods
35+
p = Pin()
36+
s = machine.Signal(p, inverted=True)
37+
s.off()
38+
print(p.value(), s.value())
39+
s.on()
40+
print(p.value(), s.value())

tests/extmod/machine_signal.py.exp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
0 0
2+
1 1
3+
1 0
4+
0 1

0 commit comments

Comments
 (0)