2017-03-02 05:09:16 +00:00
|
|
|
# test machine.Signal class
|
|
|
|
|
|
|
|
try:
|
|
|
|
import umachine as machine
|
|
|
|
except ImportError:
|
|
|
|
import machine
|
|
|
|
try:
|
|
|
|
machine.PinBase
|
|
|
|
machine.Signal
|
|
|
|
except AttributeError:
|
|
|
|
print("SKIP")
|
2017-06-10 18:14:16 +01:00
|
|
|
raise SystemExit
|
2017-03-02 05:09:16 +00:00
|
|
|
|
|
|
|
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()
|
2017-04-12 04:00:40 +01:00
|
|
|
s = machine.Signal(p, invert=True)
|
2017-03-02 05:09:16 +00:00
|
|
|
s.off()
|
|
|
|
print(p.value(), s.value())
|
|
|
|
s.on()
|
|
|
|
print(p.value(), s.value())
|