From 74f0f42d2fb0a44c48bd50424e8256e348273fe0 Mon Sep 17 00:00:00 2001 From: Konstantin Lampalzer Date: Sun, 5 Sep 2021 11:11:53 +0100 Subject: [PATCH] Fixed encoder overflow --- compLib/Encoder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compLib/Encoder.py b/compLib/Encoder.py index ae9c1a7..3ede960 100644 --- a/compLib/Encoder.py +++ b/compLib/Encoder.py @@ -44,7 +44,11 @@ class Encoder(object): if port <= 0 or port > MOTOR_COUNT: raise IndexError("Invalid encoder port specified!") - return Encoder.read_raw(port) - encoder_start_values[port] + diff = Encoder.read_raw(port) - encoder_start_values[port] + if diff > 2 ** 31: + diff -= 2 ** 32 + + return diff @staticmethod def clear(port: int):