From dd0fd60379f4e0c1b0857c8814fb425ae8ccd147 Mon Sep 17 00:00:00 2001 From: psannus Date: Wed, 24 Feb 2021 00:48:16 +0200 Subject: [PATCH] Ported Joulii's disco program to the app --- pyleds/program/peter/DiskoPidu.py | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pyleds/program/peter/DiskoPidu.py diff --git a/pyleds/program/peter/DiskoPidu.py b/pyleds/program/peter/DiskoPidu.py new file mode 100644 index 0000000..bf566fc --- /dev/null +++ b/pyleds/program/peter/DiskoPidu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# Ported by Peter +# Palun! + +from lib.Program import Program +import time +import random + + +def name(): + return 'DiskoPidu' + + +class DiskoPidu(Program): + + def disco(self, segmentLength, wait_ms=50): + color = random.randint(0, 0xffffff) + totalLength = self._lm.count_pixels() + for p in range(totalLength): + if p % segmentLength == 0: + color = random.randint(0, 0xffffff) + self._lm.set_pixel_color(p, color) + self._lm.show() + time.sleep(wait_ms / 1000.0) + + # Main program logic follows: + def run(self, args=None): + loop = False + if 'loop' in args and args['loop']: + loop = args['loop'] + + while self.get_loop().status(): + self.disco(10) + + if not loop: + break