Files
@ 5e905ff44e84
Branch filter:
Location: light9/light8/potserver.py - annotation
5e905ff44e84
1.4 KiB
text/x-python
CC now suports statprof profiling, and every other profile() call is now broken
Ignore-this: bc7c31af6598e7c132d2f847afe8de68
Ignore-this: bc7c31af6598e7c132d2f847afe8de68
45b12307c695 45b12307c695 7f273883de60 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 7f273883de60 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 45b12307c695 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 7f273883de60 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 d8e2492e2947 45b12307c695 45b12307c695 d8e2492e2947 d8e2492e2947 7f273883de60 45b12307c695 45b12307c695 45b12307c695 7f273883de60 7f273883de60 7f273883de60 7f273883de60 7f273883de60 7f273883de60 d8e2492e2947 45b12307c695 45b12307c695 7f273883de60 | #!/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
|