Mercurial > code > home > repos > light9
view light9/subclient.py @ 1127:b0b9b4616e16
try serial writing in other thread(s)
Ignore-this: ec59a76e9afcaf530d68aa245991b89a
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Fri, 13 Jun 2014 08:04:07 +0000 |
parents | caeaa88430b8 |
children | 9a86ed1886db |
line wrap: on
line source
from light9 import dmxclient from light9.Submaster import Submaster # later, this stuff will talk to a SubServer class SubClient: def __init__(self): """assumed that your init saves self.graph""" pass # we may later need init code for network setup def get_levels_as_sub(self): """Subclasses must implement this method and return a Submaster object.""" def get_dmx_list(self): maxes = self.get_levels_as_sub() return maxes.get_dmx_list() def send_sub(self, sub): levels = sub.get_dmx_list() dmxclient.outputlevels(levels) def send_levels(self): self.graph.addHandler(self._send_levels_handler) def _send_levels_handler(self): levels = self.get_dmx_list() dmxclient.outputlevels(levels) def send_levels_loop(self, delay=1000): """This function assumes that we are an instance of a Tk object (or at least that we have an 'after' method)""" self.graph.addHandler(self.send_levels) self.after(delay, self.send_levels_loop, delay) def send_zeroes(self): self.send_sub(Submaster('empty', {}, temporary=1))