Class AgilentSPA.ASMU

    • Method Detail

      • updateIntTime

        protected void updateIntTime()
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • rangeFromVoltage

        protected AgilentSPA.Range rangeFromVoltage​(double voltage)
      • rangeFromCurrent

        protected AgilentSPA.Range rangeFromCurrent​(double currentComp)
      • makeVoltageFilter

        protected ReadFilter makeVoltageFilter​(AMode type)
      • makeCurrentFilter

        protected ReadFilter makeCurrentFilter​(AMode type)
      • getSetCurrent

        public double getSetCurrent()
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: IVSource
        Get the default value or the value set by the setCurrent() method.
        Specified by:
        getSetCurrent in interface IVSource
        Returns:
        current setting [A]
        Throws:
        DeviceException
        java.io.IOException
      • getSetVoltage

        public double getSetVoltage()
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: IVSource
        Get the default value or the value set by the setVoltage() method.
        Specified by:
        getSetVoltage in interface IVSource
        Returns:
        voltage setting [V]
        Throws:
        DeviceException
        java.io.IOException
      • getIDN

        public java.lang.String getIDN()
                                throws java.io.IOException,
                                       DeviceException
        Description copied from interface: Instrument
        Returns an identifying String of the instrument.
        Specified by:
        getIDN in interface Instrument
        Returns:
        Identifying String
        Throws:
        java.io.IOException - Upon communications error
        DeviceException - Upon incompatibility with device
      • getName

        public java.lang.String getName()
        Description copied from interface: Instrument
        Returns the name of the instrument or channel.
        Specified by:
        getName in interface Instrument
        Returns:
        Name
      • close

        public void close()
                   throws java.io.IOException,
                          DeviceException
        Description copied from interface: Instrument
        Closes the connection to the instrument.
        Specified by:
        close in interface Instrument
        Throws:
        java.io.IOException - Upon communications error
        DeviceException - Upon incompatibility with device
      • getAddress

        public Address getAddress()
        Description copied from interface: Instrument
        Returns any Address object used to connect to this instrument.
        Specified by:
        getAddress in interface Instrument
        Returns:
        Address object, null if none
      • getVoltage

        public double getVoltage()
                          throws DeviceException,
                                 java.io.IOException
        Description copied from interface: SMU
        Returns the voltage either being applied or measured by the SMU.
        Specified by:
        getVoltage in interface SMU
        Specified by:
        getVoltage in interface VMeter
        Specified by:
        getVoltage in interface VSource
        Returns:
        Voltage value
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setVoltage

        public void setVoltage​(double voltage)
                        throws DeviceException,
                               java.io.IOException
        Description copied from interface: SMU
        Sets the voltage value to be applied by the SMU (switching to voltage source mode if not already)
        Specified by:
        setVoltage in interface SMU
        Specified by:
        setVoltage in interface VSource
        Parameters:
        voltage - Value to set
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getCurrent

        public double getCurrent()
                          throws DeviceException,
                                 java.io.IOException
        Description copied from interface: SMU
        Returns the current either being injected or measured by the SMU.
        Specified by:
        getCurrent in interface IMeter
        Specified by:
        getCurrent in interface ISource
        Specified by:
        getCurrent in interface SMU
        Returns:
        Current value
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setCurrent

        public void setCurrent​(double current)
                        throws DeviceException,
                               java.io.IOException
        Description copied from interface: SMU
        Sets the current value to be applied by the SMU (switching to current source mode if not already)
        Specified by:
        setCurrent in interface ISource
        Specified by:
        setCurrent in interface SMU
        Parameters:
        current - Value to set
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isOn

        public boolean isOn()
                     throws DeviceException,
                            java.io.IOException
        Description copied from interface: SMU
        Checks whether the output of the SMU is currently enabled
        Specified by:
        isOn in interface IMeter
        Specified by:
        isOn in interface ISource
        Specified by:
        isOn in interface SMU
        Specified by:
        isOn in interface Switch
        Specified by:
        isOn in interface VMeter
        Specified by:
        isOn in interface VSource
        Returns:
        Is the output on?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getSource

        public Source getSource()
                         throws DeviceException,
                                java.io.IOException
        Description copied from interface: SMU
        Returns the current source mode of the SMU (VOLTAGE OR CURRENT)
        Specified by:
        getSource in interface SMU
        Returns:
        Source mode
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setSource

        public void setSource​(Source source)
                       throws DeviceException,
                              java.io.IOException
        Description copied from interface: SMU
        Sets the source mode of the SMU (VOLTAGE or CURRENT)
        Specified by:
        setSource in interface SMU
        Parameters:
        source - Source mode to set
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setSourceValue

        public void setSourceValue​(double level)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: SMU
        Sets the value for whichever parameter is currently being sourced
        Specified by:
        setSourceValue in interface SMU
        Parameters:
        level - The level to set
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getSourceValue

        public double getSourceValue()
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: SMU
        Returns the value of whichever parameter is set as source currently
        Specified by:
        getSourceValue in interface SMU
        Returns:
        Value of source
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getMeasureValue

        public double getMeasureValue()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the value of whichever parameter is set as measure currently
        Specified by:
        getMeasureValue in interface SMU
        Returns:
        Value of measure
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isFourProbeEnabled

        public boolean isFourProbeEnabled()
                                   throws DeviceException,
                                          java.io.IOException
        Description copied from interface: SMU
        Returns whether the device is currently configured to use all four probes.
        Specified by:
        isFourProbeEnabled in interface SMU
        Returns:
        Are all probes to be used?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setFourProbeEnabled

        public void setFourProbeEnabled​(boolean fourProbes)
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: SMU
        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.
        Specified by:
        setFourProbeEnabled in interface SMU
        Parameters:
        fourProbes - Should it use all four probes?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getAverageCount

        public int getAverageCount()
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: SMU
        Returns the number of measurements used for averaging by the SMU.
        Specified by:
        getAverageCount in interface IMeter
        Specified by:
        getAverageCount in interface SMU
        Specified by:
        getAverageCount in interface VMeter
        Returns:
        Number of measurements
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setAverageCount

        public void setAverageCount​(int count)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets how many measurements the SMU should average over.
        Specified by:
        setAverageCount in interface IMeter
        Specified by:
        setAverageCount in interface SMU
        Specified by:
        setAverageCount in interface VMeter
        Parameters:
        count - Number of measurements
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getSourceRange

        public double getSourceRange()
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: SMU
        Returns the range of allowed values for the quantity being sourced by the SMU. A value of n indicates a range of -n to +n.
        Specified by:
        getSourceRange in interface SMU
        Returns:
        Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setSourceRange

        public void setSourceRange​(double value)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: SMU
        Sets the range of allowed values for the quantity being sourced by the SMU. A value of n indicates a range of -n to +n.
        Specified by:
        setSourceRange in interface SMU
        Parameters:
        value - Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoSourceRange

        public void useAutoSourceRange()
                                throws DeviceException,
                                       java.io.IOException
        Description copied from interface: SMU
        Sets the SMU to automatically determine the source range to use.
        Specified by:
        useAutoSourceRange in interface SMU
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingSource

        public boolean isAutoRangingSource()
                                    throws DeviceException,
                                           java.io.IOException
        Description copied from interface: SMU
        Returns whether the SMU is set to automatically determine the source range to use.
        Specified by:
        isAutoRangingSource in interface SMU
        Returns:
        Automatic?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getMeasureRange

        public double getMeasureRange()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the range of allowed values for the quantity being measured by the SMU.
        Specified by:
        getMeasureRange in interface SMU
        Returns:
        Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setMeasureRange

        public void setMeasureRange​(double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets the range of allowed values for the quantity being measured by the SMU.
        Specified by:
        setMeasureRange in interface SMU
        Parameters:
        value - Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoMeasureRange

        public void useAutoMeasureRange()
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: SMU
        Tells the SMU to automatically determine the range to use for the measured quantity.
        Specified by:
        useAutoMeasureRange in interface SMU
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingMeasure

        public boolean isAutoRangingMeasure()
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: SMU
        Returns whether the SMU is currently determining its measure range automatically.
        Specified by:
        isAutoRangingMeasure in interface SMU
        Returns:
        Is it automatic?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getVoltageRange

        public double getVoltageRange()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the range of allowed values for voltages being sourced or measured by the SMU. A value of n indicates a range of -n to +n.
        Specified by:
        getVoltageRange in interface SMU
        Specified by:
        getVoltageRange in interface VMeter
        Returns:
        Range value, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setVoltageRange

        public void setVoltageRange​(double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets the range of allowed values for voltages being sourced or measured by the SMU. A value of n indicates a range of -n to +n.
        Specified by:
        setVoltageRange in interface SMU
        Specified by:
        setVoltageRange in interface VMeter
        Parameters:
        value - Range value, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoVoltageRange

        public void useAutoVoltageRange()
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: SMU
        Tells the SMU to automatically determine the range it uses for voltages.
        Specified by:
        useAutoVoltageRange in interface SMU
        Specified by:
        useAutoVoltageRange in interface VMeter
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingVoltage

        public boolean isAutoRangingVoltage()
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: SMU
        Returns whether the SMU is automatically determining the range to use for voltages.
        Specified by:
        isAutoRangingVoltage in interface SMU
        Specified by:
        isAutoRangingVoltage in interface VMeter
        Returns:
        Is it automatic?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getCurrentRange

        public double getCurrentRange()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the range of allowed values for currents being sourced or measured by the SMU.
        Specified by:
        getCurrentRange in interface IMeter
        Specified by:
        getCurrentRange in interface SMU
        Returns:
        Range value, inAmps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setCurrentRange

        public void setCurrentRange​(double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets the range of allowed values for currents being sourced or measured by the SMU.
        Specified by:
        setCurrentRange in interface IMeter
        Specified by:
        setCurrentRange in interface SMU
        Parameters:
        value - Range value, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoCurrentRange

        public void useAutoCurrentRange()
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: SMU
        Tells the SMU to automatically determine the range to use for current values.
        Specified by:
        useAutoCurrentRange in interface IMeter
        Specified by:
        useAutoCurrentRange in interface SMU
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingCurrent

        public boolean isAutoRangingCurrent()
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: SMU
        Returns whether the SMU is currently determining its current range automatically.
        Specified by:
        isAutoRangingCurrent in interface IMeter
        Specified by:
        isAutoRangingCurrent in interface SMU
        Returns:
        Is it automatic?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getOutputLimit

        public double getOutputLimit()
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: SMU
        Returns the limit for the measured quantity (compliance value).
        Specified by:
        getOutputLimit in interface SMU
        Returns:
        The limit, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setOutputLimit

        public void setOutputLimit​(double value)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: SMU
        Sets the limit for the measured quantity (ie compliance value).
        Specified by:
        setOutputLimit in interface SMU
        Parameters:
        value - The limit to use, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getVoltageLimit

        public double getVoltageLimit()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the limit on voltages output when sourcing current (compliance value).
        Specified by:
        getVoltageLimit in interface SMU
        Returns:
        The limit, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setVoltageLimit

        public void setVoltageLimit​(double voltage)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets the limit for voltages output when sourcing current (compliance value).
        Specified by:
        setVoltageLimit in interface SMU
        Parameters:
        voltage - The limit, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getCurrentLimit

        public double getCurrentLimit()
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: SMU
        Returns the limit for currents output when sourcing voltage (compliance value).
        Specified by:
        getCurrentLimit in interface SMU
        Returns:
        The limit, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setCurrentLimit

        public void setCurrentLimit​(double current)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: SMU
        Sets the limit for currents output when sourcing voltage (compliance value).
        Specified by:
        setCurrentLimit in interface SMU
        Parameters:
        current - The limit, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getIntegrationTime

        public double getIntegrationTime()
                                  throws DeviceException,
                                         java.io.IOException
        Description copied from interface: SMU
        Returns the integration time used for each individual measurement.
        Specified by:
        getIntegrationTime in interface IMeter
        Specified by:
        getIntegrationTime in interface SMU
        Specified by:
        getIntegrationTime in interface VMeter
        Returns:
        Integration time, in seconds
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setIntegrationTime

        public void setIntegrationTime​(double time)
                                throws DeviceException,
                                       java.io.IOException
        Description copied from interface: SMU
        Sets the integration time for each individual measurement, or closest over-estimate possible.
        Specified by:
        setIntegrationTime in interface IMeter
        Specified by:
        setIntegrationTime in interface SMU
        Specified by:
        setIntegrationTime in interface VMeter
        Parameters:
        time - Integration time, in seconds
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getTerminalType

        public 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 interface SMU
        Specified by:
        getTerminalType in interface VMeter
        Parameters:
        terminals - Which terminal
        Returns:
        Terminal type (TRIAX, PHOENIX, BNC or BANANA)
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getTerminals

        public 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 interface SMU
        Specified by:
        getTerminals in interface VMeter
        Returns:
        The type of terminals being used
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setTerminals

        public 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 interface SMU
        Specified by:
        setTerminals in interface VMeter
        Parameters:
        terminals - Which type of terminals to use
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getOffMode

        public 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 interface SMU
        Returns:
        Mode being used
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setOffMode

        public 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 interface SMU
        Parameters:
        mode - Mode to use
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setLineFilterEnabled

        public void setLineFilterEnabled​(boolean enabled)
                                  throws DeviceException,
                                         java.io.IOException
        Description copied from interface: SMU
        Sets whether the voltmeter should use any line-frequency filtering (if available)
        Specified by:
        setLineFilterEnabled in interface IMeter
        Specified by:
        setLineFilterEnabled in interface SMU
        Specified by:
        setLineFilterEnabled in interface VMeter
        Parameters:
        enabled - Use line filter?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error