bin/qmsk.dmx
changeset 91 292b26405ee7
parent 74 9031dafa39d6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/qmsk.dmx	Sat Jun 07 13:55:37 2014 +0300
@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+
+import qmsk.dmx
+
+import logging; log = logging.getLogger('dmx')
+
+import argparse
+
+def main (argv) :
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--serial', default=qmsk.dmx.DMX.SERIAL,
+            help="Path to /dev/tty*")
+    parser.add_argument('--zero', action='store_true',
+            help="Zero output before setting")
+    parser.add_argument('--start', type=int,
+            help="Set from start offset")
+    parser.add_argument('--stop', type=int,
+            help="Set to end offset")
+    parser.add_argument('--step', type=int,
+            help="Step")
+
+    parser.add_argument('channels', nargs='*', type=int,
+            help="Output channel values")
+
+    options = parser.parse_args(argv[1:])
+
+    logging.basicConfig(level=logging.DEBUG)
+
+    dmx = qmsk.dmx.DMX.open(options.serial)
+
+    if options.zero :
+        dmx.zero()
+
+
+    if options.start and options.stop and options.step :
+        dmx.range(options.start, options.stop, options.step, *options.channels)
+
+    elif options.start and options.stop :
+        dmx.fill(options.start, options.stop, *options.channels)
+
+    elif options.start :
+        dmx.set(options.start, *options.channels)
+
+    elif options.channels :
+        dmx.out(*options.channels)
+
+if __name__ == '__main__':
+    import sys
+    sys.exit(main(sys.argv))