1================== 2Leds BlinkM driver 3================== 4 5The leds-blinkm driver supports the devices of the BlinkM family. 6 7They are RGB-LED modules driven by a (AT)tiny microcontroller and 8communicate through I2C. The default address of these modules is 90x09 but this can be changed through a command. By this you could 10daisy-chain up to 127 BlinkMs on an I2C bus. 11 12The device accepts RGB and HSB color values through separate commands. 13Also you can store blinking sequences as "scripts" in 14the controller and run them. Also fading is an option. 15 16The interface this driver provides is 3-fold: 17 18a) LED multicolor class interface for use with triggers 19####################################################### 20 21The registration follows the scheme:: 22 23 blinkm-<i2c-bus-nr>-<i2c-device-nr>:rgb:indicator 24 25 $ ls -h /sys/class/leds/blinkm-1-9:rgb:indicator 26 brightness device max_brightness multi_index multi_intensity power subsystem trigger uevent 27 28Hue is controlled by the multi_intensity file and lightness is controlled by 29the brightness file. 30 31The order in which to write the intensity values can be found in multi_index. 32Exactly three values between 0 and 255 must be written to multi_intensity to 33change the color:: 34 35 $ echo 255 100 50 > multi_intensity 36 37The overall lightness be changed by writing a value between 0 and 255 to the 38brightness file. 39 40b) LED class interface for use with triggers 41############################################ 42 43The registration follows the scheme:: 44 45 blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color> 46 47 $ ls -h /sys/class/leds/blinkm-6-* 48 /sys/class/leds/blinkm-6-9-blue: 49 brightness device max_brightness power subsystem trigger uevent 50 51 /sys/class/leds/blinkm-6-9-green: 52 brightness device max_brightness power subsystem trigger uevent 53 54 /sys/class/leds/blinkm-6-9-red: 55 brightness device max_brightness power subsystem trigger uevent 56 57(same is /sys/bus/i2c/devices/6-0009/leds) 58 59We can control the colors separated into red, green and blue and 60assign triggers on each color. 61 62E.g.:: 63 64 $ cat blinkm-6-9-blue/brightness 65 05 66 67 $ echo 200 > blinkm-6-9-blue/brightness 68 $ 69 70 $ modprobe ledtrig-heartbeat 71 $ echo heartbeat > blinkm-6-9-green/trigger 72 $ 73 74 75b) Sysfs group to control rgb, fade, hsb, scripts ... 76##################################################### 77 78This extended interface is available as folder blinkm 79in the sysfs folder of the I2C device. 80E.g. below /sys/bus/i2c/devices/6-0009/blinkm 81 82 $ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ 83 blue green red test 84 85Currently supported is just setting red, green, blue 86and a test sequence. 87 88E.g.:: 89 90 $ cat * 91 00 92 00 93 00 94 #Write into test to start test sequence!# 95 96 $ echo 1 > test 97 $ 98 99 $ echo 255 > red 100 $ 101 102 103 104as of 07/2024 105 106dl9pf <at> gmx <dot> de 107jstrauss <at> mailbox <dot> org 108