Esempio n. 1
0
    async def chaos_fill_down(self, start: int, end: int, speed: int,
                              display: int, pause: int, flush: int):
        Helper.set_in_range(self.strip, start, end, Color(0, 0, 0))

        # Fill down with random colors
        for i in range(start, end):
            r = random.randint(0, 255)
            g = random.randint(0, 255)
            b = random.randint(0, 255)
            for j in range(start, end - i):
                self.strip.setPixelColor(j, Color(r, g, b))

                if j > 0:
                    self.strip.setPixelColor(j - 1, Color(0, 0, 0))
                await asyncio.sleep(speed / 1000)

            self.strip.show()
            await asyncio.sleep(display / 1000)

        await asyncio.sleep(pause / 1000)

        # "Flush" results
        for i in range(end - 1, -1, -1):
            for j in range(end - 1, 0, -1):
                old_color = self.strip.getPixelColor(j - 1)
                self.strip.setPixelColor(j, old_color)

            self.strip.setPixelColor(i - end + 1, Color(0, 0, 0))
            self.strip.show()
            await asyncio.sleep(flush / 1000)
        await asyncio.sleep(pause / 1000)
Esempio n. 2
0
    async def snow_sparkle(
        self, start: int, end: int, red: int, green: int, blue: int, sparkle_delay: float, delay: float
    ):
        Helper.set_in_range(self.strip, start, end, Color(red, green, blue))
        pixel = random.randrange(start, end)
        self.strip.setPixelColor(pixel, Color(255, 255, 255))
        self.strip.show()

        # await asyncio.sleep(sparkle_delay)

        self.strip.setPixelColor(pixel, Color(red, green, blue))
        self.strip.show()
Esempio n. 3
0
    async def meteor_rain(self, start: int, end: int, red: int, green: int,
                          blue: int, size: int, trail_decay: int,
                          random_decay: bool, wait_ms: int):
        Helper.set_in_range(self.strip, start, end, Color(0, 0, 0))
        for i in range(start, end):
            # Fade brightness all LEDs one step
            for j in range(start, end):
                if (not random_decay) or (random.randint(0, 10) > 5):
                    Helper.fade_to_black(self.strip, j, trail_decay)

            # Draw meteor
            for j in range(start, start + size):
                if ((i - j + start) < end) and ((i - j) >= 0):
                    self.strip.setPixelColor(i - j + start,
                                             Color(red, green, blue))

            self.strip.show()
            await asyncio.sleep(wait_ms / 1000)
Esempio n. 4
0
 async def paint_range_in_one_color(self, start: int, end: int, red: int = 255, green: int = 255, blue: int = 255):
     Helper.set_in_range(self.strip, start, end, Color(red, green, blue))