Commit Graph
387 Commits
Author SHA1 Message Date
Dylan Van Assche 6b1eb92b7a fbd-dev-leds: Probe QCOM HW LED types
Try first the QCOM hardware LED types which require the most features of
LED drivers. Try until we have a single color GPIO LED which is the
minimal LED driver support we require. If the LED does not meet that
expectation either, we ignore the LED.
2024-06-09 11:21:20 +02:00
Dylan Van Assche 2b53725fcb fbd-dev-led-qcom-multicolor: Support QCOM LPG LED multicolor
QCOM LPG LEDs can also operate in a multicolor fashion.
Re-use the probing sequence of multicolor LEDs and the hw_pattern
configuration of single color QCOM LPG LEDs.
2024-06-09 11:21:20 +02:00
Dylan Van Assche 10e6d3cba8 fbd-dev-led-qcom: Support QCOM LPG LED single color
QCOM LPG LEDs expose a hw_pattern sysfs entry which accepts a limited
set of patterns but allows to use dedicated hardware for blinking the
LED. This way, battery life can be improved and the LED still blinks,
even if the device is suspended.
2024-06-09 11:21:20 +02:00
Dylan Van Assche 22e4c33606 fbd-dev-led-multicolor: Support red, green, blue and white LED colors
Provide our own supports_color method to specify which colors are
actually implemented by the driver. RGB LEDs could provide different
colors as well such as orange, purple, etc. but those are not supported
yet.
2024-06-09 11:21:20 +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 63b564494b fbd-ledctrl: Set permissions for hw_pattern
Allow access to hw_pattern sysfs node for feedbackd, similar to other nodes.
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 bcd37b0aa5 fbd-dev-led-*: Adjust to method convention
fbd_dev_led_ is the convention for methods, adjust them all.
2024-06-09 11:18:09 +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
Dylan Van Assche 7f69813e84 fbd-dev-led-multicolor: Fix typo in error message
multicololo -> multicolor LED
2024-06-07 10:15:30 +02:00
Dylan Van Assche 66b616677d fbd-dev-led-multicolor: Use separate log domain
Debugging driver probing is much easier when each driver has its own log domain.
2024-06-07 10:14:45 +02:00
Guido Günther d4d1796c05 Merge branch 'doc-fix' into 'main'
lfb-event: Fix typo in docstring

See merge request Librem5/feedbackd!123
2024-05-31 13:17:25 +00:00
Guido Günther bc0449f79d lfb-event: Fix typo in docstring
Gbp-Dch: Ignore
2024-05-31 15:01:00 +02:00
Guido Günther cfa8e0b2da Merge branch 'umockdev' into 'main'
tests: Add umockdev based tests for leds

See merge request Librem5/feedbackd!122
2024-05-17 06:41:51 +00:00
Guido Günther d5b0f30205 tests: Add umockdev based tests for leds
This ensures we can probe the different led types correctly

The umockdev data was recoreded on an Librem 5 and Librem 14
2024-05-17 06:24:50 +00:00
Guido Günther 2db8e8f820 ci: Add clang build 2024-05-17 06:24:50 +00:00
Guido Günther a188cdde7c Build: Use meson instead of ninja 2024-05-17 06:24:50 +00:00
Guido Günther f6a92231db fbd-theme-validate: Use G_NORETURN 2024-05-17 06:24:50 +00:00
Guido Günther 95c51c021d fbd-dev-led-multicolor: Drop unused variable 2024-05-17 06:24:50 +00: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 eccd95a1e6 Merge branch 'docs' into 'main'
docs: Expand the examples section a bit

See merge request Librem5/feedbackd!121
2024-05-11 12:12:14 +00:00
Guido Günther 945435f0b5 docs: Expand the examples section a bit 2024-05-11 13:59:55 +02:00
Guido Günther bf6928e47d Merge branch 'rel-0.3.0' into 'main'
Document changes and release 0.3.0

See merge request Librem5/feedbackd!120
2024-04-21 11:16:53 +00:00
Guido Günther ec6e86ee0c Document changes and release 0.3.0 2024-04-21 12:20:58 +02:00
Guido Günther ea98669bb9 Merge branch 'important-hint' into 'main'
Add `important` hint

See merge request Librem5/feedbackd!116
2024-04-20 13:32:37 +00:00
Guido Günther 2d1d72c746 feedback-manager: Handle important hint
This allows blessed apps to override the per-app as well as the global
feedback level. This can e.g. be useful for alarm clocks.
2024-04-20 13:21:56 +00:00
Guido Günther f575d32651 cli: Allow to set important hint 2024-04-20 13:21:56 +00:00
Guido Günther 716f296ab8 feedback-manager: Parse important hint 2024-04-20 13:21:56 +00:00
Guido Günther 14ffd9722d libfeedback: Allow to set important hint 2024-04-20 13:21:56 +00:00
Guido Günther e6845a52d3 feedback-manager: Use MIN()
A bit easier to read
2024-04-20 13:21:56 +00:00
Guido Günther 6a5d558a83 fbcli: Allow to override app-id
Useful for testing
2024-04-20 13:21:56 +00:00
Guido Günther 7640a73e82 data/schema: Add 'allow-override' gsetting
This allows to list apps that can override the currently
effective feedback level by setting the 'impotant' hint in
the event.
2024-04-20 13:21:56 +00:00
Guido Günther f71ece5d8b data/dbus: Document important hint
The important hint can be used by apps to override the current per app
or system wide feedback level (if the feedback server allows it).
2024-04-20 13:21:56 +00:00
Guido Günther 106663e41c data/dbus: Document current flags 2024-04-20 13:21:56 +00:00
Guido Günther d73677dfff build: Validate schema file 2024-04-20 13:21:56 +00:00
Guido Günther bf52369e68 README: Note what's the preferred way to specify a theme 2024-04-20 13:21:56 +00:00
Guido Günther 673d5df9fd packaging: Add libgirepository1.0-dev 2024-04-20 13:21:56 +00:00
Guido Günther 77e673f233 Merge branch 'shared-gmobile' into 'main'
Allow to use shared gmobile

See merge request Librem5/feedbackd!117
2024-04-15 10:16:45 +00:00
Guido Günther 72ef71a01b build: Allow to use shared gmobile 2024-04-15 10:06:05 +00:00
Guido Günther 8d4fe9f902 build: Switch to gmobile 0.1.0 2024-04-15 10:06:05 +00:00
Guido Günther f0bac054c9 Merge branch 'lint' into 'main'
ci: Add rules for format-check

See merge request Librem5/feedbackd!118
2024-04-15 09:57:14 +00:00
Guido Günther e656775409 Draft: ci: Add rules for format-check 2024-04-15 09:46:44 +00:00
Guido Günther 2a55cdb499 Merge branch 'multicolor-derivable' into 'main'
fbd-dev-led-multicolor: Make it a derivable type

See merge request Librem5/feedbackd!107
2024-04-09 16:10:06 +00:00
Guido Günther 0dbbc93adc fbd-dev-led-multicolor: Make it a derivable type
This will allow hw-pattern classes to derive from it.
2024-04-09 15:43:03 +00:00
Guido Günther aa96b064b1 fbd-dev-led-multicolor: Drop unused variable 2024-04-09 15:43:03 +00:00
Guido Günther 987e6371f9 fbd-dev-led-multicolor: Fix indentation 2024-04-09 15:43:03 +00:00
Guido Gunther 7588ecab91 Merge branch 'uncrustify' into 'main'
Update deps and add style check

See merge request Librem5/feedbackd!115
2023-11-18 12:15:57 +00:00
Guido Günther 8020ccc65c ci: Run style checks on merge requests 2023-11-14 17:26:07 +01:00