dump_as_ascii.py

changeset 1
0670b1f5c155
parent 0
9af1509775b6
child 2
cd9efa64f6da
--- a/dump_as_ascii.py	Mon Dec 10 20:05:39 2007 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-import sys
-import time
-import serial
-
-MODE = {'binary': 'DDBN',
-        'ascii': 'DDAS',
-        'ansi': 'DDAN',
-        }
-class ConnectionError(Exception):
-    pass
-
-def read_trace(cnx, mode="binary"): 
-    mode = mode.lower()
-    assert mode in MODE
-    mode = MODE[mode]
-    res = ""
-    cnx.write('%s\r'%mode)
-    i = 0
-    while i<5:
-        l = cnx.readline()
-        if l.strip() == "":
-            i += 1
-            time.sleep(0.1)
-            continue
-        #print "got a new line (%s chars) [i=%s]"%(len(l), i)
-        res += l 
-        i = 0
-    return res
-
-def open_connection(device="/dev/ttyUSB0", baudrate=115200, timeout=0.1,
-                    address=0, mode=1):
-    p = serial.Serial(port=device, baudrate=baudrate, timeout=timeout)
-
-    p.write('++addr %d\r'%address) # set address to 0
-    p.write('++mode %d\r'%mode) # read listen only mode
-    p.write('++mode\r')
-    i = 0
-    for i in range(10):    
-        rmode = p.readline().strip()
-        if rmode != "":
-            break
-        time.sleep(timeout)
-        
-    if rmode == '' or int(rmode) != mode:
-        raise ConnectionError("Can't set GPIB mode to %s"%mode)
-    return p
-
-
-import optparse
-opt = optparse.OptionParser()
-opt.add_option('-f', '--filename', default=None,
-               dest='filename',
-               help='Output filename. If not set, write to stdout')
-opt.add_option('-d', '--device', default='/dev/ttyUSB0',
-               dest='device',
-               help='Device of the RS232 connection (default: /dev/ttyUSB0)',
-               )
-opt.add_option('-m', '--mode', default='binary',
-               dest='mode',
-               help='Dumping mode (may be "binary" [default], "ascii" or "ansi")',
-               )
-opt.add_option('-a', '--address', default=0,
-               dest='address',
-               help='GPIB address of the device',
-               )
-options, argv = opt.parse_args(sys.argv)
-
-cnx = open_connection(device=options.device,
-                      address=int(options.address), mode=1)
-res = read_trace(cnx, mode=options.mode)
-
-if options.filename:
-    open(options.filename, 'w').write(res)
-else:
-    print res
-    

mercurial