#!/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))