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