aboutsummaryrefslogtreecommitdiff
path: root/NeoRuntime/Runtime/luxcena_neo
diff options
context:
space:
mode:
Diffstat (limited to 'NeoRuntime/Runtime/luxcena_neo')
-rw-r--r--NeoRuntime/Runtime/luxcena_neo/strip.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/NeoRuntime/Runtime/luxcena_neo/strip.py b/NeoRuntime/Runtime/luxcena_neo/strip.py
index b1b90ba..b0165c9 100644
--- a/NeoRuntime/Runtime/luxcena_neo/strip.py
+++ b/NeoRuntime/Runtime/luxcena_neo/strip.py
@@ -121,7 +121,9 @@ class Strip:
def _set_brightness(self, value):
self.__actual_brightness = value
- self.strip.setBrightness(value)
+ # Logarithmic curve, to try to make the brightness controll feel more natural.
+ v = int(10**((value-1)/41.11))
+ self.strip.setBrightness(v)
self.show()
def show(self):
@@ -147,7 +149,11 @@ class Strip:
def set_pixel_color_XY(self, x, y, *color):
"""Set LED at position n to the provided 24-bit color value (in RGB order).
"""
- self.set_pixel_color(self.pixelMatrix.get(x, y), *color)
+ try:
+ pixel = self.pixelMatrix.get(x, y)
+ self.set_pixel_color(self.pixelMatrix.get(x, y), *color)
+ except IndexError as e:
+ print(f"Pixel outside matrix cannot be set ({x}, {y})")
def set_segment_color(self, segment, *color):
"""Set a whole segment to the provided red, green and blue color.