1*4882a593Smuzhiyun================== 2*4882a593SmuzhiyunLeds BlinkM driver 3*4882a593Smuzhiyun================== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThe leds-blinkm driver supports the devices of the BlinkM family. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunThey are RGB-LED modules driven by a (AT)tiny microcontroller and 8*4882a593Smuzhiyuncommunicate through I2C. The default address of these modules is 9*4882a593Smuzhiyun0x09 but this can be changed through a command. By this you could 10*4882a593Smuzhiyundasy-chain up to 127 BlinkMs on an I2C bus. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunThe device accepts RGB and HSB color values through separate commands. 13*4882a593SmuzhiyunAlso you can store blinking sequences as "scripts" in 14*4882a593Smuzhiyunthe controller and run them. Also fading is an option. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunThe interface this driver provides is 2-fold: 17*4882a593Smuzhiyun 18*4882a593Smuzhiyuna) LED class interface for use with triggers 19*4882a593Smuzhiyun############################################ 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunThe registration follows the scheme:: 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color> 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun $ ls -h /sys/class/leds/blinkm-6-* 26*4882a593Smuzhiyun /sys/class/leds/blinkm-6-9-blue: 27*4882a593Smuzhiyun brightness device max_brightness power subsystem trigger uevent 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /sys/class/leds/blinkm-6-9-green: 30*4882a593Smuzhiyun brightness device max_brightness power subsystem trigger uevent 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun /sys/class/leds/blinkm-6-9-red: 33*4882a593Smuzhiyun brightness device max_brightness power subsystem trigger uevent 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun(same is /sys/bus/i2c/devices/6-0009/leds) 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunWe can control the colors separated into red, green and blue and 38*4882a593Smuzhiyunassign triggers on each color. 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunE.g.:: 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun $ cat blinkm-6-9-blue/brightness 43*4882a593Smuzhiyun 05 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun $ echo 200 > blinkm-6-9-blue/brightness 46*4882a593Smuzhiyun $ 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun $ modprobe ledtrig-heartbeat 49*4882a593Smuzhiyun $ echo heartbeat > blinkm-6-9-green/trigger 50*4882a593Smuzhiyun $ 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunb) Sysfs group to control rgb, fade, hsb, scripts ... 54*4882a593Smuzhiyun##################################################### 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunThis extended interface is available as folder blinkm 57*4882a593Smuzhiyunin the sysfs folder of the I2C device. 58*4882a593SmuzhiyunE.g. below /sys/bus/i2c/devices/6-0009/blinkm 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun $ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ 61*4882a593Smuzhiyun blue green red test 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunCurrently supported is just setting red, green, blue 64*4882a593Smuzhiyunand a test sequence. 65*4882a593Smuzhiyun 66*4882a593SmuzhiyunE.g.:: 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun $ cat * 69*4882a593Smuzhiyun 00 70*4882a593Smuzhiyun 00 71*4882a593Smuzhiyun 00 72*4882a593Smuzhiyun #Write into test to start test sequence!# 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun $ echo 1 > test 75*4882a593Smuzhiyun $ 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun $ echo 255 > red 78*4882a593Smuzhiyun $ 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunas of 6/2012 83*4882a593Smuzhiyun 84*4882a593Smuzhiyundl9pf <at> gmx <dot> de 85