apply suggested changes

This commit is contained in:
xs5871 2021-12-05 17:25:19 +00:00 committed by Kyle Brown
parent 4a83e6de85
commit 967046587b
2 changed files with 15 additions and 10 deletions

View File

@ -3,10 +3,7 @@ from math import e, exp, pi, sin
from kmk.extensions import Extension, InvalidExtensionEnvironment from kmk.extensions import Extension, InvalidExtensionEnvironment
from kmk.keys import make_argumented_key, make_key from kmk.keys import make_argumented_key, make_key
from kmk.utils import clamp
def _clamp(x):
return min(max(0, x), 100)
class LEDKeyMeta: class LEDKeyMeta:
@ -34,12 +31,13 @@ class LED(Extension):
user_animation=None, user_animation=None,
val=100, val=100,
): ):
self._leds = []
try: try:
if not isinstance(led_pin, list): pins_iter = iter(led_pin)
led_pin = [led_pin] except TypeError:
for pin in led_pin: pins_iter = [led_pin]
self._leds.append(pwmio.PWMOut(pin))
try:
self._leds = [pwmio.PWMOut(pin) for pin in pins_iter]
except Exception as e: except Exception as e:
print(e) print(e)
raise InvalidExtensionEnvironment( raise InvalidExtensionEnvironment(
@ -143,7 +141,7 @@ class LED(Extension):
leds = leds or range(0, len(self._leds)) leds = leds or range(0, len(self._leds))
for i in leds: for i in leds:
brightness = int(self._leds[i].duty_cycle / 65535 * 100) + step brightness = int(self._leds[i].duty_cycle / 65535 * 100) + step
self.set_brightness(_clamp(brightness), [i]) self.set_brightness(clamp(brightness), [i])
def increase_brightness(self, step=None, leds=None): def increase_brightness(self, step=None, leds=None):
if step is None: if step is None:
@ -212,9 +210,14 @@ class LED(Extension):
self.off() self.off()
def _led_key_validator(self, *leds): def _led_key_validator(self, *leds):
<<<<<<< HEAD
if leds: if leds:
for led in leds: for led in leds:
assert self._leds[led] assert self._leds[led]
=======
for led in leds:
self._leds[led]
>>>>>>> c7bdb7c (apply suggested changes)
return LEDKeyMeta(*leds) return LEDKeyMeta(*leds)
def _key_led_tog(self, *args, **kwargs): def _key_led_tog(self, *args, **kwargs):

2
kmk/utils.py Normal file
View File

@ -0,0 +1,2 @@
def clamp(x, bottom=0, top=100):
return min(max(bottom, x), top)