Class TestFET

    • Constructor Detail

      • TestFET

        public TestFET​(Address address)
    • Method Detail

      • getDescription

        public static java.lang.String getDescription()
      • 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
      • getName

        public java.lang.String getName​(int channel)
        Specified by:
        getName in interface MCSMU
      • getVoltage

        public double getVoltage​(int channel)
                          throws DeviceException
        Description copied from interface: MCSMU
        Returns the voltage of the specified channel
        Specified by:
        getVoltage in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Voltage, in Volts
        Throws:
        DeviceException - Upon device compatibility error
      • getCurrent

        public double getCurrent​(int channel)
                          throws DeviceException
        Description copied from interface: MCSMU
        Returns the current of the specified channel
        Specified by:
        getCurrent in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Current, in Amps
        Throws:
        DeviceException - Upon device compatibility error
      • setVoltage

        public void setVoltage​(int channel,
                               double voltage)
                        throws DeviceException
        Description copied from interface: MCSMU
        Sets the specified channel to source the given voltage (when turned on)
        Specified by:
        setVoltage in interface MCSMU
        Parameters:
        channel - Channel number
        voltage - Voltage to source, in Volts
        Throws:
        DeviceException - Upon device compatibility error
      • setCurrent

        public void setCurrent​(int channel,
                               double current)
                        throws DeviceException,
                               java.io.IOException
        Description copied from interface: MCSMU
        Sets the specified channel to source the given current (when turned on)
        Specified by:
        setCurrent in interface MCSMU
        Parameters:
        channel - Channel number
        current - Current to source, in Amps
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • turnOn

        public void turnOn​(int channel)
                    throws DeviceException,
                           java.io.IOException
        Description copied from interface: MCSMU
        Enables output on the specified channel
        Specified by:
        turnOn in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • turnOff

        public void turnOff​(int channel)
                     throws DeviceException,
                            java.io.IOException
        Description copied from interface: MCSMU
        Disables output on the specified channel
        Specified by:
        turnOff in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • isOn

        public boolean isOn​(int channel)
                     throws DeviceException,
                            java.io.IOException
        Description copied from interface: MCSMU
        Returns whether the specified channel currently has its output enabled
        Specified by:
        isOn in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Is it enabled?
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • setSource

        public void setSource​(int channel,
                              Source source)
                       throws DeviceException,
                              java.io.IOException
        Description copied from interface: MCSMU
        Sets the source mode of the specified channel
        Specified by:
        setSource in interface MCSMU
        Parameters:
        channel - Channel number
        source - VOLTAGE or CURRENT
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • getSource

        public Source getSource​(int channel)
                         throws DeviceException,
                                java.io.IOException
        Description copied from interface: MCSMU
        Returns the source mode of the specified channel
        Specified by:
        getSource in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Source mode (VOLTAGE or CURRENT)
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • setBias

        public void setBias​(int channel,
                            double level)
                     throws DeviceException,
                            java.io.IOException
        Description copied from interface: MCSMU
        Sets the level of whichever quantity is being sourced on the specified channel
        Specified by:
        setBias in interface MCSMU
        Parameters:
        channel - Channel number
        level - Volts or Amps
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • getSourceValue

        public double getSourceValue​(int channel)
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: MCSMU
        Returns the value of whichever quantity is being sourced on the specified channel
        Specified by:
        getSourceValue in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Voltage or Current, in Volts or Amps
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • getMeasureValue

        public double getMeasureValue​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the value of whichever quantity is being measured on the specified channel
        Specified by:
        getMeasureValue in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Voltage or Current, in Volts or Amps
        Throws:
        DeviceException - Upon device compatibility error
        java.io.IOException - Upon communications error
      • getNumChannels

        public int getNumChannels()
        Description copied from interface: MCSMU
        Returns the number of channels this SMU has.
        Specified by:
        getNumChannels in interface MCSMU
        Returns:
        Number of channels
      • setFourProbeEnabled

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

        public boolean isFourProbeEnabled​(int channel)
                                   throws DeviceException,
                                          java.io.IOException
        Description copied from interface: MCSMU
        Returns whether the device is currently configured to use all four probes on the specified channel.
        Specified by:
        isFourProbeEnabled in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Are all probes to be used?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setAverageMode

        public void setAverageMode​(int channel,
                                   AMode mode)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: MCSMU
        Sets which type of averaging the SMU should use when making a measurement on the specified channel.
        Specified by:
        setAverageMode in interface MCSMU
        Parameters:
        channel - Channel number
        mode - Averaging mode
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setAverageCount

        public void setAverageCount​(int channel,
                                    int count)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets how many measurements to use when averaging on the specified channel.
        Specified by:
        setAverageCount in interface MCSMU
        Parameters:
        channel - Channel number
        count - Averaging count
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getAverageCount

        public int getAverageCount​(int channel)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: MCSMU
        Returns how many measurements the SMU is using to perform its averaging on the specified channel.
        Specified by:
        getAverageCount in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Averaging count
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getAverageMode

        public AMode getAverageMode​(int channel)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Returns which averaging mode the SMU is currently using for measurements on the specified channel.
        Specified by:
        getAverageMode in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Averaging mode
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setSourceRange

        public void setSourceRange​(int channel,
                                   double value)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: MCSMU
        Sets the range (and thus precision) to use for the sourced quantity on the given channel.
        Specified by:
        setSourceRange in interface MCSMU
        Parameters:
        channel - Channel number
        value - Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getSourceRange

        public double getSourceRange​(int channel)
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: MCSMU
        Returns the range being used for the sourced quantity on the specified channel.
        Specified by:
        getSourceRange in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoSourceRange

        public void useAutoSourceRange​(int channel)
                                throws DeviceException,
                                       java.io.IOException
        Description copied from interface: MCSMU
        Tells the SMU to use auto-ranging for the sourced quantity on the specified channel.
        Specified by:
        useAutoSourceRange in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingSource

        public boolean isAutoRangingSource​(int channel)
                                    throws DeviceException,
                                           java.io.IOException
        Description copied from interface: MCSMU
        Returns whether auto-ranging is being used for the source quantity on the specified channel.
        Specified by:
        isAutoRangingSource in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Auto-ranging in use?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setMeasureRange

        public void setMeasureRange​(int channel,
                                    double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets the range (and thus precision) to use for the measured quantity on the given channel.
        Specified by:
        setMeasureRange in interface MCSMU
        Parameters:
        channel - Channel number
        value - Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getMeasureRange

        public double getMeasureRange​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the range being used for the measured quantity on the specified channel.
        Specified by:
        getMeasureRange in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Range value, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoMeasureRange

        public void useAutoMeasureRange​(int channel)
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: MCSMU
        Tells the SMU to use auto-ranging for the measured quantity on the specified channel.
        Specified by:
        useAutoMeasureRange in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingMeasure

        public boolean isAutoRangingMeasure​(int channel)
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: MCSMU
        Returns whether auto-ranging is being used for the measured quantity on the specified channel.
        Specified by:
        isAutoRangingMeasure in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Auto-ranging in use?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setVoltageRange

        public void setVoltageRange​(int channel,
                                    double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets the range (and thus precision) to use for voltage values on the specified channel.
        Specified by:
        setVoltageRange in interface MCSMU
        Parameters:
        channel - Channel number
        value - Range, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getVoltageRange

        public double getVoltageRange​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the range being used for voltage values on the specified channel.
        Specified by:
        getVoltageRange in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Range, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoVoltageRange

        public void useAutoVoltageRange​(int channel)
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: MCSMU
        Tells the SMU to use auto-ranging for voltage values on the specified channel.
        Specified by:
        useAutoVoltageRange in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingVoltage

        public boolean isAutoRangingVoltage​(int channel)
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: MCSMU
        Returns whether auto-ranging is being used for voltage values on the specified channel.
        Specified by:
        isAutoRangingVoltage in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Auto-ranging in use?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setCurrentRange

        public void setCurrentRange​(int channel,
                                    double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets the range (and thus precision) to use for current values on the specified channel.
        Specified by:
        setCurrentRange in interface MCSMU
        Parameters:
        channel - Channel number
        value - Range, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getCurrentRange

        public double getCurrentRange​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the range being used for current values on the specified channel.
        Specified by:
        getCurrentRange in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Range, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • useAutoCurrentRange

        public void useAutoCurrentRange​(int channel)
                                 throws DeviceException,
                                        java.io.IOException
        Description copied from interface: MCSMU
        Tells the SMU to use auto-ranging for current values on the specified channel.
        Specified by:
        useAutoCurrentRange in interface MCSMU
        Parameters:
        channel - Channel number
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isAutoRangingCurrent

        public boolean isAutoRangingCurrent​(int channel)
                                     throws DeviceException,
                                            java.io.IOException
        Description copied from interface: MCSMU
        Returns whether auto-ranging is being used for current values on the specified channel.
        Specified by:
        isAutoRangingCurrent in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Auto-ranging in use?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setOutputLimit

        public void setOutputLimit​(int channel,
                                   double value)
                            throws DeviceException,
                                   java.io.IOException
        Description copied from interface: MCSMU
        Sets the limit (compliance) on whichever quantity is not being sourced on the given channel.
        Specified by:
        setOutputLimit in interface MCSMU
        Parameters:
        channel - Channel number
        value - Limit, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getOutputLimit

        public double getOutputLimit​(int channel)
                              throws DeviceException,
                                     java.io.IOException
        Description copied from interface: MCSMU
        Returns the limit (compliance) on whichever quantity is not being sourced on the specified channel.
        Specified by:
        getOutputLimit in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Limit, in Volts or Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setVoltageLimit

        public void setVoltageLimit​(int channel,
                                    double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets the limit (compliance) on voltage values when not being sourced on the specified channel.
        Specified by:
        setVoltageLimit in interface MCSMU
        Parameters:
        channel - Channel number
        value - Limit, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getVoltageLimit

        public double getVoltageLimit​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the limit (compliance) on voltage when not being sourced on the specified channel.
        Specified by:
        getVoltageLimit in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Limit, in Volts
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setCurrentLimit

        public void setCurrentLimit​(int channel,
                                    double value)
                             throws DeviceException,
                                    java.io.IOException
        Description copied from interface: MCSMU
        Sets the limit (compliance) on current when not being sourced on the specified channel.
        Specified by:
        setCurrentLimit in interface MCSMU
        Parameters:
        channel - Channel number
        value - Limit, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getCurrentLimit

        public double getCurrentLimit​(int channel)
                               throws DeviceException,
                                      java.io.IOException
        Description copied from interface: MCSMU
        Returns the limit (compliance) on current when not being sourced on the specified channel.
        Specified by:
        getCurrentLimit in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Limit, in Amps
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setIntegrationTime

        public void setIntegrationTime​(int channel,
                                       double time)
                                throws DeviceException,
                                       java.io.IOException
        Description copied from interface: MCSMU
        Sets the integration time to use for measurements on the specified channel.
        Specified by:
        setIntegrationTime in interface MCSMU
        Parameters:
        channel - Channel number
        time - Integration time, in seconds
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • getIntegrationTime

        public double getIntegrationTime​(int channel)
                                  throws DeviceException,
                                         java.io.IOException
        Description copied from interface: MCSMU
        Returns the integration time used for measurements on the specified channel.
        Specified by:
        getIntegrationTime in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Integration time, in seconds
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • isLineFilterEnabled

        public boolean isLineFilterEnabled​(int channel)
                                    throws DeviceException,
                                           java.io.IOException
        Description copied from interface: MCSMU
        Returns whether the voltmeter is using any line-frequency filtering
        Specified by:
        isLineFilterEnabled in interface MCSMU
        Parameters:
        channel - Channel number
        Returns:
        Using line filter?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • setLineFilterEnabled

        public void setLineFilterEnabled​(int channel,
                                         boolean enabled)
                                  throws DeviceException,
                                         java.io.IOException
        Description copied from interface: MCSMU
        Sets whether the voltmeter should use any line-frequency filtering (if available)
        Specified by:
        setLineFilterEnabled in interface MCSMU
        Parameters:
        channel - Channel number
        enabled - Use line filter?
        Throws:
        DeviceException - Upon incompatibility with device
        java.io.IOException - Upon communications error
      • 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
      • 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
      • 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