Commit Graph
16 Commits
Author SHA1 Message Date
Guido Günther a4c35a8e61 led: Parse color values and pass them down the chain
We parse RGB color values as HEX ('#RRGGBB') and use those when a RGB
LED is available. Single color LEDs won't see a change.
2024-06-13 15:19:03 +02:00
Dylan Van Assche 60ce9ecb3c fbd-dev-led: Check max_brightness_percentage range
Percentages are always between 0.0 and 100.0.
Also fix a typo along the way.
2024-06-09 11:21:20 +02:00
Dylan Van Assche e43126b007 fbd-dev-led: Rework color API
Drop has_color API since supported colors are set during probing
and can be handled completely separately from the classes for
each type of hardware.

Rename set_color to set_supported_color because the usage
of this API is to check if the color is supported, but not
setting it. Setting the color is also separated from
start_periodic API to re-use multicolor across multiple LED types
with a set_color API. Multicolor LEDs are actually the same as
regular LEDs but they require a few additional sysfs entries to
actually set the color. Single color LEDs only have a single color
so the set_color method just returns TRUE for these LEDs.

Supported colors are advertised through the supports_color API now.
This way, each LED driver define which colors are supported
through supports_color API. RGB multicolor LEDs will report only fixed colors
like red, blue, green and white until the kernel can expose if a diffusor
is present to mix these colors.
2024-06-09 11:21:19 +02:00
Dylan Van Assche 94afe719a9 fbd-dev-led: Scan for RGB color as well
Multicolor LEDs have the color 'rgb', we should also scan it
as they are also a FbdDevLed.
2024-06-07 10:15:39 +02:00
Guido Günther 973c7e006e led: Don't forget to init variable 2024-05-17 06:24:50 +00:00
Guido Günther b8718992d1 led: Drop unused variable 2024-05-17 06:24:50 +00:00
Guido Günther 83f14a451a led: Add doc strings 2024-05-17 06:24:50 +00:00
Guido Günther 995d21b587 fbd-dev-led: Move multicolor handling to separate class
Everything related to multicolor moves into the new class and we add the
necessary getters and setters so derived classes can access the parent
classes attributes where needed.
2023-02-10 15:15:12 +00:00
Guido Günther ca712e9a32 fbd-dev-led: Add class methods so derived classes can override functionality 2023-02-10 15:15:12 +00:00
Guido Günther ac0516329c fbd-dev-led: Use GInitable
Use default GObject patterns instead of stuffing things into the
fbd_dev_led_new () so derived classes can override it.
2023-02-10 15:15:12 +00:00
Guido Günther f7ec08497e fbd-dev-led: Turn into a GObject
This is just the minimal changes to switch to a derivable GObject
2023-02-10 15:15:12 +00:00
Guido Günther f17ca72c1b fbd-dev-led: Make structure opaque
This will allow us to turn it into a GObject
2023-02-10 15:15:12 +00:00
Guido Günther 5d8b2e5fe4 fbd-dev-led: Allow to lookup color
This allows us to make the led structure into an opaque in
the next commit
2023-02-10 15:15:12 +00:00
Guido Günther 8ad1c43ff1 fbd-dev-leds: Move pattern trigger into fbd-dev-led 2023-02-10 15:15:12 +00:00
Guido Günther fd852c6f69 fbd-dev-leds: Move led creation into fbd-dev-led
This will allow us to separate the different led types
2023-02-10 15:15:12 +00:00
Guido Günther 5fc0372b45 Move LED device to separate file
We separate out the led as different LED types have different
ways to set patterns, etc
2023-02-10 15:15:12 +00:00