kopia lustrzana https://github.com/peterhinch/micropython-samples
rodzic
ccce715584
commit
8bb0303837
|
@ -14,8 +14,8 @@ class Encoder:
|
||||||
self.pin_a = pin_a
|
self.pin_a = pin_a
|
||||||
self.pin_b = pin_b
|
self.pin_b = pin_b
|
||||||
self._pos = 0
|
self._pos = 0
|
||||||
self.a_interrupt = pyb.ExtInt(pin_a, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.a_callback)
|
pyb.ExtInt(pin_a, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.a_callback)
|
||||||
self.b_interrupt = pyb.ExtInt(pin_b, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.b_callback)
|
pyb.ExtInt(pin_b, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.b_callback)
|
||||||
|
|
||||||
def a_callback(self, line):
|
def a_callback(self, line):
|
||||||
self.forward = self.pin_a.value() ^ self.pin_b.value() ^ self.reverse
|
self.forward = self.pin_a.value() ^ self.pin_b.value() ^ self.reverse
|
||||||
|
|
|
@ -16,11 +16,11 @@ class Encoder:
|
||||||
self.pin_b = pin_b
|
self.pin_b = pin_b
|
||||||
self._pos = 0
|
self._pos = 0
|
||||||
try:
|
try:
|
||||||
self.a_interrupt = pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
||||||
self.b_interrupt = pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
self.a_interrupt = pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
||||||
self.b_interrupt = pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
||||||
|
|
||||||
def a_callback(self, pin):
|
def a_callback(self, pin):
|
||||||
self._pos += 1 if (pin() ^ self.pin_b()) else -1
|
self._pos += 1 if (pin() ^ self.pin_b()) else -1
|
||||||
|
|
|
@ -17,11 +17,11 @@ class EncoderTimed:
|
||||||
self.pin_b = pin_b
|
self.pin_b = pin_b
|
||||||
self._pos = 0
|
self._pos = 0
|
||||||
try:
|
try:
|
||||||
self.a_interrupt = pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
||||||
self.b_interrupt = pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
self.a_interrupt = pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
pin_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
||||||
self.b_interrupt = pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
||||||
|
|
||||||
def a_callback(self, pin):
|
def a_callback(self, pin):
|
||||||
self.forward = pin() ^ self.pin_b()
|
self.forward = pin() ^ self.pin_b()
|
||||||
|
|
Ładowanie…
Reference in New Issue