aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2023-12-04 14:01:12 -0500
committerKevin O'Connor <kevin@koconnor.net>2023-12-10 14:59:13 -0500
commitc5bd813d8b2199b3a1c08d1e29ac0a97d49e3ff8 (patch)
treedfde545f58f7ad3446492c7518fe3306ee50d6bd
parent62bf52bfcf1aab6d97236c3945320d790774ad92 (diff)
downloadkutter-c5bd813d8b2199b3a1c08d1e29ac0a97d49e3ff8.tar.gz
kutter-c5bd813d8b2199b3a1c08d1e29ac0a97d49e3ff8.tar.xz
kutter-c5bd813d8b2199b3a1c08d1e29ac0a97d49e3ff8.zip
clocksync: Simplify 32bit clock upconversion code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/clocksync.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/klippy/clocksync.py b/klippy/clocksync.py
index f32ed3cd..80ed9db6 100644
--- a/klippy/clocksync.py
+++ b/klippy/clocksync.py
@@ -66,10 +66,8 @@ class ClockSync:
self.queries_pending = 0
# Extend clock to 64bit
last_clock = self.last_clock
- clock = (last_clock & ~0xffffffff) | params['clock']
- if clock < last_clock:
- clock += 0x100000000
- self.last_clock = clock
+ clock_delta = (params['clock'] - last_clock) & 0xffffffff
+ self.last_clock = clock = last_clock + clock_delta
# Check if this is the best round-trip-time seen so far
sent_time = params['#sent_time']
if not sent_time:
@@ -138,10 +136,9 @@ class ClockSync:
# misc commands
def clock32_to_clock64(self, clock32):
last_clock = self.last_clock
- clock_diff = (last_clock - clock32) & 0xffffffff
- if clock_diff & 0x80000000:
- return last_clock + 0x100000000 - clock_diff
- return last_clock - clock_diff
+ clock_diff = (clock32 - last_clock) & 0xffffffff
+ clock_diff -= (clock_diff & 0x80000000) << 1
+ return last_clock + clock_diff
def is_active(self):
return self.queries_pending <= 4
def dump_debug(self):