summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/led-fader/fade.py
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-05-11 16:06:41 +0200
committermakefu <github@syntax-fehler.de>2017-05-11 16:06:41 +0200
commitd2f896842e59f2e8bdce44926b1bf49672c9c91f (patch)
tree3e4fa3399c9211f6eb8ecd4fe57117c6ef7c9801 /makefu/2configs/deployment/led-fader/fade.py
parent52329b41431de750131c3180b8ab72acfff5152c (diff)
m 2 led-fader: rm ad-hoc script
Diffstat (limited to 'makefu/2configs/deployment/led-fader/fade.py')
-rwxr-xr-xmakefu/2configs/deployment/led-fader/fade.py78
1 files changed, 0 insertions, 78 deletions
diff --git a/makefu/2configs/deployment/led-fader/fade.py b/makefu/2configs/deployment/led-fader/fade.py
deleted file mode 100755
index 8178ad6e8..000000000
--- a/makefu/2configs/deployment/led-fader/fade.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i python3 -p python3 python35Packages.docopt
-""" usage: run [options] NUMLEDS (loop [--skip-unchanged] [STEP] [DELAY]|single STARTVAL)
-
- --add-empty essentially add a single empty led in front, does not count into NUMLEDS
-
- --mode=TYPE mode of fading (Default: chain)
- --output=TYPE output type, either json or raw (Default: json)
- --skip-unchanged if the value in the loop is unchanged, skip the output
-
-running with loop this script essentially becomes a generator which outputs the
-next value each "DELAY"
-single returns a single output with STARTVAL as starting point for the first led
-
-NUMLEDS is the number of leds to output data for (--add-empty does not count in here)
-STEP defaults to 0.01
-DELAY defaults to 1 second
-
-"""
-from docopt import docopt
-import time
-from colorsys import hsv_to_rgb
-import json
-import sys
-
-def calc_chain(numleds,val):
- divisor = 1.0 / numleds
- ret = []
- for i in range(numleds):
- v = float(divisor * i + val) % 1
- r,g,b = hsv_to_rgb(v,0.9,1)
- ret.append([int(r*255),
- int(g*255),
- int(b*255)])
- return ret
-
-def calc_single(numleds,val):
- ret = []
- for i in range(numleds):
- r,g,b = hsv_to_rgb(val,1,1)
- ret.append([int(r*255),
- int(g*255),
- int(b*255)])
- return ret
-
-def main():
- args = docopt(__doc__)
- numleds = int(args['NUMLEDS'])
- mode = args['--mode']
- step = float(args['STEP'] or 0.01)
- delay = float(args['DELAY'] or 1)
- val = float(args['STARTVAL'] or 0)
- last = []
- while True:
- if mode == "chain":
- ret = calc_chain(numleds,val)
- elif mode == "single":
- ret = calc_single(numleds,val)
-
- if args['--add-empty']:
- ret.insert(0,[0,0,0])
-
- # early serialization makes comparsion easy
- ret = json.dumps(ret)
- if not (args['--skip-unchanged'] and last == ret):
- last = ret
- print(ret)
- sys.stdout.flush()
- if args['single']:
- break
- else:
- val += step % 1
- time.sleep(delay)
-
-
-
-if __name__ == "__main__":
- main()