Fixed pause fail in long run due to planner ID wrap around
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 18 Dec 2018 00:17:21 +0000 (16:17 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 18 Dec 2018 00:17:21 +0000 (16:17 -0800)
src/py/bbctrl/CommandQueue.py
src/py/bbctrl/Planner.py

index 25bc6b7898971cac99bccca2135d5e357f5acde9..ee20ee82b5d48540885c39dfcbb72d9b87e37054 100644 (file)
@@ -33,7 +33,7 @@ log.setLevel(logging.WARNING)
 
 
 # 16-bit less with wrap around
-def id_less(a, b): return (1 << 15) < (a - b) % ((1 << 16) - 1)
+def id_less(a, b): return (1 << 15) < (a - b) & ((1 << 16) - 1)
 
 
 class CommandQueue():
index 43407f470a018326cb7673280ace4342fe842f93..fc6e7e9a49e255cd2717a0c6b91686ca1d68aca4 100644 (file)
@@ -270,10 +270,6 @@ class Planner():
 
 
     def _encode(self, block):
-        # Handle id wrapping by restricting ids to 16-bit
-        # See CommandQueue id_less()
-        block['id'] %= (1 << 16) - 1
-
         cmd = self.__encode(block)
 
         if cmd is not None: