diff --git a/tests/extmod/machine_pulse.py b/tests/extmod/machine_pulse.py new file mode 100644 index 000000000..b6e126435 --- /dev/null +++ b/tests/extmod/machine_pulse.py @@ -0,0 +1,54 @@ +try: + import umachine as machine +except ImportError: + import machine +try: + machine.PinBase + machine.time_pulse_us +except AttributeError: + print("SKIP") + import sys + sys.exit() + + +class ConstPin(machine.PinBase): + + def __init__(self, value): + self.v = value + + def value(self, v=None): + if v is None: + return self.v + else: + self.v = v + + +class TogglePin(machine.PinBase): + + def __init__(self): + self.v = 0 + + def value(self, v=None): + if v is None: + self.v = 1 - self.v + print("value:", self.v) + return self.v + + +p = TogglePin() + +t = machine.time_pulse_us(p, 1) +print(type(t)) +t = machine.time_pulse_us(p, 0) +print(type(t)) + +p = ConstPin(0) +try: + machine.time_pulse_us(p, 1, 10) +except OSError: + print("OSError") + +try: + machine.time_pulse_us(p, 0, 10) +except OSError: + print("OSError") diff --git a/tests/extmod/machine_pulse.py.exp b/tests/extmod/machine_pulse.py.exp new file mode 100644 index 000000000..f9a474218 --- /dev/null +++ b/tests/extmod/machine_pulse.py.exp @@ -0,0 +1,9 @@ +value: 1 +value: 0 + +value: 1 +value: 0 +value: 1 + +OSError +OSError