forked from pvx/litsimaja
				
			
							parent
							
								
									d135c8c24f
								
							
						
					
					
						commit
						1b3b23bc99
					
				
				 1 changed files with 33 additions and 0 deletions
			
			
		@ -0,0 +1,33 @@ | 
				
			||||
from lib.Program import Program | 
				
			||||
from rpi_ws281x import Color | 
				
			||||
import time | 
				
			||||
 | 
				
			||||
 | 
				
			||||
def name(): | 
				
			||||
    return 'RGBT Gaynbow' | 
				
			||||
 | 
				
			||||
 | 
				
			||||
def wheel(pos): | 
				
			||||
    """Generate rainbow colors across 0-255 positions.""" | 
				
			||||
    if pos < 85: | 
				
			||||
        return Color(pos * 3, 255 - pos * 3, 0) | 
				
			||||
    elif pos < 170: | 
				
			||||
        pos -= 85 | 
				
			||||
        return Color(255 - pos * 3, 0, pos * 3) | 
				
			||||
    else: | 
				
			||||
        pos -= 170 | 
				
			||||
        return Color(0, pos * 3, 255 - pos * 3) | 
				
			||||
 | 
				
			||||
 | 
				
			||||
class Gaynbow(Program): | 
				
			||||
    def run(self, args: [] = None): | 
				
			||||
        wait_ms = 20 | 
				
			||||
        iterations = 5 | 
				
			||||
        while self.get_loop().status(): | 
				
			||||
            """Draw rainbow that uniformly distributes itself across all pixels.""" | 
				
			||||
            for j in range(256 * iterations): | 
				
			||||
                for i in range(self._lm.count_pixels()): | 
				
			||||
                    self._lm.set_pixel_color(i, wheel( | 
				
			||||
                        (int(i * 256 / self._lm.count_pixels()) + j) & 255)) | 
				
			||||
                self._lm.show() | 
				
			||||
                time.sleep(wait_ms / 1000.0) | 
				
			||||
					Loading…
					
					
				
		Reference in new issue