Commit Graph
18 Commits
Author SHA1 Message Date
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 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 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
Guido Günther 253d178cfc fbd-dev-leds: Use gi-docgen compatible format
We don't document the server classes via gi-docgen atm but
as we use it for the lib update classes we touch.
2023-02-10 15:15:12 +00:00
Luca Weiss e16202eeb5 fbd-dev-leds: support for multicolor LEDs
Add support for multicolor LEDs as supported by the kernel.
Used by Qualcomm devices such as SHIFT 6mq, OnePlus 6, etc.

Documentation:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/testing/sysfs-class-led-multicolor

Co-Developed-by: Dylan Van Assche <me@dylanvanassche.be>
2022-05-17 20:04:23 +02:00
Dylan Van Assche 510f1b6d6e fbd-dev-leds: rename var to max_brightness_percentage
Improve readability of the code.
2022-05-17 20:02:58 +02:00
Dylan Van Assche 572a027fa6 fbd-dev-leds: use define for max_brightness
All other attributes use a define, let's do the same for max_brightness.
2022-05-17 20:02:51 +02:00
Guido Günther 4c30fafc6e fbd-dev-leds: Use automatic deep cleanup for device list
The current logic was fragile and failed e.g. when the
FEEDBACKD_UDEV_VAL_LED would not match leaking the dev since the
g_object_unref() at the end of the loop was never hit.

Prevent that with automatic cleanup and explicitly ref'ing the
devs we want to use.
2021-04-26 09:34:23 +00:00
Guido Günther 957fa1be83 fbd-dev-leds: Don't leak color
g_ascii_strdown() creates a copy already.
2021-04-26 09:34:23 +00:00
Guido Günther d8f944ed30 fbd-dev-leds: Don't leak enum_name
g_enum_to_string() is transfer full.
2021-04-26 09:34:23 +00:00
Guido Günther d7419f37a1 fbd-dev-leds: Free actual FbdDevLed as well
So far we only unref'ed the device.
2021-04-26 09:34:23 +00:00
Luca Weiss e79a24b5ad fbd-dev-leds: fix brightness parameter
The fbd_dev_led_set_brightness function is only getting called with
parameter 0 at the moment so this was never noticed.
2020-10-25 22:30:25 +01:00
Arnaud Ferraris 4bcf9d9fbb fbd-dev-leds: store LED color when parsing devices
Failing to do so will always select the first recognized LED (the blue 
one for the PinePhone).
2020-07-14 15:33:32 +00:00
Guido Günther a5b4f99412 feedbackd: Support visual feedback via LEDs
Currently all LED feedbacks are infinite we can improve that
later on by using the 'repeat' attribute of the LED pattern
trigger.
2020-07-05 19:25:44 +00:00