18 Commits

Author SHA1 Message Date
Adam Honse
d4e802f3b3 Clean up Linux LED controller 2025-10-20 12:23:13 -05:00
Chris Morgan
c1781bc4cb Add support for led_classdev_mc via sysfs
Update the LinuxLEDController to support multicolor LEDs defined by
the Linux kernel. For multicolor LEDs Linux exposes a single
brightness which allows a range of 0 (off) to 255 (max) and a multi_intensity
value that accepts multiple channels of colors. This current implementation
assumes that there are 3 multi_intensity channels between 0 and 255.

https://docs.kernel.org/leds/leds-class-multicolor.html

Note that for now in Linux the brightness value doesn't so much affect
the brightness of the LED as it does apply a coefficient to the individual
channel intensities. For now hard code the brightness to 255 and simply
adjust the intensities to alter the color.

This change should keep the existing sysfs code path as-is and only attempt
to use this new method when a led_rgb_path is present in the config file.

For reference, my OpenRGB.json has the following lines:
`    "LinuxLEDDevices" : {
        "devices": [
            {
                "name": "Fan LED 1",
                "rgb_path": "/sys/class/leds/rgb:programming-0/"
            }
        ]
    }`

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
2025-10-20 12:13:50 -05:00
Adam Honse
c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse
b136e7739a Store name in LinuxLEDController to avoid setting it in detector 2025-08-12 18:44:35 -05:00
Dmitry Kychanov
300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
Adam Honse
523b01054a Update Linux LED controller files to new standardized header comment 2024-05-30 11:23:58 -05:00
Chris M
d2b4ff1c56 Updated OpenRGB.pro to dynamically resolve source files
* Created FORMS macro list dynamically
* Added GUI_H and CONTROLLERS_H list to HEADERS
* Added GUI_CPP and CONTROLLERS_CPP list to SOURCES
* Added unique list of GUI_INCLUDES and CONTROLLER_INCLUDES to INCLUDES
* Adjusted platform specific builds to align build targets
2024-02-21 22:00:02 +11:00
Adam Honse
92f0720639 Remove RGB controllers argument from standard detector 2023-01-26 20:36:02 -06:00
Adam Honse
060567548f Use RegisterRGBController for standard detectors 2023-01-26 20:35:52 -06:00
Adam Honse
6f1e76c8b1 Remove SetCustomMode from all controllers beginning with the letter L 2022-08-14 13:24:38 -05:00
Chris
524675108d Automatic generation of markdown pages for supported devices
+ Added build-supported-devices.sh script
+ Added new target in CI/CD to build at compile time
2022-05-30 13:30:44 +10:00
Chris
bc10e3f772 Automatic generation of udev rules for supported devices
+ Added build-udev-rules.sh script
+ Added new custom target in Linux section of .pro to accommodate new rules location
2022-04-17 12:31:02 +10:00
Adam Honse
f1ed2abe53 Code cleanup round 6 2022-01-19 23:08:29 -06:00
morg
dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
Adam Honse
f70c9cc63e Remove Setting_ prefix from all settings keys 2020-12-03 12:02:15 -06:00
Adam Honse
7b54787dd7 Rework Linux LED detection to use Settings Manager 2020-11-10 15:49:56 -06:00
Adam Honse
f3ccaf1a2b Move RGBController files for device controllers into the Controllers directory 2020-09-29 20:54:04 +00:00
Adam Honse
533bd0c1a0 Linux LED sysfs entries controller 2020-09-26 00:48:11 +00:00