def __init__(self, pixel_max, strip, pixel_min=0, sleep=20, hsv=(0, 0, 0)):
     Effect.__init__(self,
                     pixel_max=pixel_max,
                     pixel_min=pixel_min,
                     sleep=sleep,
                     hsv=hsv)
     strip.off()
 def __init__(self, pixel_max, strip, pixel_min=0, sleep=20, hsv=(0, 0, 0)):
     Effect.__init__(self,
                     pixel_max=pixel_max,
                     pixel_min=pixel_min,
                     sleep=sleep,
                     hsv=hsv)
     self._iterations = (pixel_max - pixel_min) * 2
     strip.off()
    def run(self, strip):
        strip.clear()

        for i in range(self.pixel_min, self.pixel_max):
            strip.add(position=i, pixel=self.hsv)
        Effect.run(self, strip=strip)

        return strip
    def run(self, strip):
        strip.off()
        for i in range(self.pixel_min, self.pixel_max):
            if i % 3 == self._iterations:
                strip.add(position=i, pixel=self.hsv)

        Effect.run(self, strip=strip)

        if self._iterations < 0:
            self._iterations = 2

        return strip
Esempio n. 5
0
    def run(self, strip):
        strip.clear()
        for i in range(self.pixel_min, self.pixel_max):
            color = 1 / float(self.pixel_max - self.pixel_min)
            hsv = (color*((i+self._iterations) % (self.pixel_max - self.pixel_min)), 1, self.hsv[2])
            strip.add(position=i, pixel=hsv)

        Effect.run(self, strip=strip)

        if self._iterations < 0:
            self._iterations = self.pixel_max - self.pixel_min

        return strip
Esempio n. 6
0
    def __init__(self, pixel_max, strip, pixel_min=0, sleep=5, hsv=(0, 0, 0)):
        Effect.__init__(self,
                        pixel_max=pixel_max,
                        pixel_min=pixel_min,
                        sleep=sleep,
                        hsv=hsv)

        self._ledCount = self.pixel_max - self.pixel_min
        self._iterationCount = self._ledCount * 2

        self._iterations = 0
        self._original_sleep = sleep
        self.sleep = sleep
    def run(self, strip):
        if self._iterations > (self.pixel_max - self.pixel_min):
            position = (self.pixel_max - self.pixel_min) * 2 - self._iterations
            # growing
            new_pixel = self.hsv
            strip.add(position=position, pixel=new_pixel)
        elif self._iterations <= (self.pixel_max - self.pixel_min):
            # shrinking
            strip.remove(self._iterations)
        Effect.run(self, strip=strip)
        if self._iterations < 0:
            self._iterations = (self.pixel_max - self.pixel_min) * 2

        return strip
Esempio n. 8
0
    def __init__(self, pixel_max, strip, pixel_min=0, sleep=10, hsv=(0, 0, 0)):
        Effect.__init__(self,
                        pixel_max=pixel_max,
                        pixel_min=pixel_min,
                        sleep=sleep,
                        hsv=hsv)

        self._newColorSpeed = 10
        self._newPositionSpeed = 3

        self._newColorTimer = 0
        self._newPositionTimer = 0
        self._currentColor = 0
        self._iterations = 0
        self._original_sleep = 1
        self.sleep = 1
    def __init__(self, pixel_max, strip, pixel_min=0, sleep=50, hsv=(0, 0, 0)):
        Effect.__init__(self,
                        pixel_max=pixel_max,
                        pixel_min=pixel_min,
                        sleep=sleep,
                        hsv=hsv)
        self._iterations_max = (pixel_max - pixel_min) * 2
        self._iterations = self._iterations = self._iterations_max
        self._original_sleep = sleep

        # pixel dict
        self._pixels = []
        # time for a single fading step
        self._fading_time = 10
        # currently fading pixel
        self._current_pixel = None
        # possible states:
        #   growing: starting to light up things
        self._state = 'begin'
        self.sleep = self._fading_time
Esempio n. 10
0
    def run(self, strip):

        #dim all pixel
        for i in range(self.pixel_min, self.pixel_max):
            currentPixel = strip.get(i)
            if (currentPixel == None):
                strip.add(position=i, pixel=(0, 0, 0))
            else:
                strip.set(position=i,
                          pixel=(currentPixel[0], currentPixel[1],
                                 currentPixel[2] * 0.98))

        #light up new pixel
        if self._newPositionTimer < 0:
            self._newPositionTimer = self._newPositionSpeed
            newDot = random.randint(0, self.pixel_max - self.pixel_min)
            newColor = self._currentColor + random.uniform(-0.15, 0.15)
            if newColor >= 1:
                newColor -= 1.0
            elif newColor < 0:
                newColor += 1.0
            strip.set(position=newDot,
                      pixel=(newColor, self.hsv[1], self.hsv[2]))
        else:
            self._newPositionTimer -= 1

        #switch to next color
        if self._newColorTimer < 0:
            self._newColorTimer = self._newColorSpeed
            self._currentColor += 0.01
        else:
            self._newColorTimer -= 1

        Effect.run(self, strip=strip)

        if self._iterations < 0:
            self._iterations = 2

        return strip
Esempio n. 11
0
    def run(self, strip):

        #dim all pixel
        for i in range(self.pixel_min, self.pixel_max):
            currentPixel = strip.get(i)
            if (currentPixel == None):
                strip.add(position=i, pixel=(0, 0, 0))
            else:
                strip.set(position=i,
                          pixel=(currentPixel[0], currentPixel[1],
                                 currentPixel[2] * 0.9))

        pos = int(self._ledCount * 0.5 * (1 + math.sin(
            (self._iterations / self._iterationCount - 1) * 2 * math.pi)))
        strip.set(position=pos, pixel=self.hsv)

        Effect.run(self, strip=strip)

        if self._iterations < 0:
            self._iterations = self._iterationCount

        return strip
Esempio n. 12
0
    def update(self, sleep=10, hsv=(0, 0, 0)):
        self._currentColor = hsv[0]

        self._original_sleep = 1
        self.sleep = 1
        Effect.update(self, 1, hsv)
 def update(self, sleep=20, hsv=(0, 0, 0)):
     self._original_sleep = sleep
     Effect.update(self, sleep, hsv)
Esempio n. 14
0
def get_effect_names():
    return [cls.__name__ for cls in Effect.__subclasses__()]
Esempio n. 15
0
def construct_effect(effect_name, **kwargs):
    journal.send(MESSAGE="Get " + effect_name + " from " + str(get_effect_names()))
    for effect in Effect.__subclasses__():
        if effect.__name__ == effect_name:
            return effect(**kwargs)
    return None
Esempio n. 16
0
    def update(self, sleep=5, hsv=(0, 0, 0)):
        self._currentColor = hsv[0]

        self._original_sleep = sleep
        self.sleep = sleep
        Effect.update(self, sleep, hsv)