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
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
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
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
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
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
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)
def get_effect_names(): return [cls.__name__ for cls in Effect.__subclasses__()]
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
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)