Package jisa.devices.interfaces
Interface IMeter
-
- All Superinterfaces:
Instrument,Switch
- All Known Implementing Classes:
AgilentSPA.ASMU,DummyMCSMU,K1234,K236,K2400,K2450,K2600B,K6430,KeithleySCPI,MCSMU.VirtualSMU,TestFET
public interface IMeter extends Instrument, Switch
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description intgetAverageCount()Returns the number of measurements being used for each average.AModegetAverageMode()Returns the type of averaging being used for each measurement.doublegetCurrent()Takes a current measurement and returns the value.default doublegetCurrent(double integrationTime)Takes a current measurement using a specified one-off integration time.doublegetCurrentRange()Returns the range used for current measurements.static java.lang.StringgetDescription()doublegetIntegrationTime()Returns the integration time used for each measurement.booleanisAutoRangingCurrent()Returns whether the ammeter is currently using auto-ranging for current measurements.booleanisLineFilterEnabled()Returns whether the voltmeter is using any line-frequency filteringbooleanisOn()Returns whether the ammeter measurement channel is on or off.voidsetAverageCount(int count)Sets the number of measurements to use for each average.voidsetAverageMode(AMode mode)Sets the type of averaging to use for each measurement.voidsetCurrentRange(double range)Sets the range used for current measurements.voidsetIntegrationTime(double time)Sets the integration time for each measurement.voidsetLineFilterEnabled(boolean enabled)Sets whether the voltmeter should use any line-frequency filtering (if available)voidturnOff()Turns the ammeter measurement channel off.voidturnOn()Turns the ammeter measurement channel on.voiduseAutoCurrentRange()Instruments the ammeter to automatically select which range to use for current measurements.default voidwaitForStableCurrent(double pctMargin, int interval, int duration)-
Methods inherited from interface jisa.devices.interfaces.Instrument
close, getAddress, getConfigurationParameters, getConfigurationParameters, getIDN, getLockObject, getName, setTimeout
-
-
-
-
Method Detail
-
getDescription
static java.lang.String getDescription()
-
getCurrent
double getCurrent() throws java.io.IOException, DeviceExceptionTakes a current measurement and returns the value.- Returns:
- Current measurement value, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrent
default double getCurrent(double integrationTime) throws DeviceException, java.io.IOExceptionTakes a current measurement using a specified one-off integration time.- Parameters:
integrationTime- Integration time to use in seconds- Returns:
- Current measurement value, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setIntegrationTime
void setIntegrationTime(double time) throws java.io.IOException, DeviceExceptionSets the integration time for each measurement.- Parameters:
time- Integration time, in seconds.- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getIntegrationTime
double getIntegrationTime() throws java.io.IOException, DeviceExceptionReturns the integration time used for each measurement.- Returns:
- Integration time, in seconds.
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setCurrentRange
void setCurrentRange(double range) throws java.io.IOException, DeviceExceptionSets the range used for current measurements. A value of n indicates the range -n to +n. If only discrete options are available, the smallest range that contains the given value is chosen.- Parameters:
range- The range to use, in Amps- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getCurrentRange
double getCurrentRange() throws java.io.IOException, DeviceExceptionReturns the range used for current measurements. A value of n indicates the range -n to +n.- Returns:
- The range being used, in Amps
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
useAutoCurrentRange
void useAutoCurrentRange() throws java.io.IOException, DeviceExceptionInstruments the ammeter to automatically select which range to use for current measurements.- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isAutoRangingCurrent
boolean isAutoRangingCurrent() throws java.io.IOException, DeviceExceptionReturns whether the ammeter is currently using auto-ranging for current measurements.- Returns:
- Is auto-ranging being used?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageMode
void setAverageMode(AMode mode) throws java.io.IOException, DeviceException
Sets the type of averaging to use for each measurement.- Parameters:
mode- Averaging mode to use- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setAverageCount
void setAverageCount(int count) throws java.io.IOException, DeviceExceptionSets the number of measurements to use for each average. Only applies if the averaging mode is not "NONE".- Parameters:
count- Number of measurements- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageMode
AMode getAverageMode() throws java.io.IOException, DeviceException
Returns the type of averaging being used for each measurement.- Returns:
- Averaging type
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
getAverageCount
int getAverageCount() throws java.io.IOException, DeviceExceptionReturns the number of measurements being used for each average. Only applies if the averaging mode is not "NONE".- Returns:
- Number of measurements
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
turnOn
void turnOn() throws java.io.IOException, DeviceExceptionTurns the ammeter measurement channel on.- Specified by:
turnOnin interfaceSwitch- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
turnOff
void turnOff() throws java.io.IOException, DeviceExceptionTurns the ammeter measurement channel off.- Specified by:
turnOffin interfaceSwitch- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isOn
boolean isOn() throws java.io.IOException, DeviceExceptionReturns whether the ammeter measurement channel is on or off.- Specified by:
isOnin interfaceSwitch- Returns:
- Is it on?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
isLineFilterEnabled
boolean isLineFilterEnabled() throws DeviceException, java.io.IOExceptionReturns whether the voltmeter is using any line-frequency filtering- Returns:
- Using line filter?
- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
setLineFilterEnabled
void setLineFilterEnabled(boolean enabled) throws DeviceException, java.io.IOExceptionSets whether the voltmeter should use any line-frequency filtering (if available)- Parameters:
enabled- Use line filter?- Throws:
DeviceException- Upon incompatibility with devicejava.io.IOException- Upon communications error
-
waitForStableCurrent
default void waitForStableCurrent(double pctMargin, int interval, int duration) throws java.io.IOException, DeviceException, java.lang.InterruptedException- Throws:
java.io.IOExceptionDeviceExceptionjava.lang.InterruptedException
-
-