view bin/staticclient @ 2011:9b5e313d6dfc

checkpoint show data Ignore-this: 53672a71784dd435d2f70de16f8c1565
author drewp@bigasterisk.com
date Mon, 10 Jun 2019 02:14:25 +0000
parents f066d6e874db
children
line wrap: on
line source

#!bin/python
"""
push a dmx level forever
"""

import time, logging
from optparse import OptionParser
import logging, urllib.request, urllib.parse, urllib.error
from twisted.internet import reactor, tksupport, task
from rdflib import URIRef, RDF, RDFS, Literal

from run_local import log
log.setLevel(logging.DEBUG)

from light9 import dmxclient, showconfig, networking

if __name__ == "__main__":
    parser = OptionParser(usage="%prog")
    parser.add_option('--chan', help='channel number, starts at 1',
                      type=int)  #todo: or name or uri
    parser.add_option('--level', help='0..1', type=float)
    parser.add_option('-v', action='store_true', help="log debug level")

    opts, args = parser.parse_args()

    log.setLevel(logging.DEBUG if opts.v else logging.INFO)

    levels = [0] * (opts.chan - 1) + [opts.level]
    log.info('staticclient will write this forever: %r', levels)

    def write():
        log.debug('writing %r', levels)
        dmxclient.outputlevels(levels, twisted=1)

    log.info('looping...')
    task.LoopingCall(write).start(1)
    reactor.run()