diff --git a/encoders/ENCODERS.md b/encoders/ENCODERS.md index 097bb0e..28f9555 100644 --- a/encoders/ENCODERS.md +++ b/encoders/ENCODERS.md @@ -38,25 +38,25 @@ read the following notes as there are potential issues. from machine import Pin class Encoder: - def __init__(self, pin_x, pin_y, scale=1): + def __init__(self, pin_a, pin_b, scale=1): self.scale = scale self.forward = True - self.pin_x = pin_x - self.pin_y = pin_y + self.pin_a = pin_a + self.pin_b = pin_b self._pos = 0 try: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback, hard=True) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback, hard=True) + 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) except TypeError: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback) + 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) def x_callback(self, pin): - self.forward = pin() ^ self.pin_y() + self.forward = pin() ^ self.pin_b() self._pos += 1 if self.forward else -1 def y_callback(self, pin): - self.forward = self.pin_x() ^ pin() ^ 1 + self.forward = self.pin_a() ^ pin() ^ 1 self._pos += 1 if self.forward else -1 def position(self, value=None): diff --git a/encoders/encoder.py b/encoders/encoder.py index 9f8da70..52bccfa 100644 --- a/encoders/encoder.py +++ b/encoders/encoder.py @@ -6,22 +6,22 @@ import pyb class Encoder: - def __init__(self, pin_x, pin_y, reverse, scale): + def __init__(self, pin_a, pin_b, reverse, scale): self.reverse = reverse self.scale = scale self.forward = True - self.pin_x = pin_x - self.pin_y = pin_y + self.pin_a = pin_a + self.pin_b = pin_b self._pos = 0 - self.x_interrupt = pyb.ExtInt(pin_x, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.x_callback) - self.y_interrupt = pyb.ExtInt(pin_y, pyb.ExtInt.IRQ_RISING_FALLING, pyb.Pin.PULL_NONE, self.y_callback) + 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) def x_callback(self, line): - self.forward = self.pin_x.value() ^ self.pin_y.value() ^ self.reverse + self.forward = self.pin_a.value() ^ self.pin_b.value() ^ self.reverse self._pos += 1 if self.forward else -1 def y_callback(self, line): - self.forward = self.pin_x.value() ^ self.pin_y.value() ^ self.reverse ^ 1 + self.forward = self.pin_a.value() ^ self.pin_b.value() ^ self.reverse ^ 1 self._pos += 1 if self.forward else -1 def position(self): diff --git a/encoders/encoder_portable.py b/encoders/encoder_portable.py index 525ca42..e7526fe 100644 --- a/encoders/encoder_portable.py +++ b/encoders/encoder_portable.py @@ -9,25 +9,25 @@ from machine import Pin class Encoder: - def __init__(self, pin_x, pin_y, scale=1): + def __init__(self, pin_a, pin_b, scale=1): self.scale = scale self.forward = True - self.pin_x = pin_x - self.pin_y = pin_y + self.pin_a = pin_a + self.pin_b = pin_b self._pos = 0 try: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback, hard=True) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback, hard=True) + 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) except TypeError: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback) + 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) def x_callback(self, pin): - self.forward = pin() ^ self.pin_y() + self.forward = pin() ^ self.pin_b() self._pos += 1 if self.forward else -1 def y_callback(self, pin): - self.forward = self.pin_x() ^ pin() ^ 1 + self.forward = self.pin_a() ^ pin() ^ 1 self._pos += 1 if self.forward else -1 def position(self, value=None): diff --git a/encoders/encoder_timed.py b/encoders/encoder_timed.py index 8095ae3..89018c6 100644 --- a/encoders/encoder_timed.py +++ b/encoders/encoder_timed.py @@ -7,29 +7,29 @@ import utime from machine import Pin, disable_irq, enable_irq class EncoderTimed: - def __init__(self, pin_x, pin_y, scale=1): + def __init__(self, pin_a, pin_b, scale=1): self.scale = scale # Optionally scale encoder rate to distance/angle self.tprev = 0 self.tlast = 0 self.forward = True - self.pin_x = pin_x - self.pin_y = pin_y + self.pin_a = pin_a + self.pin_b = pin_b self._pos = 0 try: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback, hard=True) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback, hard=True) + 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) except TypeError: - self.x_interrupt = pin_x.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.x_callback) - self.y_interrupt = pin_y.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=self.y_callback) + 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) def x_callback(self, line): - self.forward = self.pin_x.value() ^ self.pin_y.value() + self.forward = self.pin_a.value() ^ self.pin_b.value() self._pos += 1 if self.forward else -1 self.tprev = self.tlast self.tlast = utime.ticks_us() def y_callback(self, line): - self.forward = self.pin_x.value() ^ self.pin_y.value() ^ 1 + self.forward = self.pin_a.value() ^ self.pin_b.value() ^ 1 self._pos += 1 if self.forward else -1 self.tprev = self.tlast self.tlast = utime.ticks_us()