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 class
MCSMU.VirtualSMU
Class 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 void
checkChannel(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 int
getAverageCount()
Returns how many measurements the SMU is using to perform its averaging on the default channel.int
getAverageCount(int channel)
Returns how many measurements the SMU is using to perform its averaging on the specified channel.default AMode
getAverageMode()
Returns which averaging mode the SMU is currently using for measurements on the default channel.AMode
getAverageMode(int channel)
Returns which averaging mode the SMU is currently using for measurements on the specified channel.default SMU
getChannel(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 double
getCurrent()
Returns the current of the default channeldouble
getCurrent(int channel)
Returns the current of the specified channeldefault double
getCurrentLimit()
Returns the limit (compliance) on current when not being sourced on the default channel.double
getCurrentLimit(int channel)
Returns the limit (compliance) on current when not being sourced on the specified channel.default double
getCurrentRange()
Returns the range being used for voltage values on the default channel.double
getCurrentRange(int channel)
Returns the range being used for current values on the specified channel.static java.lang.String
getDescription()
default double
getIntegrationTime()
Returns the integration time used for measurements on the default channel.double
getIntegrationTime(int channel)
Returns the integration time used for measurements on the specified channel.default IVPoint
getIVPoint()
Returns a combined voltage and current measurement from the default channel.default IVPoint
getIVPoint(int channel)
Returns a combined voltage and current measurement from the specified channel.default MCIVPoint
getMCIVPoint()
Returns combined voltage and current measurements for each channel.default double
getMeasureRange()
Returns the range being used for the measured quantity on the default channel.double
getMeasureRange(int channel)
Returns the range being used for the measured quantity on the specified channel.default double
getMeasureValue()
Returns the value of whichever quantity is being measured on the default channeldouble
getMeasureValue(int channel)
Returns the value of whichever quantity is being measured on the specified channeljava.lang.String
getName(int channel)
int
getNumChannels()
Returns the number of channels this SMU has.default SMU.OffMode
getOffMode()
Returns the mode used by the SMU channel when turned off.SMU.OffMode
getOffMode(int channel)
default double
getOutputLimit()
Returns the limit (compliance) on whichever quantity is not being sourced on the default channel.double
getOutputLimit(int channel)
Returns the limit (compliance) on whichever quantity is not being sourced on the specified channel.default Source
getSource()
Returns the source mode of the default channelSource
getSource(int channel)
Returns the source mode of the specified channeldefault double
getSourceRange()
Returns the range being used for the sourced quantity on the default channel.double
getSourceRange(int channel)
Returns the range being used for the sourced quantity on the specified channel.default double
getSourceValue()
Returns the value of whichever quantity is being sourced on the default channeldouble
getSourceValue(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 Terminals
getTerminals()
Returns the type of the set of terminals currently being used on the SMU.Terminals
getTerminals(int channel)
TType
getTerminalType(int channel, Terminals terminals)
default TType
getTerminalType(Terminals terminals)
Returns what type of connector is used for the given terminal.default double
getVoltage()
Returns the voltage of the default channeldouble
getVoltage(int channel)
Returns the voltage of the specified channeldefault double
getVoltageLimit()
Returns the limit (compliance) on voltage when not being sourced on the default channel.double
getVoltageLimit(int channel)
Returns the limit (compliance) on voltage when not being sourced on the specified channel.default double
getVoltageRange()
Returns the range being used for voltage values on the default channel.double
getVoltageRange(int channel)
Returns the range being used for voltage values on the specified channel.default boolean
isAutoRangingCurrent()
Returns whether auto-ranging is being used for voltage values on the default channel.boolean
isAutoRangingCurrent(int channel)
Returns whether auto-ranging is being used for current values on the specified channel.default boolean
isAutoRangingMeasure()
Returns whether auto-ranging is being used for the measured quantity on the default channel.boolean
isAutoRangingMeasure(int channel)
Returns whether auto-ranging is being used for the measured quantity on the specified channel.default boolean
isAutoRangingSource()
Returns whether auto-ranging is being used for the source quantity on the default channel.boolean
isAutoRangingSource(int channel)
Returns whether auto-ranging is being used for the source quantity on the specified channel.default boolean
isAutoRangingVoltage()
Returns whether auto-ranging is being used for voltage values on the default channel.boolean
isAutoRangingVoltage(int channel)
Returns whether auto-ranging is being used for voltage values on the specified channel.default boolean
isFourProbeEnabled()
Returns whether the device is currently configured to use all four probes on the default channel.boolean
isFourProbeEnabled(int channel)
Returns whether the device is currently configured to use all four probes on the specified channel.default boolean
isLineFilterEnabled()
Returns whether the voltmeter is using any line-frequency filteringboolean
isLineFilterEnabled(int channel)
Returns whether the voltmeter is using any line-frequency filteringdefault boolean
isOn()
Returns whether the default channel currently has its output enabledboolean
isOn(int channel)
Returns whether the specified channel currently has its output enableddefault void
setAverageCount(int count)
Sets how many measurements to use when averaging on all channels.void
setAverageCount(int channel, int count)
Sets how many measurements to use when averaging on the specified channel.void
setAverageMode(int channel, AMode mode)
Sets which type of averaging the SMU should use when making a measurement on the specified channel.default void
setAverageMode(AMode mode)
Sets which type of averaging the SMU should use when making a measurement on all channels.default void
setAveraging(int channel, AMode mode, int count)
Sets both the averaging mode and count together for the specified channel.default void
setAveraging(AMode mode, int count)
Sets both the averaging mode and count together for all channels.void
setBias(int channel, double level)
Sets the level of whichever quantity is being sourced on the specified channeldefault void
setCurrent(double current)
Sets the default channel to source the given current (when turned on)void
setCurrent(int channel, double current)
Sets the specified channel to source the given current (when turned on)default void
setCurrentLimit(double value)
Sets the limit (compliance) on current when not being sourced on the all channels.void
setCurrentLimit(int channel, double value)
Sets the limit (compliance) on current when not being sourced on the specified channel.default void
setCurrentRange(double value)
Sets the range (and thus precision) to use for current values on all channels.void
setCurrentRange(int channel, double value)
Sets the range (and thus precision) to use for current values on the specified channel.default void
setFourProbeEnabled(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.void
setFourProbeEnabled(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 void
setIntegrationTime(double time)
Sets the integration time to use for measurements on all channels.void
setIntegrationTime(int channel, double time)
Sets the integration time to use for measurements on the specified channel.default void
setLimits(double voltageLimit, double currentLimit)
Sets the limits for both voltage and current (when not being sourced) on all channels.default void
setLimits(int channel, double voltageLimit, double currentLimit)
Sets the limits for both voltage and current (when not being sourced) on the specified channel.default void
setLineFilterEnabled(boolean enabled)
Sets whether the voltmeter should use any line-frequency filtering (if available)void
setLineFilterEnabled(int channel, boolean enabled)
Sets whether the voltmeter should use any line-frequency filtering (if available)default void
setMeasureRange(double value)
Sets the range (and thus precision) to use for the measured quantity on all channels.void
setMeasureRange(int channel, double value)
Sets the range (and thus precision) to use for the measured quantity on the given channel.void
setOffMode(int channel, SMU.OffMode mode)
default void
setOffMode(SMU.OffMode mode)
Sets which mode the SMU channel should use when turned off.default void
setOutputLimit(double value)
Sets the limit (compliance) on whichever quantity is not being sourced on all channels.void
setOutputLimit(int channel, double value)
Sets the limit (compliance) on whichever quantity is not being sourced on the given channel.default void
setRanges(double voltageRange, double currentRange)
Sets both the voltage and current ranges to use on all channels.default void
setRanges(int channel, double voltageRange, double currentRange)
Sets both the voltage and current ranges to use on the specified channel.void
setSource(int channel, Source source)
Sets the source mode of the specified channeldefault void
setSource(Source source)
Sets the source mode of all channelsdefault void
setSourceRange(double value)
Sets the range (and thus precision) to use for the sourced quantity on all channels.void
setSourceRange(int channel, double value)
Sets the range (and thus precision) to use for the sourced quantity on the given channel.default void
setSourceValue(double level)
Sets the level of whichever quantity is being sourced on all channelsvoid
setTerminals(int channel, Terminals terminals)
default void
setTerminals(Terminals terminals)
Sets which set of terminals should be used on the SMU.default void
setVoltage(double voltage)
Sets the default channel to source the given voltage (when turned on)void
setVoltage(int channel, double voltage)
Sets the specified channel to source the given voltage (when turned on)default void
setVoltageLimit(double value)
Sets the limit (compliance) on voltage when not being sourced on all channels.void
setVoltageLimit(int channel, double value)
Sets the limit (compliance) on voltage values when not being sourced on the specified channel.default void
setVoltageRange(double value)
Sets the range (and thus precision) to use for voltage values on all channels.void
setVoltageRange(int channel, double value)
Sets the range (and thus precision) to use for voltage values on the specified channel.default void
turnOff()
Disables output on all channelsvoid
turnOff(int channel)
Disables output on the specified channeldefault void
turnOn()
Enables output on all channelsvoid
turnOn(int channel)
Enables output on the specified channeldefault void
useAutoCurrentRange()
Tells the SMU to use auto-ranging for voltage values on all channels.void
useAutoCurrentRange(int channel)
Tells the SMU to use auto-ranging for current values on the specified channel.default void
useAutoMeasureRange()
Tells the SMU to use auto-ranging for the measured quantity on all channels.void
useAutoMeasureRange(int channel)
Tells the SMU to use auto-ranging for the measured quantity on the specified channel.default void
useAutoRanges()
Tells the SMU to use auto-ranging for both voltage and current on all channels.default void
useAutoRanges(int channel)
Tells the SMU to use auto-ranging for both voltage and current on the specified channel.default void
useAutoSourceRange()
Tells the SMU to use auto-ranging for the sourced quantity on all channels.void
useAutoSourceRange(int channel)
Tells the SMU to use auto-ranging for the sourced quantity on the specified channel.default void
useAutoVoltageRange()
Tells the SMU to use auto-ranging for voltage values on all channels.void
useAutoVoltageRange(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:MultiInstrument
Returns a list of all the different classes of sub-instruments that this instrument contains.- Specified by:
getSubInstrumentTypes
in 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:MultiInstrument
Returns a list of all sub-instruments this instrument contains that can be considered to be of the given instrument type.- Specified by:
get
in 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:
getSubInstrument
in interfaceMultiInstrument
-
getName
java.lang.String getName(int channel)
-
getVoltage
double getVoltage(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns the voltage of the default channel- Specified by:
getVoltage
in interfaceSMU
- Specified by:
getVoltage
in interfaceVMeter
- Specified by:
getVoltage
in 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.IOException
Sets the default channel to source the given voltage (when turned on)- Specified by:
setVoltage
in interfaceSMU
- Specified by:
setVoltage
in 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.IOException
Returns 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.IOException
Returns the current of the default channel- Specified by:
getCurrent
in interfaceIMeter
- Specified by:
getCurrent
in interfaceISource
- Specified by:
getCurrent
in 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.IOException
Sets the default channel to source the given current (when turned on)- Specified by:
setCurrent
in interfaceISource
- Specified by:
setCurrent
in 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.IOException
Sets 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.IOException
Sets 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.IOException
Enables 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.IOException
Enables output on all channels- Specified by:
turnOn
in interfaceIMeter
- Specified by:
turnOn
in interfaceISource
- Specified by:
turnOn
in interfaceSMU
- Specified by:
turnOn
in interfaceSwitch
- Specified by:
turnOn
in interfaceVMeter
- Specified by:
turnOn
in interfaceVSource
- Throws:
DeviceException
- Upon device compatibility errorjava.io.IOException
- Upon communications error
-
turnOff
void turnOff(int channel) throws DeviceException, java.io.IOException
Disables 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.IOException
Disables output on all channels- Specified by:
turnOff
in interfaceIMeter
- Specified by:
turnOff
in interfaceISource
- Specified by:
turnOff
in interfaceSMU
- Specified by:
turnOff
in interfaceSwitch
- Specified by:
turnOff
in interfaceVMeter
- Specified by:
turnOff
in interfaceVSource
- Throws:
DeviceException
- Upon device compatibility errorjava.io.IOException
- Upon communications error
-
isOn
boolean isOn(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns whether the default channel currently has its output enabled- Specified by:
isOn
in interfaceIMeter
- Specified by:
isOn
in interfaceISource
- Specified by:
isOn
in interfaceSMU
- Specified by:
isOn
in interfaceSwitch
- Specified by:
isOn
in interfaceVMeter
- Specified by:
isOn
in 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.IOException
Sets 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:
getSource
in 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:
setSource
in 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.IOException
Sets 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.IOException
Sets the level of whichever quantity is being sourced on all channels- Specified by:
setSourceValue
in 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.IOException
Returns 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.IOException
Returns the value of whichever quantity is being sourced on the default channel- Specified by:
getSourceValue
in 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.IOException
Returns 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.IOException
Returns the value of whichever quantity is being measured on the default channel- Specified by:
getMeasureValue
in 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.IOException
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.- 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.IOException
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.- Specified by:
setFourProbeEnabled
in 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.IOException
Returns 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.IOException
Returns whether the device is currently configured to use all four probes on the default channel.- Specified by:
isFourProbeEnabled
in 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.IOException
Sets 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.IOException
Sets 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.IOException
Sets 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:
setAveraging
in 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.IOException
Returns 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.IOException
Returns how many measurements the SMU is using to perform its averaging on the default channel.- Specified by:
getAverageCount
in interfaceIMeter
- Specified by:
getAverageCount
in interfaceSMU
- Specified by:
getAverageCount
in 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.IOException
Sets how many measurements to use when averaging on all channels.- Specified by:
setAverageCount
in interfaceIMeter
- Specified by:
setAverageCount
in interfaceSMU
- Specified by:
setAverageCount
in 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:
getAverageMode
in interfaceIMeter
- Specified by:
getAverageMode
in interfaceSMU
- Specified by:
getAverageMode
in 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:
setAverageMode
in interfaceIMeter
- Specified by:
setAverageMode
in interfaceSMU
- Specified by:
setAverageMode
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the range being used for the sourced quantity on the default channel.- Specified by:
getSourceRange
in 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.IOException
Sets the range (and thus precision) to use for the sourced quantity on all channels.- Specified by:
setSourceRange
in 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.IOException
Tells 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.IOException
Tells the SMU to use auto-ranging for the sourced quantity on all channels.- Specified by:
useAutoSourceRange
in interfaceSMU
- Throws:
DeviceException
- Upon incompatibility with devicejava.io.IOException
- Upon communications error
-
isAutoRangingSource
boolean isAutoRangingSource(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns whether auto-ranging is being used for the source quantity on the default channel.- Specified by:
isAutoRangingSource
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the range being used for the measured quantity on the default channel.- Specified by:
getMeasureRange
in 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.IOException
Sets the range (and thus precision) to use for the measured quantity on all channels.- Specified by:
setMeasureRange
in 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.IOException
Tells 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.IOException
Tells the SMU to use auto-ranging for the measured quantity on all channels.- Specified by:
useAutoMeasureRange
in interfaceSMU
- Throws:
DeviceException
- Upon incompatibility with devicejava.io.IOException
- Upon communications error
-
isAutoRangingMeasure
boolean isAutoRangingMeasure(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns whether auto-ranging is being used for the measured quantity on the default channel.- Specified by:
isAutoRangingMeasure
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the range being used for voltage values on the default channel.- Specified by:
getVoltageRange
in interfaceSMU
- Specified by:
getVoltageRange
in 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.IOException
Sets the range (and thus precision) to use for voltage values on all channels.- Specified by:
setVoltageRange
in interfaceSMU
- Specified by:
setVoltageRange
in 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.IOException
Tells 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.IOException
Tells the SMU to use auto-ranging for voltage values on all channels.- Specified by:
useAutoVoltageRange
in interfaceSMU
- Specified by:
useAutoVoltageRange
in interfaceVMeter
- Throws:
DeviceException
- Upon incompatibility with devicejava.io.IOException
- Upon communications error
-
isAutoRangingVoltage
boolean isAutoRangingVoltage(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns whether auto-ranging is being used for voltage values on the default channel.- Specified by:
isAutoRangingVoltage
in interfaceSMU
- Specified by:
isAutoRangingVoltage
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the range being used for voltage values on the default channel.- Specified by:
getCurrentRange
in interfaceIMeter
- Specified by:
getCurrentRange
in 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.IOException
Sets the range (and thus precision) to use for current values on all channels.- Specified by:
setCurrentRange
in interfaceIMeter
- Specified by:
setCurrentRange
in 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.IOException
Tells 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.IOException
Tells the SMU to use auto-ranging for voltage values on all channels.- Specified by:
useAutoCurrentRange
in interfaceIMeter
- Specified by:
useAutoCurrentRange
in interfaceSMU
- Throws:
DeviceException
- Upon incompatibility with devicejava.io.IOException
- Upon communications error
-
isAutoRangingCurrent
boolean isAutoRangingCurrent(int channel) throws DeviceException, java.io.IOException
Returns 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.IOException
Returns whether auto-ranging is being used for voltage values on the default channel.- Specified by:
isAutoRangingCurrent
in interfaceIMeter
- Specified by:
isAutoRangingCurrent
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the limit (compliance) on whichever quantity is not being sourced on the default channel.- Specified by:
getOutputLimit
in 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.IOException
Sets the limit (compliance) on whichever quantity is not being sourced on all channels.- Specified by:
setOutputLimit
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the limit (compliance) on voltage when not being sourced on the default channel.- Specified by:
getVoltageLimit
in 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.IOException
Sets the limit (compliance) on voltage when not being sourced on all channels.- Specified by:
setVoltageLimit
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the limit (compliance) on current when not being sourced on the default channel.- Specified by:
getCurrentLimit
in 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.IOException
Sets the limit (compliance) on current when not being sourced on the all channels.- Specified by:
setCurrentLimit
in 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.IOException
Sets 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.IOException
Returns 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.IOException
Returns the integration time used for measurements on the default channel.- Specified by:
getIntegrationTime
in interfaceIMeter
- Specified by:
getIntegrationTime
in interfaceSMU
- Specified by:
getIntegrationTime
in 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.IOException
Sets the integration time to use for measurements on all channels.- Specified by:
setIntegrationTime
in interfaceIMeter
- Specified by:
setIntegrationTime
in interfaceSMU
- Specified by:
setIntegrationTime
in 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:
DeviceException
java.io.IOException
-
getTerminalType
default TType getTerminalType(Terminals terminals) throws DeviceException, java.io.IOException
Description copied from interface:SMU
Returns what type of connector is used for the given terminal.- Specified by:
getTerminalType
in interfaceSMU
- Specified by:
getTerminalType
in 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:
DeviceException
java.io.IOException
-
getTerminals
Terminals getTerminals(int channel) throws DeviceException, java.io.IOException
- Throws:
DeviceException
java.io.IOException
-
getTerminals
default Terminals getTerminals() throws DeviceException, java.io.IOException
Description copied from interface:SMU
Returns the type of the set of terminals currently being used on the SMU.- Specified by:
getTerminals
in interfaceSMU
- Specified by:
getTerminals
in 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:SMU
Sets which set of terminals should be used on the SMU.- Specified by:
setTerminals
in interfaceSMU
- Specified by:
setTerminals
in 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:
DeviceException
java.io.IOException
-
getOffMode
SMU.OffMode getOffMode(int channel) throws DeviceException, java.io.IOException
- Throws:
DeviceException
java.io.IOException
-
getOffMode
default SMU.OffMode getOffMode() throws DeviceException, java.io.IOException
Description copied from interface:SMU
Returns the mode used by the SMU channel when turned off.- Specified by:
getOffMode
in 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:SMU
Sets which mode the SMU channel should use when turned off.- Specified by:
setOffMode
in 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.IOException
Returns 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.IOException
Sets 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.IOException
Returns whether the voltmeter is using any line-frequency filtering- Specified by:
isLineFilterEnabled
in interfaceIMeter
- Specified by:
isLineFilterEnabled
in interfaceSMU
- Specified by:
isLineFilterEnabled
in 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.IOException
Sets whether the voltmeter should use any line-frequency filtering (if available)- Specified by:
setLineFilterEnabled
in interfaceIMeter
- Specified by:
setLineFilterEnabled
in interfaceSMU
- Specified by:
setLineFilterEnabled
in 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:
getIVPoint
in interfaceIVMeter
- Specified by:
getIVPoint
in 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.IOException
Sets 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.IOException
Sets both the voltage and current ranges to use on all channels.- Specified by:
setRanges
in interfaceIVMeter
- Specified by:
setRanges
in 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.IOException
Tells 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.IOException
Tells the SMU to use auto-ranging for both voltage and current on all channels.- Specified by:
useAutoRanges
in interfaceIVMeter
- Specified by:
useAutoRanges
in 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.IOException
Sets 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.IOException
Sets the limits for both voltage and current (when not being sourced) on all channels.- Specified by:
setLimits
in 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()
-
-