changeset 2025:1241e61fcf74

old math bug where KC was sending to collector as fast as it could (100fps) Ignore-this: 4541336057ab4c892c79d648f46c6f43
author drewp@bigasterisk.com
date Tue, 11 Jun 2019 01:32:58 +0000
parents 8a8f633e8ccb
children 590f516179a0
files bin/keyboardcomposer light9/subclient.py
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/bin/keyboardcomposer	Tue Jun 11 00:25:36 2019 +0000
+++ b/bin/keyboardcomposer	Tue Jun 11 01:32:58 2019 +0000
@@ -236,7 +236,7 @@
         self.codeWatcher = CodeWatcher(
             onChange=lambda: self.graph.addHandler(self.redraw_sliders))
 
-        self.send_levels_loop(delay=.05)
+        self.send_levels_loop(periodSec=.05)
         self.graph.addHandler(self.rowFromGraph)
 
     def make_buttons(self):
--- a/light9/subclient.py	Tue Jun 11 00:25:36 2019 +0000
+++ b/light9/subclient.py	Tue Jun 11 01:32:58 2019 +0000
@@ -21,20 +21,16 @@
         """Subclasses must implement this method and return a Submaster
         object."""
 
-    def send_levels(self):
-        self._send_sub()
-
-    def send_levels_loop(self, delay=1000) -> None:
-        now = time.time()
+    def send_levels_loop(self, periodSec=1.) -> None:
+        sendStartTime = time.time()
 
         def done(sec):
-            reactor.callLater(max(0,
-                                  time.time() - (now + delay)),
-                              self.send_levels_loop)
+            delay = max(0, (sendStartTime + periodSec) - time.time())
+            reactor.callLater(delay, self.send_levels_loop, periodSec)
 
         def err(e):
             log.warn('subclient loop: %r', e)
-            reactor.callLater(2, self.send_levels_loop)
+            reactor.callLater(2, self.send_levels_loop, periodSec)
 
         d = self._send_sub()
         d.addCallbacks(done, err)