Mon, 10 Dec 2007 20:05:39 +0100
initial import
0 | 1 | import sys |
2 | import time | |
3 | import serial | |
4 | p = serial.Serial(port="/dev/ttyUSB0", baudrate=115200, timeout=0.1) | |
5 | ||
6 | p.write('++addr 5\r') # set address to 0 | |
7 | p.write('++mode 0\r') # read listen only mode | |
8 | p.write('++mode\r') | |
9 | for i in range(10): | |
10 | mode = p.readline().strip() | |
11 | if mode != "": | |
12 | break | |
13 | time.sleep(0.1) | |
14 | print "mode = ", mode | |
15 | if mode == '': | |
16 | print "strange" | |
17 | sys.exit() | |
18 | ||
19 | res = "" | |
20 | i=0 | |
21 | ||
22 | replies={ | |
23 | "OE": "0", | |
24 | "OH": "0,0,10000,7500", | |
25 | "OI": "7470A", | |
26 | "OP": "0,0,10000,7500", | |
27 | "OO": "0,1,0,0,0,0,0,0", | |
28 | "OF": "40,40", | |
29 | "OS": "24", | |
30 | } | |
31 | ||
32 | while i<15: | |
33 | l = p.readline().strip() | |
34 | if l == "": | |
35 | i += 1 | |
36 | for k, v in replies.items(): | |
37 | if res.endswith(k) or res.endswith(k+';'): | |
38 | print "got commend", k | |
39 | p.write("%s"%v) | |
40 | if k == "OS": | |
41 | replies[k] = "16" | |
42 | break | |
43 | p.write('\r') | |
44 | time.sleep(0.1) | |
45 | continue | |
46 | print "got a new line (%s chars) [i=%s]"%(len(l), i) | |
47 | res += l + "\n" | |
48 | i = 0 | |
49 | print "over" | |
50 | print "res = ", res | |
51 | ||
52 | open('out.gpib', 'w').write(res) | |
53 | ||
54 |