Compare commits
	
		
			1 Commits 
		
	
	
		
			master
			...
			feature/vi
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						364ea9971b | 4 years ago | 
				 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