From 7b123da001ca9e52f8ff71662cec3cb03762b8da Mon Sep 17 00:00:00 2001 From: Stephen Horvath Date: Thu, 16 Oct 2025 22:45:23 +1000 Subject: [PATCH] Handle custom power LED brightness levels --- yafi/leds.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/yafi/leds.py b/yafi/leds.py index 95f12cd..6fe82f1 100644 --- a/yafi/leds.py +++ b/yafi/leds.py @@ -48,11 +48,19 @@ class LedsPage(Gtk.Box): ec_commands.framework_laptop.set_fp_led_level(app.cros_ec, value) self.led_pwr.set_subtitle(["High", "Medium", "Low"][value]) - current_fp_level = ec_commands.framework_laptop.get_fp_led_level( - app.cros_ec - ).value - self.led_pwr_scale.set_value(abs(current_fp_level - 2)) - self.led_pwr.set_subtitle(["High", "Medium", "Low"][current_fp_level]) + try: + current_fp_level = ec_commands.framework_laptop.get_fp_led_level( + app.cros_ec + ).value + self.led_pwr_scale.set_value(abs(current_fp_level - 2)) + self.led_pwr.set_subtitle(["High", "Medium", "Low"][current_fp_level]) + except ValueError: + # LED isn't a normal value + current_fp_level = ec_commands.framework_laptop.get_fp_led_level_int( + app.cros_ec + ) + self.led_pwr.set_subtitle(f"Custom ({current_fp_level}%)") + self.led_pwr_scale.connect("value-changed", handle_led_pwr) except ec_exceptions.ECError as e: if e.ec_status == ec_exceptions.EcStatus.EC_RES_INVALID_COMMAND: