diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example.py	Wed May 13 17:08:41 2009 +0930
@@ -0,0 +1,31 @@
+#!/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()