annotate light8/potserver.py @ 0:45b12307c695

Initial revision
author drewp
date Wed, 03 Jul 2002 09:37:57 +0000
parents
children 238fbd5266ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 #!/usr/bin/python
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 import socket,time
45b12307c695 Initial revision
drewp
parents:
diff changeset
4
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 from io import *
45b12307c695 Initial revision
drewp
parents:
diff changeset
6
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 pots = SerialPots()
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 pots.golive()
45b12307c695 Initial revision
drewp
parents:
diff changeset
9
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 laste=""
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 lastlevs=(0,0,0,0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 dirs=[0,0,0,0]
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 samples=nsends=noises=0
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 watch=0
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 while 1:
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 if samples > 30:
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 fps=1.0*samples/(time.time()-watch)
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 watch=time.time()
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 print "S"*nsends+"n"*noises+" "*(samples-nsends-noises),"%.1f Hz"%fps
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 samples=nsends=noises=0
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 samples+=1
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 l=pots.getlevels()
45b12307c695 Initial revision
drewp
parents:
diff changeset
23
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 # no change at all?
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 if l==lastlevs:
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 time.sleep(.01)
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 continue
45b12307c695 Initial revision
drewp
parents:
diff changeset
28
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 report=0 # we only will report if a dimmer moves twice in the same direction
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 for i in range(0,4):
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 change = l[i]-lastlevs[i]
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 if change!=0:
45b12307c695 Initial revision
drewp
parents:
diff changeset
33 thisdir = (change>0)-(change<0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 if thisdir==dirs[i]:
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 # a dimmer is moving in a constant direction
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 report=1
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 dirs[i]=thisdir
45b12307c695 Initial revision
drewp
parents:
diff changeset
38
45b12307c695 Initial revision
drewp
parents:
diff changeset
39 if report==0:
45b12307c695 Initial revision
drewp
parents:
diff changeset
40 noises+=1
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 continue
45b12307c695 Initial revision
drewp
parents:
diff changeset
42
45b12307c695 Initial revision
drewp
parents:
diff changeset
43 lastlevs = l
45b12307c695 Initial revision
drewp
parents:
diff changeset
44 nsends+=1
45b12307c695 Initial revision
drewp
parents:
diff changeset
45
45b12307c695 Initial revision
drewp
parents:
diff changeset
46 try:
45b12307c695 Initial revision
drewp
parents:
diff changeset
47 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
45b12307c695 Initial revision
drewp
parents:
diff changeset
48 #s.setblocking(1)
45b12307c695 Initial revision
drewp
parents:
diff changeset
49 ret=s.connect_ex(("10.1.0.32", socket.getservbyname('rlslider','tcp')))
45b12307c695 Initial revision
drewp
parents:
diff changeset
50 # print ret
45b12307c695 Initial revision
drewp
parents:
diff changeset
51 s.send("%d %d %d %d\n" % l)
45b12307c695 Initial revision
drewp
parents:
diff changeset
52 s.close()
45b12307c695 Initial revision
drewp
parents:
diff changeset
53 except Exception,e:
45b12307c695 Initial revision
drewp
parents:
diff changeset
54 print str(e)
45b12307c695 Initial revision
drewp
parents:
diff changeset
55 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
45b12307c695 Initial revision
drewp
parents:
diff changeset
56 if ret==111:
45b12307c695 Initial revision
drewp
parents:
diff changeset
57 print time.ctime(),"waiting for server"
45b12307c695 Initial revision
drewp
parents:
diff changeset
58 time.sleep(3)
45b12307c695 Initial revision
drewp
parents:
diff changeset
59 else:
45b12307c695 Initial revision
drewp
parents:
diff changeset
60 print time.ctime(),e
45b12307c695 Initial revision
drewp
parents:
diff changeset
61
45b12307c695 Initial revision
drewp
parents:
diff changeset
62
45b12307c695 Initial revision
drewp
parents:
diff changeset
63