class ModeManager(object): def __init__(self, *args, **kwargs): self.bb = BlinkyTape('/dev/ttyACM0') def render(self, colors): self.bb.send_list(colors) def run_mode(self, mode): while True: start = time.time() mode.calc_next_step() self.render(mode.get_colors()) if not mode.no_sleep: time.sleep(1.0/mode.fps) diff = time.time() - start sys.stdout.write("%.02f fps \r" % (1.0/diff))
class ModeManager(object): def __init__(self, device='/dev/ttyACM0', *args, **kwargs): self.bb = BlinkyTape(device) def render(self, colors): self.bb.send_list(colors) def run_mode(self, mode): while True: start = time.time() mode.calc_next_step() self.render(mode.get_colors()) if not mode.no_sleep: renderTime = time.time() - start sleepTime = 1.0 / mode.fps - renderTime if sleepTime >= 0.0: time.sleep(sleepTime) diff = time.time() - start sys.stdout.write("%.02f fps \r" % (1.0 / diff))
def display(): current_red_led_count=0 leds = getLedColourList(current_red_led_count) if not TEST: bb = BlinkyTape('/dev/ttyACM0') logging.info('Starting thread') while True: red_led_count = calculateRedLeds(statuses) # do stuff if (current_red_led_count != red_led_count): current_red_led_count = red_led_count logging.info('Change to number of red lights: %s', current_red_led_count) logging.debug('statuses: %s', statuses) leds = getLedColourList(current_red_led_count) else: animate(leds) if not TEST: bb.send_list(leds) time.sleep(0.1)