Package jisa.devices.interfaces
Interface MCSMU
-
- All Superinterfaces:
IMeter,Instrument,ISource,IVMeter,IVSource,MultiInstrument,SMU,Switch,VMeter,VSource
- All Known Implementing Classes:
DummyMCSMU,K1234,K2600B,TestFET
public interface MCSMU extends SMU, MultiInstrument
Abstract class defining the standard interface for controller Multiple-Channel SMUs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classMCSMU.VirtualSMUClass for controlling an MCSMU channel as if it were a separate SMU-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.SMU
SMU.OffMode
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidcheckChannel(int channel)default <I extends Instrument>
java.util.List<I>get(java.lang.Class<I> type)Returns a list of all sub-instruments this instrument contains that can be considered to be of the given instrument type.default intgetAverageCount()Returns how many measurements the SMU is using to perform its averaging on the default channel.intgetAverageCount(int channel)Returns how many measurements the SMU is using to perform its averaging on the specified channel.default AModegetAverageMode()Returns which averaging mode the SMU is currently using for measurements on the default channel.AModegetAverageMode(int channel)Returns which averaging mode the SMU is currently using for measurements on the specified channel.default SMUgetChannel(int channel)Returns a virtual SMU object to control the specified channel of the MCSMUdefault java.lang.Class<SMU>getChannelClass()default java.util.List<SMU>getChannels()default doublegetCurrent()Returns the current of the default channeldoublegetCurrent(int channel)Returns the current of the specified channeldefault doublegetCurrentLimit()Returns the limit (compliance) on current when not being sourced on the default channel.doublegetCurrentLimit(int channel)Returns the limit (compliance) on current when not being sourced on the specified channel.default doublegetCurrentRange()Returns the range being used for voltage values on the default channel.doublegetCurrentRange(int channel)Returns the range being used for current values on the specified channel.static java.lang.StringgetDescription()default doublegetIntegrationTime()Returns the integration time used for measurements on the default channel.doublegetIntegrationTime(int channel)Returns the integration time used for measurements on the specified channel.default IVPointgetIVPoint()Returns a combined voltage and current measurement from the default channel.default IVPointgetIVPoint(int channel)Returns a combined voltage and current measurement from the specified channel.default MCIVPointgetMCIVPoint()Returns combined voltage and current measurements for each channel.default doublegetMeasureRange()Returns the range being used for the measured quantity on the default channel.doublegetMeasureRange(int channel)Returns the range being used for the measured quantity on the specified channel.default doublegetMeasureValue()Returns the value of whichever quantity is being measured on the default channeldoublegetMeasureValue(int channel)Returns the value of whichever quantity is being measured on the specified channeljava.lang.StringgetName(int channel)intgetNumChannels()Returns the number of channels this SMU has.default SMU.OffModegetOffMode()Returns the mode used by the SMU channel when turned off.SMU.OffModegetOffMode(int channel)default doublegetOutputLimit()Returns the limit (compliance) on whichever quantity is not being sourced on the default channel.doublegetOutputLimit(int channel)Returns the limit (compliance) on whichever quantity is not being sourced on the specified channel.default SourcegetSource()Returns the source mode of the default channelSourcegetSource(int channel)Returns the source mode of the specified channeldefault doublegetSourceRange()Returns the range being used for the sourced quantity on the default channel.doublegetSourceRange(int channel)Returns the range being used for the sourced quantity on the specified channel.default doublegetSourceValue()Returns the value of whichever quantity is being sourced on the default channeldoublegetSourceValue(int channel)Returns the value of whichever quantity is being sourced on the specified channeldefault <I extends Instrument>
IgetSubInstrument(java.lang.Class<I> type, int index)default java.util.List<java.lang.Class<? extends Instrument>>getSubInstrumentTypes()Returns a list of all the different classes of sub-instruments that this instrument contains.default TerminalsgetTerminals()Returns the type of the set of terminals currently being used on the SMU.TerminalsgetTerminals(int channel)TTypegetTerminalType(int channel, Terminals terminals)default TTypegetTerminalType(Terminals terminals)Returns what type of connector is used for the given terminal.default doublegetVoltage()Returns the voltage of the default channeldoublegetVoltage(int channel)Returns the voltage of the specified channeldefault doublegetVoltageLimit()Returns the limit (compliance) on voltage when not being sourced on the default channel.doublegetVoltageLimit(int channel)Returns the limit (compliance) on voltage when not being sourced on the specified channel.default doublegetVoltageRange()Returns the range being used for voltage values on the default channel.doublegetVoltageRange(int channel)Returns the range being used for voltage values on the specified channel.default booleanisAutoRangingCurrent()Returns whether auto-ranging is being used for voltage values on the default channel.booleanisAutoRangingCurrent(int channel)Returns whether auto-ranging is being used for current values on the specified channel.default booleanisAutoRangingMeasure()Returns whether auto-ranging is being used for the measured quantity on the default channel.booleanisAutoRangingMeasure(int channel)Returns whether auto-ranging is being used for the measured quantity on the specified channel.default booleanisAutoRangingSource()Returns whether auto-ranging is being used for the source quantity on the default channel.booleanisAutoRangingSource(int channel)Returns whether auto-ranging is being used for the source quantity on the specified channel.default booleanisAutoRangingVoltage()Returns whether auto-ranging is being used for voltage values on the default channel.booleanisAutoRangingVoltage(int channel)Returns whether auto-ranging is being used for voltage values on the specified channel.default booleanisFourProbeEnabled()Returns whether the device is currently configured to use all four probes on the default channel.booleanisFourProbeEnabled(int channel)Returns whether the device is currently configured to use all four probes on the specified channel.default booleanisLineFilterEnabled()Returns whether the voltmeter is using any line-frequency filteringbooleanisLineFilterEnabled(int channel)Returns whether the voltmeter is using any line-frequency filteringdefault booleanisOn()Returns whether the default channel currently has its output enabledbooleanisOn(int channel)Returns whether the specified channel currently has its output enableddefault voidsetAverageCount(int count)Sets how many measurements to use when averaging on all channels.voidsetAverageCount(int channel, int count)Sets how many measurements to use when averaging on the specified channel.voidsetAverageMode(int channel, AMode mode)Sets which type of averaging the SMU should use when making a measurement on the specified channel.default voidsetAverageMode(AMode mode)Sets which type of averaging the SMU should use when making a measurement on all channels.default voidsetAveraging(int channel, AMode mode, int count)Sets both the averaging mode and count together for the specified channel.default voidsetAveraging(AMode mode, int count)Sets both the averaging mode and count together for all channels.voidsetBias(int channel, double level)Sets the level of whichever quantity is being sourced on the specified channeldefault voidsetCurrent(double current)Sets the default channel to source the given current (when turned on)voidsetCurrent(int channel, double current)Sets the specified channel to source the given current (when turned on)default voidsetCurrentLimit(double value)Sets the limit (compliance) on current when not being sourced on the all channels.voidsetCurrentLimit(int channel, double value)Sets the limit (compliance) on current when not being sourced on the specified channel.default voidsetCurrentRange(double value)Sets the range (and thus precision) to use for current values on all channels.voidsetCurrentRange(int channel, double value)Sets the range (and thus precision) to use for current values on the specified channel.default voidsetFourProbeEnabled(boolean fourProbes)Sets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes on all channels.voidsetFourProbeEnabled(int channel, boolean fourProbes)Sets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes on the specified channel.default voidsetIntegrationTime(double time)Sets the integration time to use for measurements on all channels.voidsetIntegrationTime(int channel, double time)Sets the integration time to use for measurements on the specified channel.default voidsetLimits(double voltageLimit, double currentLimit)Sets the limits for both voltage and current (when not being sourced) on all channels.default voidsetLimits(int channel, double voltageLimit, double currentLimit)Sets the limits for both voltage and current (when not being sourced) on the specified channel.default voidsetLineFilterEnabled(boolean enabled)Sets whether the voltmeter should use any line-frequency filtering (if available)voidsetLineFilterEnabled(int channel, boolean enabled)Sets whether the voltmeter should use any line-frequency filtering (if available)default voidsetMeasureRange(double value)Sets the range (and thus precision) to use for the measured quantity on all channels.voidsetMeasureRange(int channel, double value)Sets the range (and thus precision) to use for the measured quantity on the given channel.voidsetOffMode(int channel, SMU.OffMode mode)default voidsetOffMode(SMU.OffMode mode)Sets which mode the SMU channel should use when turned off.default voidsetOutputLimit(double value)Sets the limit (compliance) on whichever quantity is not being sourced on all channels.voidsetOutputLimit(int channel, double value)Sets the limit (compliance) on whichever quantity is not being sourced on the given channel.default voidsetRanges(double voltageRange, double currentRange)Sets both the voltage and current ranges to use on all channels.default voidsetRanges(int channel, double voltageRange, double currentRange)Sets both the voltage and current ranges to use on the specified channel.voidsetSource(int channel, Source source)Sets the source mode of the specified channeldefault voidsetSource(Source source)Sets the source mode of all channelsdefault voidsetSourceRange(double value)Sets the range (and thus precision) to use for the sourced quantity on all channels.voidsetSourceRange(int channel, double value)Sets the range (and thus precision) to use for the sourced quantity on the given channel.default voidsetSourceValue(double level)Sets the level of whichever quantity is being sourced on all channelsvoidsetTerminals(int channel, Terminals terminals)default voidsetTerminals(Terminals terminals)Sets which set of terminals should be used on the SMU.default voidsetVoltage(double voltage)Sets the default channel to source the given voltage (when turned on)voidsetVoltage(int channel, double voltage)Sets the specified channel to source the given voltage (when turned on)default voidsetVoltageLimit(double value)Sets the limit (compliance) on voltage when not being sourced on all channels.voidsetVoltageLimit(int channel, double value)Sets the limit (compliance) on voltage values when not being sourced on the specified channel.default voidsetVoltageRange(double value)Sets the range (and thus precision) to use for voltage values on all channels.voidsetVoltageRange(int channel, double value)Sets the range (and thus precision) to use for voltage values on the specified channel.default voidturnOff()Disables output on all channelsvoidturnOff(int channel)Disables output on the specified channeldefault voidturnOn()Enables output on all channelsvoidturnOn(int channel)Enables output on the specified channeldefault voiduseAutoCurrentRange()Tells the SMU to use auto-ranging for voltage values on all channels.voiduseAutoCurrentRange(int channel)Tells the SMU to use auto-ranging for current values on the specified channel.default voiduseAutoMeasureRange()Tells the SMU to use auto-ranging for the measured quantity on all channels.voiduseAutoMeasureRange(int channel)Tells the SMU to use auto-ranging for the measured quantity on the specified channel.default voiduseAutoRanges()Tells the SMU to use auto-ranging for both voltage and current on all channels.default voiduseAutoRanges(int channel)Tells the SMU to use auto-ranging for both voltage and current on the specified channel.default voiduseAutoSourceRange()Tells the SMU to use auto-ranging for the sourced quantity on all channels.voiduseAutoSourceRange(int channel)Tells the SMU to use auto-ranging for the sourced quantity on the specified channel.default voiduseAutoVoltageRange()Tells the SMU to use auto-ranging for voltage values on all channels.voiduseAutoVoltageRange(int channel)Tells the SMU to use auto-ranging for voltage values on the specified channel.-
Methods inherited from interface jisa.devices.interfaces.IMeter
waitForStableCurrent
-
Methods inherited from interface jisa.devices.interfaces.Instrument
close, getAddress, getConfigurationParameters, getIDN, getLockObject, getName, setTimeout
-
Methods inherited from interface jisa.devices.interfaces.IVSource
getSetCurrent, getSetVoltage
-
Methods inherited from interface jisa.devices.interfaces.MultiInstrument
contains, contains, get, getSubInstruments, getSubInstruments
-
Methods inherited from interface jisa.devices.interfaces.SMU
asAmmeter, asVoltmeter, getConfigurationParameters, getCurrent, getVoltage, pulseVoltage, setOn
-
Methods inherited from interface jisa.devices.interfaces.VMeter
waitForStableVoltage
-
-
-
-
Method Detail
-
getDescription
static java.lang.String getDescription()
-
getSubInstrumentTypes
default java.util.List<java.lang.Class<? extends Instrument>> getSubInstrumentTypes()
Description copied from interface:MultiInstrumentReturns a list of all the different classes of sub-instruments that this instrument contains.- Specified by:
getSubInstrumentTypesin interfaceMultiInstrument- Returns:
- List of sub-instrument classes
-
get
default <I extends Instrument> java.util.List<I> get(java.lang.Class<I> type)
Description copied from interface:MultiInstrumentReturns a list of all sub-instruments this instrument contains that can be considered to be of the given instrument type.- Specified by:
getin interfaceMultiInstrument- Type Parameters:
I- Instrument class- Parameters:
type- The class object of sub-instrument to return- Returns:
- List of sub-instruments matching the given class
-
getSubInstrument
default <I extends Instrument> I getSubInstrument(java.lang.Class<I> type, int index)
- Specified by:
getSubInstrumentin interfaceMultiInstrument
-
getName
java.lang.String getName(int channel)
-
getVoltage
double getVoltage(int channel) throws DeviceException, java.io.IOExceptionReturns the voltage of the specified channel- Parameters:
channel- Channel number- Returns:
- Voltage, in Volts
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getVoltage
default double getVoltage() throws DeviceException, java.io.IOExceptionReturns the voltage of the default channel- Specified by:
getVoltagein interfaceSMU- Specified by:
getVoltagein interfaceVMeter- Specified by:
getVoltagein interfaceVSource- Returns:
- Voltage, in Volts
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setVoltage
default void setVoltage(double voltage) throws DeviceException, java.io.IOExceptionSets the default channel to source the given voltage (when turned on)- Specified by:
setVoltagein interfaceSMU- Specified by:
setVoltagein interfaceVSource- Parameters:
voltage- Voltage to source, in Volts- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getCurrent
double getCurrent(int channel) throws DeviceException, java.io.IOExceptionReturns the current of the specified channel- Parameters:
channel- Channel number- Returns:
- Current, in Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getCurrent
default double getCurrent() throws DeviceException, java.io.IOExceptionReturns the current of the default channel- Specified by:
getCurrentin interfaceIMeter- Specified by:
getCurrentin interfaceISource- Specified by:
getCurrentin interfaceSMU- Returns:
- Current, in Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setCurrent
default void setCurrent(double current) throws DeviceException, java.io.IOExceptionSets the default channel to source the given current (when turned on)- Specified by:
setCurrentin interfaceISource- Specified by:
setCurrentin interfaceSMU- Parameters:
current- Current to source, in Amps- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setVoltage
void setVoltage(int channel, double voltage) throws DeviceException, java.io.IOExceptionSets the specified channel to source the given voltage (when turned on)- Parameters:
channel- Channel numbervoltage- Voltage to source, in Volts- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setCurrent
void setCurrent(int channel, double current) throws DeviceException, java.io.IOExceptionSets the specified channel to source the given current (when turned on)- Parameters:
channel- Channel numbercurrent- Current to source, in Amps- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
turnOn
void turnOn(int channel) throws DeviceException, java.io.IOExceptionEnables output on the specified channel- Parameters:
channel- Channel number- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
turnOn
default void turnOn() throws DeviceException, java.io.IOExceptionEnables output on all channels- Specified by:
turnOnin interfaceIMeter- Specified by:
turnOnin interfaceISource- Specified by:
turnOnin interfaceSMU- Specified by:
turnOnin interfaceSwitch- Specified by:
turnOnin interfaceVMeter- Specified by:
turnOnin interfaceVSource- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
turnOff
void turnOff(int channel) throws DeviceException, java.io.IOExceptionDisables output on the specified channel- Parameters:
channel- Channel number- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
turnOff
default void turnOff() throws DeviceException, java.io.IOExceptionDisables output on all channels- Specified by:
turnOffin interfaceIMeter- Specified by:
turnOffin interfaceISource- Specified by:
turnOffin interfaceSMU- Specified by:
turnOffin interfaceSwitch- Specified by:
turnOffin interfaceVMeter- Specified by:
turnOffin interfaceVSource- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
isOn
boolean isOn(int channel) throws DeviceException, java.io.IOExceptionReturns whether the specified channel currently has its output enabled- Parameters:
channel- Channel number- Returns:
- Is it enabled?
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
isOn
default boolean isOn() throws DeviceException, java.io.IOExceptionReturns whether the default channel currently has its output enabled- Specified by:
isOnin interfaceIMeter- Specified by:
isOnin interfaceISource- Specified by:
isOnin interfaceSMU- Specified by:
isOnin interfaceSwitch- Specified by:
isOnin interfaceVMeter- Specified by:
isOnin interfaceVSource- Returns:
- Is it enabled?
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setSource
void setSource(int channel, Source source) throws DeviceException, java.io.IOExceptionSets the source mode of the specified channel- Parameters:
channel- Channel numbersource- VOLTAGE or CURRENT- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getSource
Source getSource(int channel) throws DeviceException, java.io.IOException
Returns the source mode of the specified channel- Parameters:
channel- Channel number- Returns:
- Source mode (VOLTAGE or CURRENT)
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getSource
default Source getSource() throws DeviceException, java.io.IOException
Returns the source mode of the default channel- Specified by:
getSourcein interfaceSMU- Returns:
- Source mode (VOLTAGE or CURRENT)
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setSource
default void setSource(Source source) throws DeviceException, java.io.IOException
Sets the source mode of all channels- Specified by:
setSourcein interfaceSMU- Parameters:
source- VOLTAGE or CURRENT- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setBias
void setBias(int channel, double level) throws DeviceException, java.io.IOExceptionSets the level of whichever quantity is being sourced on the specified channel- Parameters:
channel- Channel numberlevel- Volts or Amps- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
setSourceValue
default void setSourceValue(double level) throws DeviceException, java.io.IOExceptionSets the level of whichever quantity is being sourced on all channels- Specified by:
setSourceValuein interfaceSMU- Parameters:
level- Volts or Amps- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getSourceValue
double getSourceValue(int channel) throws DeviceException, java.io.IOExceptionReturns the value of whichever quantity is being sourced on the specified channel- Parameters:
channel- Channel number- Returns:
- Voltage or Current, in Volts or Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getSourceValue
default double getSourceValue() throws DeviceException, java.io.IOExceptionReturns the value of whichever quantity is being sourced on the default channel- Specified by:
getSourceValuein interfaceSMU- Returns:
- Voltage or Current, in Volts or Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getMeasureValue
double getMeasureValue(int channel) throws DeviceException, java.io.IOExceptionReturns the value of whichever quantity is being measured on the specified channel- Parameters:
channel- Channel number- Returns:
- Voltage or Current, in Volts or Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getMeasureValue
default double getMeasureValue() throws DeviceException, java.io.IOExceptionReturns the value of whichever quantity is being measured on the default channel- Specified by:
getMeasureValuein interfaceSMU- Returns:
- Voltage or Current, in Volts or Amps
- Throws:
DeviceException- Upon device compatibility errorjava.io.IOException- Upon communications error
-
getNumChannels
int getNumChannels()
Returns the number of channels this SMU has.- Returns:
- Number of channels
-
setFourProbeEnabled
void setFourProbeEnabled(int channel, boolean fourProbes) throws DeviceException, java.io.IOExceptionSets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes on the specified channel.- Parameters:
channel- Channel numberfourProbes- Should it use all four probes?- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setFourProbeEnabled
default void setFourProbeEnabled(boolean fourProbes) throws DeviceException, java.io.IOExceptionSets whether the SMU should apply source using FORCE probes and measure using separate SENSE probes or whether is should do both with the FORCE probes on all channels.- Specified by:
setFourProbeEnabledin interfaceSMU- Parameters:
fourProbes- Should it use all four probes?- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isFourProbeEnabled
boolean isFourProbeEnabled(int channel) throws DeviceException, java.io.IOExceptionReturns whether the device is currently configured to use all four probes on the specified channel.- Parameters:
channel- Channel number- Returns:
- Are all probes to be used?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isFourProbeEnabled
default boolean isFourProbeEnabled() throws DeviceException, java.io.IOExceptionReturns whether the device is currently configured to use all four probes on the default channel.- Specified by:
isFourProbeEnabledin interfaceSMU- Returns:
- Are all probes to be used?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageMode
void setAverageMode(int channel, AMode mode) throws DeviceException, java.io.IOExceptionSets which type of averaging the SMU should use when making a measurement on the specified channel.- Parameters:
channel- Channel numbermode- Averaging mode- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageCount
void setAverageCount(int channel, int count) throws DeviceException, java.io.IOExceptionSets how many measurements to use when averaging on the specified channel.- Parameters:
channel- Channel numbercount- Averaging count- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAveraging
default void setAveraging(int channel, AMode mode, int count) throws DeviceException, java.io.IOExceptionSets both the averaging mode and count together for the specified channel.- Parameters:
channel- Channel numbermode- Averaging modecount- Averaging count- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAveraging
default void setAveraging(AMode mode, int count) throws DeviceException, java.io.IOException
Sets both the averaging mode and count together for all channels.- Specified by:
setAveragingin interfaceSMU- Parameters:
mode- Averaging modecount- Averaging count- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageCount
int getAverageCount(int channel) throws DeviceException, java.io.IOExceptionReturns how many measurements the SMU is using to perform its averaging on the specified channel.- Parameters:
channel- Channel number- Returns:
- Averaging count
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageCount
default int getAverageCount() throws DeviceException, java.io.IOExceptionReturns how many measurements the SMU is using to perform its averaging on the default channel.- Specified by:
getAverageCountin interfaceIMeter- Specified by:
getAverageCountin interfaceSMU- Specified by:
getAverageCountin interfaceVMeter- Returns:
- Averaging count
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageCount
default void setAverageCount(int count) throws DeviceException, java.io.IOExceptionSets how many measurements to use when averaging on all channels.- Specified by:
setAverageCountin interfaceIMeter- Specified by:
setAverageCountin interfaceSMU- Specified by:
setAverageCountin interfaceVMeter- Parameters:
count- Averaging count- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageMode
AMode getAverageMode(int channel) throws DeviceException, java.io.IOException
Returns which averaging mode the SMU is currently using for measurements on the specified channel.- Parameters:
channel- Channel number- Returns:
- Averaging mode
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageMode
default AMode getAverageMode() throws DeviceException, java.io.IOException
Returns which averaging mode the SMU is currently using for measurements on the default channel.- Specified by:
getAverageModein interfaceIMeter- Specified by:
getAverageModein interfaceSMU- Specified by:
getAverageModein interfaceVMeter- Returns:
- Averaging mode
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageMode
default void setAverageMode(AMode mode) throws DeviceException, java.io.IOException
Sets which type of averaging the SMU should use when making a measurement on all channels.- Specified by:
setAverageModein interfaceIMeter- Specified by:
setAverageModein interfaceSMU- Specified by:
setAverageModein interfaceVMeter- Parameters:
mode- Averaging mode- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setSourceRange
void setSourceRange(int channel, double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for the sourced quantity on the given channel.- Parameters:
channel- Channel numbervalue- Range value, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getSourceRange
double getSourceRange(int channel) throws DeviceException, java.io.IOExceptionReturns the range being used for the sourced quantity on the specified channel.- Parameters:
channel- Channel number- Returns:
- Range value, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getSourceRange
default double getSourceRange() throws DeviceException, java.io.IOExceptionReturns the range being used for the sourced quantity on the default channel.- Specified by:
getSourceRangein interfaceSMU- Returns:
- Range value, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setSourceRange
default void setSourceRange(double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for the sourced quantity on all channels.- Specified by:
setSourceRangein interfaceSMU- Parameters:
value- Range value, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoSourceRange
void useAutoSourceRange(int channel) throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for the sourced quantity on the specified channel.- Parameters:
channel- Channel number- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoSourceRange
default void useAutoSourceRange() throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for the sourced quantity on all channels.- Specified by:
useAutoSourceRangein interfaceSMU- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingSource
boolean isAutoRangingSource(int channel) throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for the source quantity on the specified channel.- Parameters:
channel- Channel number- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingSource
default boolean isAutoRangingSource() throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for the source quantity on the default channel.- Specified by:
isAutoRangingSourcein interfaceSMU- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setMeasureRange
void setMeasureRange(int channel, double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for the measured quantity on the given channel.- Parameters:
channel- Channel numbervalue- Range value, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getMeasureRange
double getMeasureRange(int channel) throws DeviceException, java.io.IOExceptionReturns the range being used for the measured quantity on the specified channel.- Parameters:
channel- Channel number- Returns:
- Range value, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getMeasureRange
default double getMeasureRange() throws DeviceException, java.io.IOExceptionReturns the range being used for the measured quantity on the default channel.- Specified by:
getMeasureRangein interfaceSMU- Returns:
- Range value, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setMeasureRange
default void setMeasureRange(double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for the measured quantity on all channels.- Specified by:
setMeasureRangein interfaceSMU- Parameters:
value- Range value, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoMeasureRange
void useAutoMeasureRange(int channel) throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for the measured quantity on the specified channel.- Parameters:
channel- Channel number- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoMeasureRange
default void useAutoMeasureRange() throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for the measured quantity on all channels.- Specified by:
useAutoMeasureRangein interfaceSMU- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingMeasure
boolean isAutoRangingMeasure(int channel) throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for the measured quantity on the specified channel.- Parameters:
channel- Channel number- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingMeasure
default boolean isAutoRangingMeasure() throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for the measured quantity on the default channel.- Specified by:
isAutoRangingMeasurein interfaceSMU- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setVoltageRange
void setVoltageRange(int channel, double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for voltage values on the specified channel.- Parameters:
channel- Channel numbervalue- Range, in Volts- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getVoltageRange
double getVoltageRange(int channel) throws DeviceException, java.io.IOExceptionReturns the range being used for voltage values on the specified channel.- Parameters:
channel- Channel number- Returns:
- Range, in Volts
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getVoltageRange
default double getVoltageRange() throws DeviceException, java.io.IOExceptionReturns the range being used for voltage values on the default channel.- Specified by:
getVoltageRangein interfaceSMU- Specified by:
getVoltageRangein interfaceVMeter- Returns:
- Range, in Volts
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setVoltageRange
default void setVoltageRange(double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for voltage values on all channels.- Specified by:
setVoltageRangein interfaceSMU- Specified by:
setVoltageRangein interfaceVMeter- Parameters:
value- Range, in Volts- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoVoltageRange
void useAutoVoltageRange(int channel) throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for voltage values on the specified channel.- Parameters:
channel- Channel number- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoVoltageRange
default void useAutoVoltageRange() throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for voltage values on all channels.- Specified by:
useAutoVoltageRangein interfaceSMU- Specified by:
useAutoVoltageRangein interfaceVMeter- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingVoltage
boolean isAutoRangingVoltage(int channel) throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for voltage values on the specified channel.- Parameters:
channel- Channel number- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingVoltage
default boolean isAutoRangingVoltage() throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for voltage values on the default channel.- Specified by:
isAutoRangingVoltagein interfaceSMU- Specified by:
isAutoRangingVoltagein interfaceVMeter- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setCurrentRange
void setCurrentRange(int channel, double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for current values on the specified channel.- Parameters:
channel- Channel numbervalue- Range, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrentRange
double getCurrentRange(int channel) throws DeviceException, java.io.IOExceptionReturns the range being used for current values on the specified channel.- Parameters:
channel- Channel number- Returns:
- Range, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrentRange
default double getCurrentRange() throws DeviceException, java.io.IOExceptionReturns the range being used for voltage values on the default channel.- Specified by:
getCurrentRangein interfaceIMeter- Specified by:
getCurrentRangein interfaceSMU- Returns:
- Range, in Volts
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setCurrentRange
default void setCurrentRange(double value) throws DeviceException, java.io.IOExceptionSets the range (and thus precision) to use for current values on all channels.- Specified by:
setCurrentRangein interfaceIMeter- Specified by:
setCurrentRangein interfaceSMU- Parameters:
value- Range, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoCurrentRange
void useAutoCurrentRange(int channel) throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for current values on the specified channel.- Parameters:
channel- Channel number- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoCurrentRange
default void useAutoCurrentRange() throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for voltage values on all channels.- Specified by:
useAutoCurrentRangein interfaceIMeter- Specified by:
useAutoCurrentRangein interfaceSMU- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingCurrent
boolean isAutoRangingCurrent(int channel) throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for current values on the specified channel.- Parameters:
channel- Channel number- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingCurrent
default boolean isAutoRangingCurrent() throws DeviceException, java.io.IOExceptionReturns whether auto-ranging is being used for voltage values on the default channel.- Specified by:
isAutoRangingCurrentin interfaceIMeter- Specified by:
isAutoRangingCurrentin interfaceSMU- Returns:
- Auto-ranging in use?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setOutputLimit
void setOutputLimit(int channel, double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on whichever quantity is not being sourced on the given channel.- Parameters:
channel- Channel numbervalue- Limit, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getOutputLimit
double getOutputLimit(int channel) throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on whichever quantity is not being sourced on the specified channel.- Parameters:
channel- Channel number- Returns:
- Limit, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getOutputLimit
default double getOutputLimit() throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on whichever quantity is not being sourced on the default channel.- Specified by:
getOutputLimitin interfaceSMU- Returns:
- Limit, in Volts or Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setOutputLimit
default void setOutputLimit(double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on whichever quantity is not being sourced on all channels.- Specified by:
setOutputLimitin interfaceSMU- Parameters:
value- Limit, in Volts or Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setVoltageLimit
void setVoltageLimit(int channel, double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on voltage values when not being sourced on the specified channel.- Parameters:
channel- Channel numbervalue- Limit, in Volts- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getVoltageLimit
double getVoltageLimit(int channel) throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on voltage when not being sourced on the specified channel.- Parameters:
channel- Channel number- Returns:
- Limit, in Volts
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getVoltageLimit
default double getVoltageLimit() throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on voltage when not being sourced on the default channel.- Specified by:
getVoltageLimitin interfaceSMU- Returns:
- Limit, in Volts
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setVoltageLimit
default void setVoltageLimit(double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on voltage when not being sourced on all channels.- Specified by:
setVoltageLimitin interfaceSMU- Parameters:
value- Limit, in Volts- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setCurrentLimit
void setCurrentLimit(int channel, double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on current when not being sourced on the specified channel.- Parameters:
channel- Channel numbervalue- Limit, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrentLimit
double getCurrentLimit(int channel) throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on current when not being sourced on the specified channel.- Parameters:
channel- Channel number- Returns:
- Limit, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrentLimit
default double getCurrentLimit() throws DeviceException, java.io.IOExceptionReturns the limit (compliance) on current when not being sourced on the default channel.- Specified by:
getCurrentLimitin interfaceSMU- Returns:
- Limit, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setCurrentLimit
default void setCurrentLimit(double value) throws DeviceException, java.io.IOExceptionSets the limit (compliance) on current when not being sourced on the all channels.- Specified by:
setCurrentLimitin interfaceSMU- Parameters:
value- Limit, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setIntegrationTime
void setIntegrationTime(int channel, double time) throws DeviceException, java.io.IOExceptionSets the integration time to use for measurements on the specified channel.- Parameters:
channel- Channel numbertime- Integration time, in seconds- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getIntegrationTime
double getIntegrationTime(int channel) throws DeviceException, java.io.IOExceptionReturns the integration time used for measurements on the specified channel.- Parameters:
channel- Channel number- Returns:
- Integration time, in seconds
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getIntegrationTime
default double getIntegrationTime() throws DeviceException, java.io.IOExceptionReturns the integration time used for measurements on the default channel.- Specified by:
getIntegrationTimein interfaceIMeter- Specified by:
getIntegrationTimein interfaceSMU- Specified by:
getIntegrationTimein interfaceVMeter- Returns:
- Integration time, in seconds
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setIntegrationTime
default void setIntegrationTime(double time) throws DeviceException, java.io.IOExceptionSets the integration time to use for measurements on all channels.- Specified by:
setIntegrationTimein interfaceIMeter- Specified by:
setIntegrationTimein interfaceSMU- Specified by:
setIntegrationTimein interfaceVMeter- Parameters:
time- Integration time, in seconds- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getTerminalType
TType getTerminalType(int channel, Terminals terminals) throws DeviceException, java.io.IOException
- Throws:
DeviceExceptionjava.io.IOException
-
getTerminalType
default TType getTerminalType(Terminals terminals) throws DeviceException, java.io.IOException
Description copied from interface:SMUReturns what type of connector is used for the given terminal.- Specified by:
getTerminalTypein interfaceSMU- Specified by:
getTerminalTypein interfaceVMeter- Parameters:
terminals- Which terminal- Returns:
- Terminal type (TRIAX, PHOENIX, BNC or BANANA)
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setTerminals
void setTerminals(int channel, Terminals terminals) throws DeviceException, java.io.IOException- Throws:
DeviceExceptionjava.io.IOException
-
getTerminals
Terminals getTerminals(int channel) throws DeviceException, java.io.IOException
- Throws:
DeviceExceptionjava.io.IOException
-
getTerminals
default Terminals getTerminals() throws DeviceException, java.io.IOException
Description copied from interface:SMUReturns the type of the set of terminals currently being used on the SMU.- Specified by:
getTerminalsin interfaceSMU- Specified by:
getTerminalsin interfaceVMeter- Returns:
- The type of terminals being used
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setTerminals
default void setTerminals(Terminals terminals) throws DeviceException, java.io.IOException
Description copied from interface:SMUSets which set of terminals should be used on the SMU.- Specified by:
setTerminalsin interfaceSMU- Specified by:
setTerminalsin interfaceVMeter- Parameters:
terminals- Which type of terminals to use- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setOffMode
void setOffMode(int channel, SMU.OffMode mode) throws DeviceException, java.io.IOException- Throws:
DeviceExceptionjava.io.IOException
-
getOffMode
SMU.OffMode getOffMode(int channel) throws DeviceException, java.io.IOException
- Throws:
DeviceExceptionjava.io.IOException
-
getOffMode
default SMU.OffMode getOffMode() throws DeviceException, java.io.IOException
Description copied from interface:SMUReturns the mode used by the SMU channel when turned off.- Specified by:
getOffModein interfaceSMU- Returns:
- Mode being used
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setOffMode
default void setOffMode(SMU.OffMode mode) throws DeviceException, java.io.IOException
Description copied from interface:SMUSets which mode the SMU channel should use when turned off.- Specified by:
setOffModein interfaceSMU- Parameters:
mode- Mode to use- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isLineFilterEnabled
boolean isLineFilterEnabled(int channel) throws DeviceException, java.io.IOExceptionReturns whether the voltmeter is using any line-frequency filtering- Parameters:
channel- Channel number- Returns:
- Using line filter?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setLineFilterEnabled
void setLineFilterEnabled(int channel, boolean enabled) throws DeviceException, java.io.IOExceptionSets whether the voltmeter should use any line-frequency filtering (if available)- Parameters:
channel- Channel numberenabled- Use line filter?- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isLineFilterEnabled
default boolean isLineFilterEnabled() throws DeviceException, java.io.IOExceptionReturns whether the voltmeter is using any line-frequency filtering- Specified by:
isLineFilterEnabledin interfaceIMeter- Specified by:
isLineFilterEnabledin interfaceSMU- Specified by:
isLineFilterEnabledin interfaceVMeter- Returns:
- Using line filter?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setLineFilterEnabled
default void setLineFilterEnabled(boolean enabled) throws DeviceException, java.io.IOExceptionSets whether the voltmeter should use any line-frequency filtering (if available)- Specified by:
setLineFilterEnabledin interfaceIMeter- Specified by:
setLineFilterEnabledin interfaceSMU- Specified by:
setLineFilterEnabledin interfaceVMeter- Parameters:
enabled- Use line filter?- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getIVPoint
default IVPoint getIVPoint(int channel) throws DeviceException, java.io.IOException
Returns a combined voltage and current measurement from the specified channel.- Parameters:
channel- Channel number- Returns:
- Voltage and current
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getIVPoint
default IVPoint getIVPoint() throws DeviceException, java.io.IOException
Returns a combined voltage and current measurement from the default channel.- Specified by:
getIVPointin interfaceIVMeter- Specified by:
getIVPointin interfaceSMU- Returns:
- Voltage and current
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getMCIVPoint
default MCIVPoint getMCIVPoint() throws DeviceException, java.io.IOException
Returns combined voltage and current measurements for each channel.- Returns:
- Voltages and currents
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setRanges
default void setRanges(int channel, double voltageRange, double currentRange) throws DeviceException, java.io.IOExceptionSets both the voltage and current ranges to use on the specified channel.- Parameters:
channel- Channel numbervoltageRange- Voltage range, in VoltscurrentRange- Current range, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setRanges
default void setRanges(double voltageRange, double currentRange) throws DeviceException, java.io.IOExceptionSets both the voltage and current ranges to use on all channels.- Specified by:
setRangesin interfaceIVMeter- Specified by:
setRangesin interfaceSMU- Parameters:
voltageRange- Voltage range, in VoltscurrentRange- Current range, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoRanges
default void useAutoRanges(int channel) throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for both voltage and current on the specified channel.- Parameters:
channel- Channel number- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoRanges
default void useAutoRanges() throws DeviceException, java.io.IOExceptionTells the SMU to use auto-ranging for both voltage and current on all channels.- Specified by:
useAutoRangesin interfaceIVMeter- Specified by:
useAutoRangesin interfaceSMU- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setLimits
default void setLimits(int channel, double voltageLimit, double currentLimit) throws DeviceException, java.io.IOExceptionSets the limits for both voltage and current (when not being sourced) on the specified channel.- Parameters:
channel- Channel numbervoltageLimit- Voltage limit, in VoltscurrentLimit- Current limit, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setLimits
default void setLimits(double voltageLimit, double currentLimit) throws DeviceException, java.io.IOExceptionSets the limits for both voltage and current (when not being sourced) on all channels.- Specified by:
setLimitsin interfaceSMU- Parameters:
voltageLimit- Voltage limit, in VoltscurrentLimit- Current limit, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getChannel
default SMU getChannel(int channel)
Returns a virtual SMU object to control the specified channel of the MCSMU- Parameters:
channel- Channel number- Returns:
- Virtual SMU
- Throws:
DeviceException- If channel does not exist
-
getChannels
default java.util.List<SMU> getChannels()
-
checkChannel
default void checkChannel(int channel) throws DeviceException- Throws:
DeviceException
-
getChannelClass
default java.lang.Class<SMU> getChannelClass()
-
-