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