Skip to content

Commit 2a1d59f

Browse files
committed
Refactor
1 parent ba9166f commit 2a1d59f

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

src/arduino/app_utils/leds.py

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,6 @@
1818
]
1919

2020

21-
def set_led1_color(r, g, b):
22-
write_led_file(LED_BRIGHTNESS_FILES[0], r)
23-
write_led_file(LED_BRIGHTNESS_FILES[1], g)
24-
write_led_file(LED_BRIGHTNESS_FILES[2], b)
25-
26-
27-
def set_led2_color(r, g, b):
28-
write_led_file(LED_BRIGHTNESS_FILES[3], r)
29-
write_led_file(LED_BRIGHTNESS_FILES[4], g)
30-
write_led_file(LED_BRIGHTNESS_FILES[5], b)
31-
32-
3321
def write_led_file(led_file, color):
3422
try:
3523
with open(led_file, "w") as f:
@@ -40,6 +28,7 @@ def write_led_file(led_file, color):
4028

4129
class Leds:
4230
@staticmethod
31+
# Led 1 and 2 are controlled by directly (MPU), while Led 3 and 4 are controlled via Bridge (MCU)
4332
def set_led_color(ledid: int, rgb_color: dict):
4433
try:
4534
if ledid not in LED_IDS:
@@ -48,17 +37,33 @@ def set_led_color(ledid: int, rgb_color: dict):
4837
if not rgb_color or not all(k in rgb_color for k in ("r", "g", "b")):
4938
raise ValueError("Color must be an object with 'r', 'g', 'b' keys")
5039

51-
# Led 1 and 2 are controlled by Python code directly (MPU), while Led 3 and 4 are controlled via Bridge (MCU)
5240
match ledid:
5341
case 1:
54-
set_led1_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
42+
Leds.set_led1_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
5543
case 2:
56-
set_led2_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
57-
case 3 | 4:
58-
Bridge.call("set_led_color", ledid, rgb_color["r"], rgb_color["g"], rgb_color["b"])
44+
Leds.set_led2_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
45+
case 3:
46+
Leds.set_led3_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
47+
case 4:
48+
Leds.set_led4_color(rgb_color["r"], rgb_color["g"], rgb_color["b"])
5949

6050
except Exception as e:
6151
Logger(__name__).error(f"LED color set error: {e}")
6252

53+
@staticmethod
54+
def set_led1_color(r, g, b):
55+
write_led_file(LED_BRIGHTNESS_FILES[0], r)
56+
write_led_file(LED_BRIGHTNESS_FILES[1], g)
57+
write_led_file(LED_BRIGHTNESS_FILES[2], b)
58+
59+
@staticmethod
60+
def set_led2_color(r, g, b):
61+
write_led_file(LED_BRIGHTNESS_FILES[3], r)
62+
write_led_file(LED_BRIGHTNESS_FILES[4], g)
63+
write_led_file(LED_BRIGHTNESS_FILES[5], b)
64+
65+
def set_led3_color(r, g, b):
66+
Bridge.call("set_led_color", 3, r, g, b)
6367

64-
Leds = Leds()
68+
def set_led4_color(r, g, b):
69+
Bridge.call("set_led_color", 4, r, g, b)

0 commit comments

Comments
 (0)