machine_signal.py 693 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # test machine.Signal class
  2. try:
  3. import umachine as machine
  4. except ImportError:
  5. import machine
  6. try:
  7. machine.PinBase
  8. machine.Signal
  9. except AttributeError:
  10. print("SKIP")
  11. raise SystemExit
  12. class Pin(machine.PinBase):
  13. def __init__(self):
  14. self.v = 0
  15. def value(self, v=None):
  16. if v is None:
  17. return self.v
  18. else:
  19. self.v = int(v)
  20. # test non-inverted
  21. p = Pin()
  22. s = machine.Signal(p)
  23. s.value(0)
  24. print(p.value(), s.value())
  25. s.value(1)
  26. print(p.value(), s.value())
  27. # test inverted, and using on/off methods
  28. p = Pin()
  29. s = machine.Signal(p, invert=True)
  30. s.off()
  31. print(p.value(), s.value())
  32. s.on()
  33. print(p.value(), s.value())