1 #!/usr/bin/env python |
|
2 |
|
3 import qmsk.dmx |
|
4 |
|
5 import logging; log = logging.getLogger('dmx') |
|
6 |
|
7 import argparse |
|
8 |
|
9 def main (argv) : |
|
10 parser = argparse.ArgumentParser() |
|
11 parser.add_argument('--serial', default=qmsk.dmx.DMX.SERIAL, |
|
12 help="Path to /dev/tty*") |
|
13 parser.add_argument('--zero', action='store_true', |
|
14 help="Zero output before setting") |
|
15 parser.add_argument('--start', type=int, |
|
16 help="Set from start offset") |
|
17 parser.add_argument('--stop', type=int, |
|
18 help="Set to end offset") |
|
19 parser.add_argument('--step', type=int, |
|
20 help="Step") |
|
21 |
|
22 parser.add_argument('channels', nargs='*', type=int, |
|
23 help="Output channel values") |
|
24 |
|
25 options = parser.parse_args(argv[1:]) |
|
26 |
|
27 logging.basicConfig(level=logging.DEBUG) |
|
28 |
|
29 dmx = qmsk.dmx.DMX.open(options.serial) |
|
30 |
|
31 if options.zero : |
|
32 dmx.zero() |
|
33 |
|
34 |
|
35 if options.start and options.stop and options.step : |
|
36 dmx.range(options.start, options.stop, options.step, *options.channels) |
|
37 |
|
38 elif options.start and options.stop : |
|
39 dmx.fill(options.start, options.stop, *options.channels) |
|
40 |
|
41 elif options.start : |
|
42 dmx.set(options.start, *options.channels) |
|
43 |
|
44 elif options.channels : |
|
45 dmx.out(*options.channels) |
|
46 |
|
47 if __name__ == '__main__': |
|
48 import sys |
|
49 sys.exit(main(sys.argv)) |
|