Brightness adjustement

Reduce brightness when writing the color values.
main
The-Spirit 2021-02-05 14:45:18 +01:00
rodzic ce8d016f17
commit 54ee1e47c1
2 zmienionych plików z 20 dodań i 1 usunięć

2
.gitignore vendored 100644
Wyświetl plik

@ -0,0 +1,2 @@
*.bak

Wyświetl plik

@ -26,7 +26,19 @@ class ws2812b:
self.sm.active(1)
self.num_leds = num_leds
self.delay = delay
self.brightnessvalue = 255
# Set the overal value to adjust brightness when updating leds
def brightness(self, brightness = None):
if brightness == None:
return self.brightnessvalue
else:
if (brightness < 1):
brightness = 1
if (brightness > 255):
brightness = 255
self.brightnessvalue = brightness
# Create a gradient with two RGB colors between "pixel1" and "pixel2" (inclusive)
def set_pixel_line_gradient(self, pixel1, pixel2, left_red, left_green, left_blue, right_red, right_green, right_blue):
if pixel2 - pixel1 == 0: return
@ -48,6 +60,11 @@ class ws2812b:
self.set_pixel(i, red, green, blue)
def set_pixel(self, pixel_num, red, green, blue):
# Adjust color values with brightnesslevel
blue = round(blue * (self.brightness() / 255))
red = round(red * (self.brightness() / 255))
green = round(green * (self.brightness() / 255))
self.pixels[pixel_num] = blue | red << 8 | green << 16
def show(self):