summaryrefslogtreecommitdiff
path: root/ledctl.py
diff options
context:
space:
mode:
authorIngar <ingar@telenet.be>2022-02-12 18:13:48 +0100
committerIngar <ingar@telenet.be>2022-02-12 18:13:48 +0100
commita1a992d701b83669769847d55ec52520bb9ceddc (patch)
tree6a9fef197563bdd41216945d440bc21e47f7962d /ledctl.py
parentdcde75a89adda6683069ad8698c198480c5f43d4 (diff)
Support HTML style color codes #rrggbb.
Diffstat (limited to 'ledctl.py')
-rw-r--r--ledctl.py39
1 files changed, 37 insertions, 2 deletions
diff --git a/ledctl.py b/ledctl.py
index e27d582..798acb9 100644
--- a/ledctl.py
+++ b/ledctl.py
@@ -62,11 +62,46 @@ def rgbval(colorname):
'cyan': (0, 255, 255),
'pink': (255, 0, 255),
}
- return switch.get(colorname, 'Valid colors are black, white, ired, green, blue, yellow, on, off')
+ return switch.get(colorname, (255, 255, 255))
+
+def hexval(letter):
+ switch = {
+ '0': 0,
+ '1': 1,
+ '2': 2,
+ '3': 3,
+ '4': 4,
+ '5': 5,
+ '6': 6,
+ '7': 7,
+ '8': 8,
+ '9': 9,
+ 'A': 10,
+ 'a': 10,
+ 'B': 11,
+ 'b': 11,
+ 'C': 12,
+ 'c': 12,
+ 'D': 13,
+ 'd': 13,
+ 'E': 14,
+ 'e': 14,
+ 'F': 15,
+ 'f': 15,
+ }
+ return switch.get(letter, 0)
if args.color:
#print('color ' + args.color)
- leds_color = rgbval(args.color);
+ if args.color[:1] == '#':
+ red = 16 * hexval(args.color[1:2]) + hexval(args.color[2:3]);
+ green = 16 * hexval(args.color[3:4]) + hexval(args.color[4:5]);
+ blue = 16 * hexval(args.color[5:6]) + hexval(args.color[6:7]);
+ leds_color = (red, green, blue);
+ #print ('color %d %d %d' % leds_color)
+
+ else:
+ leds_color = rgbval(args.color);
if (leds_num > 0):
#print('setting LED %d' % leds_num)