Skip to content

Latest commit

 

History

History
185 lines (170 loc) · 13.3 KB

README.md

File metadata and controls

185 lines (170 loc) · 13.3 KB

bluld - The Blinkstick user space LED daemon

The Blinkstick family of products are "Smart LED controllers with integrated USB firmware." They register as USB HID devices so Linux doesn't recognize them as part of the LED class. This daemon uses the Linux user space LED driver to bridge the gap.

I use it to bring some "blinking lights" to x86-based router devices running OpenWRT, such as the Protectli, but it is generic enough for any Linux machine.

Using

bluld makes the assumption that only one blinkstick device is connected. At launch time you must give it the number of LEDs on your Blinkstick as well as the colors you would like them to be. You can use friendly color names, or pass a hex value that MUST be prepented with #. (A list of friendly colors that bluld knows is at the bottom of this README.) In the event that blulb cannot understand the color value passed, it will default to red.

Example:

# bluld 5 aqua indigo olive yellow #010203

When bluld is running, you will see an entry for each LED in /sys/class/leds named blinkstick:<number> where number is the number of the led, as in blinkstick:2. From there, you can use the Blinkstick LEDs like any other registered LED.

Building

Requirements

  • Linux kernel > 4.10 (this is where /dev/uleds was introduced.)
  • hidapi-libusb

Making

# cmake .
# make

Colors

This is a list of friendly color names that bluld understands.

  • aqua #00ffff #00ffff
  • aliceblue #f0f8ff #f0f8ff
  • antiquewhite #faebd7 #faebd7
  • black #000000 #000000
  • blue #0000ff #0000ff
  • cyan #00ffff #00ffff
  • darkblue #00008b #00008b
  • darkcyan #008b8b #008b8b
  • darkgreen #006400 #006400
  • darkturquoise #00ced1 #00ced1
  • deepskyblue #00bfff #00bfff
  • green #008000 #008000
  • lime #00ff00 #00ff00
  • mediumblue #0000cd #0000cd
  • mediumspringgreen #00fa9a #00fa9a
  • navy #000080 #000080
  • springgreen #00ff7f #00ff7f
  • teal #008080 #008080
  • midnightblue #191970 #191970
  • dodgerblue #1e90ff #1e90ff
  • lightseagreen #20b2aa #20b2aa
  • forestgreen #228b22 #228b22
  • seagreen #2e8b57 #2e8b57
  • darkslategrey #2f4f4f #2f4f4f
  • limegreen #32cd32 #32cd32
  • mediumseagreen #3cb371 #3cb371
  • turquoise #40e0d0 #40e0d0
  • royalblue #4169e1 #4169e1
  • steelblue #4682b4 #4682b4
  • darkslateblue #483d8b #483d8b
  • mediumturquoise #48d1cc #48d1cc
  • indigo #4b0082 #4b0082
  • darkolivegreen #556b2f #556b2f
  • cadetblue #5f9ea0 #5f9ea0
  • cornflowerblue #6495ed #6495ed
  • mediumaquamarine #66cdaa #66cdaa
  • dimgrey #696969 #696969
  • slateblue #6a5acd #6a5acd
  • olivedrab #6b8e23 #6b8e23
  • slategrey #708090 #708090
  • lightslategrey #778899 #778899
  • mediumslateblue #7b68ee #7b68ee
  • lawngreen #7cfc00 #7cfc00
  • aquamarine #7fffd4 #7fffd4
  • chartreuse #7fff00 #7fff00
  • grey #808080 #808080
  • maroon #800000 #800000
  • olive #808000 #808000
  • purple #800080 #800080
  • lightskyblue #87cefa #87cefa
  • skyblue #87ceeb #87ceeb
  • blueviolet #8a2be2 #8a2be2
  • darkmagenta #8b008b #8b008b
  • darkred #8b0000 #8b0000
  • saddlebrown #8b4513 #8b4513
  • darkseagreen #8fbc8f #8fbc8f
  • lightgreen #90ee90 #90ee90
  • mediumpurple #9370db #9370db
  • darkviolet #9400d3 #9400d3
  • palegreen #98fb98 #98fb98
  • darkorchid #9932cc #9932cc
  • yellowgreen #9acd32 #9acd32
  • sienna #a0522d #a0522d
  • brown #a52a2a #a52a2a
  • darkgrey #a9a9a9 #a9a9a9
  • greenyellow #adff2f #adff2f
  • lightblue #add8e6 #add8e6
  • paleturquoise #afeeee #afeeee
  • lightsteelblue #b0c4de #b0c4de
  • powderblue #b0e0e6 #b0e0e6
  • firebrick #b22222 #b22222
  • darkgoldenrod #b8860b #b8860b
  • mediumorchid #ba55d3 #ba55d3
  • rosybrown #bc8f8f #bc8f8f
  • darkkhaki #bdb76b #bdb76b
  • silver #c0c0c0 #c0c0c0
  • mediumvioletred #c71585 #c71585
  • indianred #cd5c5c #cd5c5c
  • peru #cd853f #cd853f
  • chocolate #d2691e #d2691e
  • tan #d2b48c #d2b48c
  • lightgrey #d3d3d3 #d3d3d3
  • thistle #d8bfd8 #d8bfd8
  • goldenrod #daa520 #daa520
  • orchid #da70d6 #da70d6
  • palevioletred #db7093 #db7093
  • crimson #dc143c #dc143c
  • gainsboro #dcdcdc #dcdcdc
  • plum #dda0dd #dda0dd
  • burlywood #deb887 #deb887
  • lightcyan #e0ffff #e0ffff
  • lavender #e6e6fa #e6e6fa
  • darksalmon #e9967a #e9967a
  • palegoldenrod #eee8aa #eee8aa
  • violet #ee82ee #ee82ee
  • azure #f0ffff #f0ffff
  • honeydew #f0fff0 #f0fff0
  • khaki #f0e68c #f0e68c
  • lightcoral #f08080 #f08080
  • sandybrown #f4a460 #f4a460
  • beige #f5f5dc #f5f5dc
  • mintcream #f5fffa #f5fffa
  • wheat #f5deb3 #f5deb3
  • whitesmoke #f5f5f5 #f5f5f5
  • ghostwhite #f8f8ff #f8f8ff
  • lightgoldenrodyellow #fafad2 #fafad2
  • linen #faf0e6 #faf0e6
  • salmon #fa8072 #fa8072
  • oldlace #fdf5e6 #fdf5e6
  • bisque #ffe4c4 #ffe4c4
  • blanchedalmond #ffebcd #ffebcd
  • coral #ff7f50 #ff7f50
  • cornsilk #fff8dc #fff8dc
  • darkorange #ff8c00 #ff8c00
  • deeppink #ff1493 #ff1493
  • floralwhite #fffaf0 #fffaf0
  • fuchsia #ff00ff #ff00ff
  • gold #ffd700 #ffd700
  • hotpink #ff69b4 #ff69b4
  • ivory #fffff0 #fffff0
  • lavenderblush #fff0f5 #fff0f5
  • lemonchiffon #fffacd #fffacd
  • lightpink #ffb6c1 #ffb6c1
  • lightsalmon #ffa07a #ffa07a
  • lightyellow #ffffe0 #ffffe0
  • magenta #ff00ff #ff00ff
  • mistyrose #ffe4e1 #ffe4e1
  • moccasin #ffe4b5 #ffe4b5
  • navajowhite #ffdead #ffdead
  • orange #ffa500 #ffa500
  • orangered #ff4500 #ff4500
  • papayawhip #ffefd5 #ffefd5
  • peachpuff #ffdab9 #ffdab9
  • pink #ffc0cb #ffc0cb
  • red #ff0000 #ff0000
  • seashell #fff5ee #fff5ee
  • snow #fffafa #fffafa
  • tomato #ff6347 #ff6347
  • white #ffffff #ffffff
  • yellow #ffff00 #ffff00
  • warmwhite #fdf5e6 #fdf5e6