public class Keithley2502Device extends org.lsst.ccs.monitor.Device implements BiasDevice, PhotoDiodeDevice
| Constructor and Description |
|---|
Keithley2502Device()
Constructor *
**************************************************************************
|
Keithley2502Device(String host,
int port)
KeithleyDevice constructor - put Keithley in initial subsystem state
|
| Modifier and Type | Method and Description |
|---|---|
double |
accumBuffer(int nreads,
double nplc)
accumBuffer: start the accumulation of readings into the devices
internal buffer
**************************************************************************
|
double |
accumBuffer(int nreads,
double nplc,
boolean wait)
accumBuffer: start the accumulation of readings into the devices
internal buffer
**************************************************************************
|
double |
accumBufferEx(int nreads,
double nplc,
int nextrig,
double pause)
Start the accumulation of readings into the device's internal buffer
|
protected int[] |
checkChannel(String name,
int hwChan,
String type,
String subtype)
Checks a channel's parameters for validity.
|
void |
clearBuffer()
Clear buffer *
**************************************************************************
|
protected void |
close()
Closes the connection.
|
String |
getAvgState()
Sets the
|
double |
getCurrent()
Shows the set current.
|
String |
getCurrentLimit()
Shows the soft current limit.
|
double |
getLastCurrent() |
double |
getLastVoltage() |
double |
getRunBias(int cfgstate)
Returns the bias value for acquisition *
**************************************************************************
|
int |
getState() |
StringBuilder |
getString(double[] values)
Converts an array of numbers to a string.
|
double |
getVoltage()
Shows the set voltage.
|
String |
getVoltageLimit()
Shows the soft voltage limit.
|
protected void |
initChannel(int chan,
int type,
int subtype)
Initializes a channel.
|
protected void |
initDevice()
Performs configuration.
|
protected void |
initialize()
Initializes the device
**************************************************************************
|
boolean |
isAccumInProgress()
Tells whether PD accumulation is in progress *
**************************************************************************
|
boolean |
isDoPDPlot() |
void |
open()
Opens connection to a device using all defaults *
**************************************************************************
|
String |
open(String host)
Opens connection to a device.
|
String |
open(String host,
int port)
Opens connection to a device.
|
String |
openftdi(String host,
int port)
Opens FTDI connection to a device.
|
String |
query(String str) |
String |
query(String str1,
String str2) |
void |
rampVolts(double duration,
double value)
Ramps to the desired voltage *
**************************************************************************
|
void |
rampVolts(double duration,
double value,
int nsteps)
Ramps to the desired voltage over a given time and for nsteps
|
double[][] |
readBuffer()
Read buffer *
**************************************************************************
|
double[][] |
readBuffer(String filename)
Read buffer and dump it to a file
|
String |
readBufferStr() |
protected double |
readChannel(int chan,
int type)
Reads a channel.
|
double |
readCurrent()
Reads the actual current.
|
double |
readVoltage()
Reads the actual voltage.
|
void |
reset()
reset - reset the Keithley to a known default state
|
void |
send(String str) |
void |
send(String str1,
String str2) |
void |
setAbort(boolean state) |
void |
setArmCount(int count)
Sets ARM count *
**************************************************************************
|
void |
setAvgOn(boolean doAvg)
Sets the
|
void |
setBuffSize(int value)
Set buffer size *
**************************************************************************
|
void |
setCfg(TSConfig cfg) |
void |
setChannel(int value)
Sets the channel.
|
void |
setCurrent(double value)
Sets the current.
|
void |
setCurrentLimit(double value)
Sets the soft current limit.
|
void |
setCurrentRange(double value)
Sets the current range *
**************************************************************************
|
void |
setDisplay(boolean dstate)
Sets the Display ON(true)/OFF(false) *
|
void |
setDoPDPlot(boolean doPDPlot) |
void |
setDPSF(hep.aida.IDataPointSetFactory dpsf)
Sets the data point set factory address *
**************************************************************************
|
void |
setNAvg(int nAvg)
Sets the
|
void |
setOutput(int state)
Turns the output on or off.
|
void |
setRate(double rate)
Sets the read rate in PLC *
**************************************************************************
|
void |
setRunBias(double runBias,
int cfgstate)
Sets the bias value for acquisition *
**************************************************************************
|
void |
setState(int istate) |
void |
setTimeout(double nsec)
Sets the timeout
**************************************************************************
|
void |
setTrigCount(int value)
Sets TRIGger count *
**************************************************************************
|
void |
setVoltage(double value)
Sets the voltage.
|
void |
setVoltageAcq(int cfgstate)
Sets the voltage to the value needed for acquisition.
|
void |
setVoltageLimit(double value)
Sets the soft voltage limit.
|
void |
setVoltageRange(double value)
Sets the voltage range *
**************************************************************************
|
boolean |
showOutput()
Shows the output state.
|
void |
softReset()
softReset - reset the Keithley to a known default state w/o initializing
all settings
|
void |
waitAccum(double timeout)
Wait for accumulation to complete
|
void |
zeroCorrectCurrent()
Zero correct the current *
**************************************************************************
|
addLine, checkHwLine, checkLine, checkOnline, checkTimeout, configure, disable, dropChannel, enable, getDeviceMonitorUpdateTasks, getFullName, getGroupForChannel, getMonitorUpdateTasksForChannels, getName, getOutputLines, getPath, init, initChannel, initSensors, isHwLineSet, isLineSet, isOnline, isTimeout, readChannel, readChannelGroup, readChannelGroup, readChannelNow, setDisabled, setHwLine, setLine, setLineWarm, setOnline, setOutputLines, start, testOnlineclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisOnlineisOnlinepublic Keithley2502Device(String host, int port) throws org.lsst.ccs.drivers.commons.DriverException
host - device addressport - port or baud * * @param runBias CCD bias voltage while
running *
**************************************************************************org.lsst.ccs.drivers.commons.DriverExceptionpublic Keithley2502Device()
public void setCfg(TSConfig cfg)
setCfg in interface BiasDevicesetCfg in interface PhotoDiodeDeviceprotected void initDevice()
initDevice in class org.lsst.ccs.monitor.Device@Command(name="open",
description="Open connection to device using defaults")
public void open()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverExceptionprotected void close()
close in class org.lsst.ccs.monitor.Device@Command(name="init",
description="(re) initialize connection")
protected void initialize()
initialize in class org.lsst.ccs.monitor.Devicepublic void setDPSF(hep.aida.IDataPointSetFactory dpsf)
setDPSF in interface BiasDevicesetDPSF in interface PhotoDiodeDevice@Command(name="open",
description="Open connection to device")
public String open(@Argument(name="host",description="Host name")
String host)
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="open",
description="Open connection to device")
public String open(@Argument(name="host",description="Host name")
String host,
@Argument(name="port",description="Port number")
int port)
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="openftdi",
description="Open FTDI connection to device")
public String openftdi(@Argument(name="serialname",description="Serial device name")
String host,
@Argument(name="baud",description="baud rate")
int port)
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="setarmcount",
description="Set the ARM count")
public void setArmCount(@Argument(name="count",description="ARM count")
int count)
@Command(name="settrigcount",
description="Set the trigger count")
public void setTrigCount(@Argument(name="value",description="trigger count")
int value)
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="setdisplay",
description="Set the display")
public void setDisplay(@Argument(name="OnOff",description="true(ON)/false(OFF)")
boolean dstate)
setDisplay in interface PhotoDiodeDevicedstate - org.lsst.ccs.drivers.commons.DriverException - **************************************************************************@Command(name="clrbuff",
description="Clears the Keithley read buffer")
public void clearBuffer()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(type=QUERY,
name="accumBuffer",
description="start the buffer accumulation")
public double accumBuffer(@Argument(name="nreads",description="#reads (armcount)")
int nreads,
@Argument(name="nplc",description="#Pulse Line Counts btwn reads (0.01->60.)")
double nplc)
accumBuffer in interface PhotoDiodeDevicenreads - nplc - @Command(type=QUERY,
name="accumBuffer",
description="start the buffer accumulation")
public double accumBuffer(@Argument(name="nreads",description="#reads (armcount)")
int nreads,
@Argument(name="nplc",description="#Pulse Line Counts btwn reads (0.01->60.)")
double nplc,
@Argument(name="wait",description="to wait (true) or not to (false)")
boolean wait)
accumBuffer in interface PhotoDiodeDevicenreads - nplc - wait - @Command(type=QUERY,
name="accumBuffer",
description="start the buffer accumulation")
public double accumBufferEx(@Argument(name="nreads",description="#reads (armcount)")
int nreads,
@Argument(name="nplc",description="#Pulse Line Counts btwn reads (0.01->60.)")
double nplc,
@Argument(name="nextrig",description="the number of extra triggers")
int nextrig,
@Argument(name="pause",description="pause in seconds between triggers")
double pause)
accumBufferEx in interface PhotoDiodeDevicenreads - nplc - nextrig - pause - @Command(type=QUERY,
description="Wait for data accumulation to complete")
public void waitAccum(@Argument(description="Timeout (secs)")
double timeout)
waitAccum in interface PhotoDiodeDevicetimeout - @Command(type=QUERY,
name="readBuffer",
description="read the buffer")
public double[][] readBuffer()
readBuffer in interface PhotoDiodeDevice@Command(type=QUERY,
name="readBuffer",
description="read the buffer and dump to file")
public double[][] readBuffer(@Argument(name="filename",description="output filename for the Keithley buffered values")
String filename)
filename - **************************************************************************@Command(name="readBufferStr",
description="read the buffer and returns as a string")
public String readBufferStr()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="setBuffSize",
description="Set the buffer size.")
public void setBuffSize(@Argument(name="value",description="buffer size")
int value)
setBuffSize in interface PhotoDiodeDevicevalue - @Command(name="setVoltageRange",
description="Set the voltage range. Can be 10V, 50V or 500V")
public void setVoltageRange(@Argument(name="value",description="Voltage Range to set")
double value)
setVoltageRange in interface BiasDevicevalue - @Command(name="setVoltage",
description="Set the voltage")
public void setVoltage(@Argument(name="value",description="Voltage to set")
double value)
setVoltage in interface BiasDevicevalue - @Command(name="setChannel",
description="Select the channel")
public void setChannel(@Argument(name="value",description="Channel to select")
int value)
setChannel in interface PhotoDiodeDevicevalue - @Command(name="setVoltageAcq",
description="Set the voltage to the acquisition set point")
public void setVoltageAcq(int cfgstate)
setVoltageAcq in interface BiasDevicecfgstate - @Command(type=QUERY,
name="rampVolts",
description="ramp the voltage")
public void rampVolts(@Argument(name="duration",description="number of seconds to ramp from current voltage to desired voltage")
double duration,
@Argument(name="value",description="Voltage to ramp to")
double value)
rampVolts in interface BiasDeviceduration - value - @Command(type=QUERY,
name="rampVolts",
description="ramp the voltage")
public void rampVolts(@Argument(name="duration",description="number of seconds to ramp from current voltage to desired voltage")
double duration,
@Argument(name="value",description="Voltage to ramp to")
double value,
@Argument(name="nsteps",description="number of steps")
int nsteps)
rampVolts in interface BiasDeviceduration - value - nsteps - **************************************************************************@Command(description="return last current measurement") public double getLastCurrent()
getLastCurrent in interface BiasDevicegetLastCurrent in interface PhotoDiodeDevice@Command(description="return last voltage measurement") public double getLastVoltage()
getLastVoltage in interface BiasDevice@Command(name="getVoltage",
description="Show the set voltage")
public double getVoltage()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(type=QUERY,
name="readVoltage",
description="Read the actual voltage")
public double readVoltage()
readVoltage in interface BiasDevice@Command(name="setVoltageLimit",
description="Set the soft voltage limit")
public void setVoltageLimit(@Argument(name="value",description="Voltage limit to set")
double value)
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="getVoltageLimit",
description="Show the soft voltage limit")
public String getVoltageLimit()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(name="setCurrentRange",
description="Set the current range")
public void setCurrentRange(@Argument(name="value",description="Current Range to set")
double value)
setCurrentRange in interface BiasDevicesetCurrentRange in interface PhotoDiodeDevice@Command(name="setCurrent",
description="Set the current")
public void setCurrent(@Argument(name="value",description="Current to set")
double value)
@Command(name="zeroCorrectCurrent",
description="Zero correct the current")
public void zeroCorrectCurrent()
throws org.lsst.ccs.drivers.commons.DriverException
org.lsst.ccs.drivers.commons.DriverException@Command(type=QUERY,
name="getCurrent",
description="Show the set current")
public double getCurrent()
@Command(type=QUERY,
name="readCurrent",
description="Read the actual current")
public double readCurrent()
readCurrent in interface BiasDevicereadCurrent in interface PhotoDiodeDevice@Command(type=QUERY,
name="isAccumInProgress",
description="Are the current readings being accumulated")
public boolean isAccumInProgress()
isAccumInProgress in interface PhotoDiodeDevice@Command(name="setCurrentLimit",
description="Set the soft current limit")
public void setCurrentLimit(@Argument(name="value",description="Current limit to set")
double value)
setCurrentLimit in interface BiasDevice@Command(type=QUERY,
name="showcurrlim",
description="Show the soft current limit")
public String getCurrentLimit()
getCurrentLimit in interface BiasDevice@Command(name="setRate",
description="sets the read rate in plc")
public void setRate(@Argument(name="rate",description="number of PLC")
double rate)
setRate in interface PhotoDiodeDevice@Command(name="setAvgOn",
description="Control whether the averaging is on")
public void setAvgOn(boolean doAvg)
throws org.lsst.ccs.drivers.commons.DriverException
setAvgOn in interface BiasDevicesetAvgOn in interface PhotoDiodeDevicecfgstate - org.lsst.ccs.drivers.commons.DriverException@Command(name="setNAvg",
description="Controls have many samples to average over")
public void setNAvg(int nAvg)
throws org.lsst.ccs.drivers.commons.DriverException
setNAvg in interface BiasDevicesetNAvg in interface PhotoDiodeDevicecfgstate - org.lsst.ccs.drivers.commons.DriverException@Command(name="getAvgState",
description="true = averaging on")
public String getAvgState()
throws org.lsst.ccs.drivers.commons.DriverException
getAvgState in interface BiasDevicegetAvgState in interface PhotoDiodeDevicecfgstate - org.lsst.ccs.drivers.commons.DriverException@Command(name="setOutput",
description="Turn output on or off. 1 ==> ON")
public void setOutput(@Argument(name="state",description="Output state: on or off")
int state)
setOutput in interface BiasDevice@Command(type=QUERY,
name="showoutput",
description="Show the output state")
public boolean showOutput()
showOutput in interface BiasDevicepublic StringBuilder getString(double[] values)
@Command(name="setTimeout",
description="set timeout for Keithley SCPI communication")
public void setTimeout(@Argument(name="nsec",description="length of timeout in seconds")
double nsec)
setTimeout in interface BiasDevicesetTimeout in interface PhotoDiodeDevicensec - protected int[] checkChannel(String name, int hwChan, String type, String subtype) throws Exception
checkChannel in class org.lsst.ccs.monitor.DeviceExceptionprotected void initChannel(int chan,
int type,
int subtype)
initChannel in class org.lsst.ccs.monitor.Device@Command(name="reset",
description="reset trips etc...")
public void reset()
reset in interface BiasDevicereset in interface PhotoDiodeDevice@Command(name="softReset",
description="soft reset etc...")
public void softReset()
softReset in interface BiasDevicesoftReset in interface PhotoDiodeDeviceprotected double readChannel(int chan,
int type)
readChannel in class org.lsst.ccs.monitor.Devicechan - type - @Command(name="setrunbias",
description="Sets the bias value for acquisition")
public void setRunBias(double runBias,
int cfgstate)
setRunBias in interface BiasDevice@Command(type=QUERY,
name="getRunBias",
description="Returns the bias value for acquisition")
public double getRunBias(int cfgstate)
getRunBias in interface BiasDevice@Command(name="abort",
description="abort or clear abort for any long operation")
public void setAbort(boolean state)
setAbort in interface BiasDevicesetAbort in interface PhotoDiodeDevice@Command(name="setstate",
description="set keithley device status")
public void setState(int istate)
setState in interface BiasDevicesetState in interface PhotoDiodeDevice@Command(type=QUERY,
name="getState",
description="get keithley device status")
public int getState()
getState in interface BiasDevicegetState in interface PhotoDiodeDevicepublic boolean isDoPDPlot()
@Command(description="set whether PD plots are produced")
public void setDoPDPlot(@Argument(description="true for do plots")
boolean doPDPlot)
setDoPDPlot in interface PhotoDiodeDevice@Command(name="send",
description="write a string to the device")
public void send(String str)
send in interface PhotoDiodeDevice@Command(name="send",
description="write a string to the device")
public void send(String str1,
String str2)
send in interface PhotoDiodeDevice@Command(name="query",
description="write a command and read response")
public String query(String str)
query in interface PhotoDiodeDevice@Command(name="query",
description="write a command and read response")
public String query(String str1,
String str2)
query in interface PhotoDiodeDeviceCopyright © 2022 LSST. All rights reserved.