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-
3321def 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
4129class 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