add pty-gpib-emulator from github
This commit is contained in:
77
pty-gpib-emulator/python/SourceMeasurement.py
Normal file
77
pty-gpib-emulator/python/SourceMeasurement.py
Normal file
@@ -0,0 +1,77 @@
|
||||
##
|
||||
## <<<< Source Measurement Unit Emulators >>>>
|
||||
## by Aidan Macdonald (aidan.plenert.macdonald@gmail.com)
|
||||
##
|
||||
## Contains classes that emulate Source Measurement Units
|
||||
##
|
||||
|
||||
import Device, Prologix
|
||||
|
||||
## **** Source Measurement Class ****
|
||||
## by Aidan Macdonald (aidan.plenert.macdonald@gmail.com)
|
||||
##
|
||||
## General model of a basic Source Measurement Unit
|
||||
##
|
||||
|
||||
class SourceMeasurement(Prologix.Prologix_GPIB_USB):
|
||||
|
||||
##%% Initialization SourceMeasurement()
|
||||
## Creates the framework
|
||||
##
|
||||
|
||||
def __init__(self):
|
||||
Prologix.Prologix_GPIB_USB.__init__(self)
|
||||
|
||||
|
||||
|
||||
## **** Keithley 2400 Class ****
|
||||
## by Aidan Macdonald
|
||||
##
|
||||
## Support given for some commands
|
||||
##
|
||||
|
||||
from random import uniform as rand
|
||||
|
||||
class Keithley_2400(SourceMeasurement):
|
||||
|
||||
##%% Initialization - Keithley_2400()
|
||||
## Loads commands
|
||||
##
|
||||
|
||||
def __init__(self):
|
||||
SourceMeasurement.__init__(self)
|
||||
self.addCMD("IDN?", self.version)
|
||||
self.addCMD("*RST", self.noth)
|
||||
self.addCMD("*CLS", self.noth)
|
||||
self.addCMD("ABOR", self.noth)
|
||||
self.addCMD("*CLS", self.noth)
|
||||
self.addCMD("SYST:BEEP:STAT", self.noth)
|
||||
self.addCMD("SOURCE:CLEAR:AUTO", self.noth)
|
||||
self.addCMD("FORM:ELEM", self.noth)
|
||||
self.addCMD(":SOUR:FUNC", self.noth)
|
||||
self.addCMD("read?", self.randFloats)
|
||||
|
||||
## noth(pty, args)
|
||||
## Does nothing
|
||||
##
|
||||
def noth(self, fpl, args):
|
||||
pass # Do nothing
|
||||
|
||||
|
||||
def version(self, fpl, args):
|
||||
return 'KEITHLEY INSTRUMENTS INC.,MODEL 2400.EMULATOR'
|
||||
|
||||
## randFloats(pty, args)
|
||||
## returns a string of random floats
|
||||
##
|
||||
def randFloats(self, fpl, args):
|
||||
return str(rand(0, 2)) + ", " str(rand(0, 2))
|
||||
|
||||
## handleCMD(fpl, cmd, args)
|
||||
## Modified to be case insensitive
|
||||
##
|
||||
def handleCMD(self, fpl, cmd, args):
|
||||
SourceMeasurement.handleCMD(self, fpl, cmd.upper(), args)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user