Changeset - 238fbd5266ea
[Not reviewed]
default
0 1 0
drewp - 22 years ago 2002-07-13 02:28:18

new server that sends levels like "55 25 47 35\n" on the port 'serpots'
1 file changed with 4 insertions and 46 deletions:
0 comments (0 inline, 0 general)
light8/potserver.py
Show inline comments
 
#!/usr/bin/python
 

	
 
import socket,time
 
import socket
 

	
 
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.connect(("dash", socket.getservbyname('serpots','tcp')))
 

	
 
        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
 
        print "Exception: %s" % e
 

	
 

	
 

	
0 comments (0 inline, 0 general)