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_b = pin_b
|
||||
self._pos = 0
|
||||
self.a_interrupt = 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_a, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.a_callback)
|
||||
pyb.ExtInt(pin_b, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.b_callback)
|
||||
|
||||
def a_callback(self, line):
|
||||
self.forward = self.pin_a.value() ^ self.pin_b.value() ^ self.reverse
|
||||
|
|
|
@ -16,11 +16,11 @@ class Encoder:
|
|||
self.pin_b = pin_b
|
||||
self._pos = 0
|
||||
try:
|
||||
self.a_interrupt = 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_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
||||
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
||||
except TypeError:
|
||||
self.a_interrupt = 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_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
||||
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
||||
|
||||
def a_callback(self, pin):
|
||||
self._pos += 1 if (pin() ^ self.pin_b()) else -1
|
||||
|
|
|
@ -17,11 +17,11 @@ class EncoderTimed:
|
|||
self.pin_b = pin_b
|
||||
self._pos = 0
|
||||
try:
|
||||
self.a_interrupt = 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_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback, hard=True)
|
||||
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback, hard=True)
|
||||
except TypeError:
|
||||
self.a_interrupt = 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_a.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.a_callback)
|
||||
pin_b.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.b_callback)
|
||||
|
||||
def a_callback(self, pin):
|
||||
self.forward = pin() ^ self.pin_b()
|
||||
|
|
Ładowanie…
Reference in New Issue