Encoders: yapf formatting

pull/23/head
IhorNehrutsa 2021-10-08 02:40:04 +03:00
rodzic 52eeb2220c
commit 0e08c73c17
3 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -5,6 +5,7 @@
import pyb
class Encoder:
def __init__(self, pin_a, pin_b, reverse=0, scale=1):
self.reverse = reverse
@ -27,7 +28,7 @@ class Encoder:
def position(self, value=None):
if value is not None:
self._pos = round(value / self.scale)
return self._pos*self.scale
return self._pos * self.scale
def value(self):
return self._pos

Wyświetl plik

@ -8,6 +8,7 @@
from machine import Pin
class Encoder:
def __init__(self, pin_a, pin_b, scale=1):
self.scale = scale # Optionally scale encoder rate to distance/angle

Wyświetl plik

@ -6,6 +6,7 @@
import utime
from machine import Pin, disable_irq, enable_irq
class EncoderTimed:
def __init__(self, pin_a, pin_b, scale=1):
self.scale = scale # Optionally scale encoder rate to distance/angle
@ -39,11 +40,11 @@ class EncoderTimed:
tlast = self.tlast # Cache current values
tprev = self.tprev
enable_irq(state)
if utime.ticks_diff(utime.ticks_us(), tlast) > 2_000_000: # It's stopped
if utime.ticks_diff(utime.ticks_us(), tlast) > 2_000_000: # It's stopped
result = 0.0
else:
try:
result = 1000000.0/(utime.ticks_diff(tlast, tprev))
result = 1000000.0 / (utime.ticks_diff(tlast, tprev))
except ZeroDivisionError:
result = 0.0
result *= self.scale