Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
en:python-ivi:readme [2013/08/08 04:38]
alex [Included drivers]
en:python-ivi:readme [2013/08/08 07:08]
alex [Installation]
Line 32: Line 32:
 The Python IVI library is a Pythonized version of the .NET and COM IVI API specifications,​ with the CamelCase for everything but the class names replaced with lowercase_with_underscores. ​ The library most closely follows the .NET standard, with the calls that would require the .NET helper classes follwing the corresponding COM specifications. ​ There are some major deviations from the specification in order to be consistent with the spirit of the other IVI specifications. ​ The fgen class is the most obvious example of this, using properties instead of the getters and setters as required by the IVI specification.  ​ The Python IVI library is a Pythonized version of the .NET and COM IVI API specifications,​ with the CamelCase for everything but the class names replaced with lowercase_with_underscores. ​ The library most closely follows the .NET standard, with the calls that would require the .NET helper classes follwing the corresponding COM specifications. ​ There are some major deviations from the specification in order to be consistent with the spirit of the other IVI specifications. ​ The fgen class is the most obvious example of this, using properties instead of the getters and setters as required by the IVI specification.  ​
  
 +
 +===== Requirements =====
 +
 +  * Python 2 or Python 3
 +  * One or more communication extensions
  
 ===== Installation ===== ===== Installation =====
Line 40: Line 45:
 # python setup.py install # python setup.py install
 </​code>​ </​code>​
 +
 +==== Instrument Communication Extensions ====
 +
 +Python IVI does not contain any IO drivers itself. ​ In order to communicate with an instrument, you must install one or more of the following drivers:
 +
 +=== Python VXI11 ===
 +
 +Python VXI11 provides a pure python TCP/IP driver for LAN based instruments that support the VXI11 protocol. ​ This includes most LXI instruments and also devices like the Agilent E2050 GPIB to LAN converter.  ​
 +
 +Home page:
 +http://​www.alexforencich.com/​wiki/​en/​python-vxi11/​start
 +
 +GitHub repository:
 +https://​github.com/​alexforencich/​python-vxi11
 +
 +=== Python USBTMC ===
 +
 +Python USBTMC provides a pure python USBTMC driver for instruments that support the USB Test and Measurement Class. ​ Python USBTMC uses PyUSB to connect to the instrument in a platform-independent manner.
 +
 +Home page:
 +http://​alexforencich.com/​wiki/​en/​python-usbtmc/​start
 +
 +GitHub repository:
 +https://​github.com/​alexforencich/​python-usbtmc
 +
 +=== Linux GPIB ===
 +
 +Python IVI provides an interface wrapper for the Linux GPIB driver. ​ If the Linux GPIB driver and its included Python interface available, Python IVI can use it to communicate with instruments via any GPIB interface supported by Linux GPIB.  ​
 +
 +Home page:
 +http://​linux-gpib.sourceforge.net/​
 +
 +=== pySerial ===
 +
 +Python IVI provides an interface wrapper for the pySerial library. ​ If pySerial is installed, Python IVI can use it to communicate with instruments via the serial port.  ​
 +
 +Home page:
 +http://​pyserial.sourceforge.net/​
  
 ===== Usage example ===== ===== Usage example =====