Mercurial > code > home > repos > light9
view light8/potserver.py @ 271:97c08a1c4351
gyrocontroller: remap buttons, fix keep mode
Also, solo mode is now default, colors are brighter, numeric names for subs
are converted to subs with only that channel up, send zeroes when exiting
author | David McClosky <dmcc@bigasterisk.com> |
---|---|
date | Fri, 17 Jun 2005 04:23:07 +0000 |
parents | d8e2492e2947 |
children |
line wrap: on
line source
#!/usr/bin/python import socket,time from io import * pots = SerialPots() pots.golive() laste="" lastlevs=(0,0,0,0) dirs=[0,0,0,0] samples=nsends=noises=0 watch=0 while 1: if samples > 30: fps=1.0*samples/(time.time()-watch) watch=time.time() print "S"*nsends+"n"*noises+" "*(samples-nsends-noises),"%.1f Hz"%fps samples=nsends=noises=0 samples+=1 l=pots.getlevels() # no change at all? if l==lastlevs: time.sleep(.01) continue report=0 # we only will report if a dimmer moves twice in the same direction for i in range(0,4): change = l[i]-lastlevs[i] if change!=0: thisdir = (change>0)-(change<0) if thisdir==dirs[i]: # a dimmer is moving in a constant direction report=1 dirs[i]=thisdir if report==0: noises+=1 continue lastlevs = l nsends+=1 try: s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) #s.setblocking(1) ret=s.connect_ex(("10.1.0.32", socket.getservbyname('rlslider','tcp'))) # print ret s.send("%d %d %d %d\n" % l) s.close() except Exception,e: print str(e) s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) if ret==111: print time.ctime(),"waiting for server" time.sleep(3) else: print time.ctime(),e