terom@91: #!/usr/bin/env python3 terom@71: terom@74: import qmsk.dmx terom@71: terom@71: import logging; log = logging.getLogger('dmx') terom@71: terom@71: import argparse terom@71: terom@71: def main (argv) : terom@71: parser = argparse.ArgumentParser() terom@74: parser.add_argument('--serial', default=qmsk.dmx.DMX.SERIAL, terom@71: help="Path to /dev/tty*") terom@71: parser.add_argument('--zero', action='store_true', terom@71: help="Zero output before setting") terom@71: parser.add_argument('--start', type=int, terom@71: help="Set from start offset") terom@71: parser.add_argument('--stop', type=int, terom@71: help="Set to end offset") terom@71: parser.add_argument('--step', type=int, terom@71: help="Step") terom@71: terom@71: parser.add_argument('channels', nargs='*', type=int, terom@71: help="Output channel values") terom@71: terom@71: options = parser.parse_args(argv[1:]) terom@71: terom@71: logging.basicConfig(level=logging.DEBUG) terom@71: terom@74: dmx = qmsk.dmx.DMX.open(options.serial) terom@71: terom@71: if options.zero : terom@71: dmx.zero() terom@71: terom@71: terom@71: if options.start and options.stop and options.step : terom@71: dmx.range(options.start, options.stop, options.step, *options.channels) terom@71: terom@71: elif options.start and options.stop : terom@71: dmx.fill(options.start, options.stop, *options.channels) terom@71: terom@71: elif options.start : terom@71: dmx.set(options.start, *options.channels) terom@71: terom@71: elif options.channels : terom@71: dmx.out(*options.channels) terom@71: terom@71: if __name__ == '__main__': terom@71: import sys terom@71: sys.exit(main(sys.argv))