view example.py @ 3:62ffab79227e

Add example.py with pylab plotting example. Tested with the Tek 2024B.
author Daniel O'Connor <darius@dons.net.au>
date Wed, 13 May 2009 17:08:41 +0930
parents
children 51d1fc44a753
line wrap: on
line source

#!/usr/bin/env python

import usb488
import matplotlib.pylab as pylab
import numpy
import time

def main():
    u = usb488.USB488Device()
    print "Found device"

    u.write("*IDN?")
    print "ID is..",
    print u.read()
    
    u.write("DATA:ENC RIB")	# Big endian signed
    u.write("DATA:WIDTH 2")	# 2 bytes wide
    u.write("SELECT:CH1 ON")	# Turn channel 1 on
    u.write("DATA:SOURCE CH1")	# Set the curve source to channel 1
    u.write("CURVE?")		# Ask for the curve data
    time.sleep(1)		# Wait for the data..
    				# XXX: need some way of polling
    result = u.read()
    data = result[13:]		# Chop off the header
    dattype = numpy.dtype('>h')	# Big endian 16 bit quantity
    ary = numpy.fromstring(data, dtype = dattype)
    pylab.plot(ary)
    pylab.show()
    
if __name__ == "__main__":
    main()