From 388034195ef1d35b61a78fb6cbfc9eb3f17a51b8 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Mon, 6 Dec 2021 09:57:41 +0000 Subject: [PATCH] Encoders: allow value to be set. --- encoders/encoder.py | 4 +++- encoders/encoder_portable.py | 4 +++- encoders/encoder_timed.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/encoders/encoder.py b/encoders/encoder.py index 637ded8..0b19e3c 100644 --- a/encoders/encoder.py +++ b/encoders/encoder.py @@ -32,5 +32,7 @@ class Encoder: def reset(self): self._pos = 0 - def value(self): + def value(self, value=None): + if value is not None: + self._pos = value return self._pos diff --git a/encoders/encoder_portable.py b/encoders/encoder_portable.py index 4e79b4e..c538d4d 100644 --- a/encoders/encoder_portable.py +++ b/encoders/encoder_portable.py @@ -35,5 +35,7 @@ class Encoder: self._pos = round(value / self.scale) # # Improvement provided by @IhorNehrutsa return self._pos * self.scale - def value(self): + def value(self, value=None): + if value is not None: + self._pos = value return self._pos diff --git a/encoders/encoder_timed.py b/encoders/encoder_timed.py index 2bba6c4..56c220e 100644 --- a/encoders/encoder_timed.py +++ b/encoders/encoder_timed.py @@ -59,5 +59,7 @@ class EncoderTimed: def reset(self): self._pos = 0 - def value(self): + def value(self, value=None): + if value is not None: + self._pos = value return self._pos