41 lines
704 B
Python
41 lines
704 B
Python
|
# 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())
|