load_gpib_plot.py

Mon, 10 Dec 2007 20:05:39 +0100

author
David Douard <david.douard@logilab.fr>
date
Mon, 10 Dec 2007 20:05:39 +0100
changeset 0
9af1509775b6
permissions
-rw-r--r--

initial import

import sys
import time
import serial
p = serial.Serial(port="/dev/ttyUSB0", baudrate=115200, timeout=0.1)

p.write('++addr 5\r') # set address to 0
p.write('++mode 0\r') # read listen only mode
p.write('++mode\r')
for i in range(10):    
    mode = p.readline().strip()
    if mode != "":
        break
    time.sleep(0.1)
print "mode = ", mode
if mode == '':
    print "strange"
    sys.exit()

res = ""
i=0

replies={
    "OE": "0",
    "OH": "0,0,10000,7500",
    "OI": "7470A",
    "OP": "0,0,10000,7500",
    "OO": "0,1,0,0,0,0,0,0",
    "OF": "40,40",
    "OS": "24",
    }

while i<15:
    l = p.readline().strip()
    if l == "":
        i += 1
        for k, v in replies.items():
            if res.endswith(k) or res.endswith(k+';'):
                print "got commend", k
                p.write("%s"%v)
                if k == "OS":
                    replies[k] = "16"
                break
        p.write('\r')
        time.sleep(0.1)
        continue
    print "got a new line (%s chars) [i=%s]"%(len(l), i)
    res += l + "\n"
    i = 0
print "over"
print "res = ", res

open('out.gpib', 'w').write(res)

mercurial