Hi Dan, On 5/30/19 8:16 PM, Dan Murphy wrote: [...] > +Multicolor Class Brightness Control > +----------------------------------- > +The multicolor class will redirect the device drivers call back > +function for brightness control to the multicolor class brightness > +control function. > + > +The brightness level for each LED is calculated based on the color LED > +brightness setting divided by the color LED max brightness setting multiplied by > +the requested value. > + > +led_brightness = requested_value*(led_color_brightness/led_color_max_brightness) > + > +Example: > +Three LEDs are present in the group as defined in "Directory Layout Example" > +within this document. > + > +A user first writes the color LED brightness file with the brightness level that > +is neccesary to achieve a blueish violet output from the RGB LED group. > + > +echo 138 > /sys/class/leds/rgb:grouped_leds/red/brightness > +echo 43 > /sys/class/leds/rgb:grouped_leds/green/brightness > +echo 226 > /sys/class/leds/rgb:grouped_leds/blue/brightness > + > +red - > + brightness = 138 > + max_brightness = 255 > +green - > + brightness = 43 > + max_brightness = 255 > +blue - > + brightness = 226 > + max_brightness = 255 > + > +The user can control the brightness of that RGB group by writing the parent > +'brightness' control. Assuming a parent max_brightness of 255 the user may want > +to dim the LED color group to half. The user would write a value of 128 to the > +parent brightness file then the values written to each LED will be adjusted > +base on this value > + > +cat /sys/class/leds/rgb:grouped_leds/max_brightness > +255 > +echo 128 > /sys/class/leds/rgb:grouped_leds/brightness > + > +adjusted_red_value = 128 * (138/255) = 69 > +adjusted_green_value = 128 * (43/255) = 21 > +adjusted_blue_value = 128 * (226/255) = 113 > + > +Reading the parent brightness file will return the current brightness value of > +the color LED group. I've tested this algorithm with python script and at least on my LED monitor it works as expected. Attached is the script I've come up with. > +cat /sys/class/leds/rgb:grouped_leds/max_brightness > +255 > + > +echo 128 > /sys/class/leds/rgb:grouped_leds/brightness > + > +cat /sys/class/leds/rgb:grouped_leds/max_brightness > +128 > + > + > -- Best regards, Jacek Anaszewski