diff light8/potserver.py @ 0:45b12307c695

Initial revision
author drewp
date Wed, 03 Jul 2002 09:37:57 +0000
parents
children 238fbd5266ea
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/light8/potserver.py	Wed Jul 03 09:37:57 2002 +0000
@@ -0,0 +1,63 @@
+#!/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
+
+
+