def stop_show_short_app(): if SnipsMatrix.timer_short_app: SnipsMatrix.timer_short_app.cancel() del SnipsMatrix.timer_short_app SnipsMatrix.timer_short_app = None SnipsMatrix.queue.put( snipsMatrixAction.Clear(DisplayPriority.short_apps))
def stop_show_hardware(): if SnipsMatrix.timer_hardware: SnipsMatrix.timer_hardware.cancel() del SnipsMatrix.timer_hardware SnipsMatrix.timer_hardware = None SnipsMatrix.queue.put(snipsMatrixAction.Clear( DisplayPriority.hardware))
def create_timer_time(duration, value): if value is None or value <= 0: SnipsMatrix.queue.put(snipsMatrixAction.Time(time.time())) else: SnipsMatrix.queue.put(snipsMatrixAction.Time(value)) if SnipsMatrix.timer_short_app: SnipsMatrix.timer_short_app.cancel() del SnipsMatrix.timer_short_app SnipsMatrix.timer_short_app = None if duration < 0: SnipsMatrix.queue.put( snipsMatrixAction.Clear(DisplayPriority.short_apps)) return SnipsMatrix.timer_short_app = threading.Timer( 1, SnipsMatrix.create_timer_time, args=[duration - 1, value]) SnipsMatrix.timer_short_app.start()
def __init__(self): numpixels = 128 datapin = 10 clockpin = 11 self.strip = Adafruit_DotStar(numpixels, datapin, clockpin, 1000000) self.strip.begin() self.strip.setBrightness(64) SnipsMatrix.state_hotword = AnimationImage('hotword', self.strip) SnipsMatrix.state_time = AnimationTime(self.strip) SnipsMatrix.state_rotate = AnimationRotate(self.strip, 0) SnipsMatrix.state_weather = AnimationWeather(self.strip) SnipsMatrix.custom_anim = SnipsMatrix.load_custom_animation(self.strip) SnipsMatrix.queue.put(snipsMatrixAction.Hotword()) SnipsMatrix.queue.put(snipsMatrixAction.Clear( DisplayPriority.hardware)) t = threading.Thread(target=SnipsMatrix.worker, args=()) t.start()
def create_timer(duration, stop_time=None): if stop_time is None: stop_time = int(time.time()) + duration duration = stop_time - int(time.time()) if SnipsMatrix.timer: SnipsMatrix.timer.cancel() del SnipsMatrix.timer SnipsMatrix.timer = None if duration >= 0: SnipsMatrix.queue.put(snipsMatrixAction.Timer(duration)) elif duration >= -2: SnipsMatrix.queue.put(snipsMatrixAction.Timer(0)) else: SnipsMatrix.queue.put( snipsMatrixAction.Clear(DisplayPriority.schedule_apps)) return SnipsMatrix.timer = threading.Timer(1, SnipsMatrix.create_timer, args=[duration, stop_time]) SnipsMatrix.timer.start()
def stop_hotword(self): print('stop hotword') SnipsMatrix.hotword_status = False SnipsMatrix.queue.put(snipsMatrixAction.Clear(DisplayPriority.hotword))
def stop(self): print('stop all animation') self.stop_all_timer() SnipsMatrix.queue.put(snipsMatrixAction.Clear( DisplayPriority.hardware))