# HG changeset patch # User drewp@bigasterisk.com # Date 2019-06-11 01:32:58 # Node ID 1241e61fcf747f119d86264435f33edc9d6903c3 # Parent 8a8f633e8ccb5ce78542200e1a40fe0f00558565 old math bug where KC was sending to collector as fast as it could (100fps) Ignore-this: 4541336057ab4c892c79d648f46c6f43 diff --git a/bin/keyboardcomposer b/bin/keyboardcomposer --- a/bin/keyboardcomposer +++ b/bin/keyboardcomposer @@ -236,7 +236,7 @@ class KeyboardComposer(tk.Frame, SubClie 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): diff --git a/light9/subclient.py b/light9/subclient.py --- a/light9/subclient.py +++ b/light9/subclient.py @@ -21,20 +21,16 @@ class SubClient: """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)