parent
							
								
									33109455c9
								
							
						
					
					
						commit
						364ea9971b
					
				
				 1 changed files with 35 additions and 0 deletions
			
			
		@ -0,0 +1,35 @@ | 
				
			|||||||
 | 
					from lib.Program import Program | 
				
			||||||
 | 
					from rpi_ws281x import Color | 
				
			||||||
 | 
					import time | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def name(): | 
				
			||||||
 | 
					    return 'Vikermasetsus' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 Vikermasetsus(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): | 
				
			||||||
 | 
					                if not self.get_loop().status(): | 
				
			||||||
 | 
					                    break | 
				
			||||||
 | 
					                for i in range(self._lm.count_pixels()): | 
				
			||||||
 | 
					                    self._lm.set_pixel_color(i, wheel( | 
				
			||||||
 | 
					                        (int(i * 2560 / self._lm.count_pixels()) + j) & 255)) | 
				
			||||||
 | 
					                self._lm.show() | 
				
			||||||
 | 
					                time.sleep(wait_ms / 1000.0) | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue