Skip to content
William Wood edited this page Dec 3, 2018 · 2 revisions

Reference: Multi-Channel SMU (MCSMU)

public abstract class MCSMU extends SMU

Abstract class to define the standard functionality of source measure units with multiple channels.


This page was generated from the JavaDoc for the MCSMU class.

All Methods

getVoltage

public abstract double getVoltage(int channel) throws DeviceException, IOException

Returns the voltage of the specified channel

  • Parameters: channel — Channel number
  • Returns: Voltage, in Volts
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public double getVoltage() throws DeviceException, IOException

Returns the voltage of the first channel

  • Returns: Voltage, in Volts
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

getCurrent

public abstract double getCurrent(int channel) throws DeviceException, IOException

Returns the current of the specified channel

  • Parameters: channel — Channel number
  • Returns: Current, in Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public double getCurrent() throws DeviceException, IOException

Returns the current of the first channel

  • Returns: Current, in Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

setVoltage

public abstract void setVoltage(int channel, double voltage) throws DeviceException, IOException

Sets the specified channel to source a the given voltage (when turned on)

  • Parameters:
    • channel — Channel number
    • voltage — Voltage to source, in Volts
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void setVoltage(double voltage) throws DeviceException, IOException

Sets the first channel to source a the given voltage (when turned on)

  • Parameters: voltage — Voltage to source, in Volts
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

setCurrent

public abstract void setCurrent(int channel, double current) throws DeviceException, IOException

Sets the specified channel to source a the given current (when turned on)

  • Parameters:
    • channel — Channel number
    • current — Current to source, in Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void setCurrent(double current) throws DeviceException, IOException

Sets the first channel to source a the given current (when turned on)

  • Parameters: current — Current to source, in Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

turnOn

public abstract void turnOn(int channel) throws DeviceException, IOException

Enables output on the specified channel

  • Parameters: channel — Channel number
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void turnOn() throws DeviceException, IOException

Enables output on the first channel

  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

turnOff

public abstract void turnOff(int channel) throws DeviceException, IOException

Disables output on the specified channel

  • Parameters: channel — Channel number
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void turnOff() throws DeviceException, IOException

Disables output on the first channel

  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

isOn

public abstract boolean isOn(int channel) throws DeviceException, IOException

Returns whether the specified channel currently has its output enabled

  • Parameters: channel — Channel number
  • Returns: Is it enabled?
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public boolean isOn() throws DeviceException, IOException

Returns whether the first channel currently has its output enabled

  • Returns: Is it enabled?
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

setSource

public abstract void setSource(int channel, Source source) throws DeviceException, IOException

Sets the source mode of the specified channel

  • Parameters:
    • channel — Channel number
    • source — VOLTAGE or CURRENT
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void setSource(Source source) throws DeviceException, IOException

Sets the source mode of the first channel

  • Parameters: source — VOLTAGE or CURRENT
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

getSource

public abstract Source getSource(int channel) throws DeviceException, IOException

Returns the source mode of the specified channel

  • Parameters: channel — Channel number
  • Returns: Source mode (VOLTAGE or CURRENT)
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public Source getSource() throws DeviceException, IOException

Returns the source mode of the first channel

  • Returns: Source mode (VOLTAGE or CURRENT)
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

setBias

public abstract void setBias(int channel, double level) throws DeviceException, IOException

Sets the level of whichever quantity is being sourced on the specified channel

  • Parameters:
    • channel — Channel number
    • level — Volts or Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public void setBias(double level) throws DeviceException, IOException

Sets the level of whichever quantity is being sourced on the first channel

  • Parameters: level — Volts or Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

getSourceValue

public abstract double getSourceValue(int channel) throws DeviceException, 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
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public double getSourceValue() throws DeviceException, IOException

Returns the value of whichever quantity is being sourced on the first channel

  • Returns: Voltage or Current, in Volts or Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

getMeasureValue

public abstract double getMeasureValue(int channel) throws DeviceException, 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
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error
public double getMeasureValue() throws DeviceException, IOException

Returns the value of whichever quantity is being measured on the first channel

  • Returns: Voltage or Current, in Volts or Amps
  • Exceptions:
    • DeviceException — Upon device compatibility error
    • IOException — Upon communications error

getNumChannels

public abstract int getNumChannels()

Returns the number of channels this SMU has.

  • Returns: Number of channels

getChannel

public SMU getChannel(int channel) throws DeviceException

Returns a virtual SMU object to control the specified channel of the MCSMU

  • Parameters: channel — Channel number
  • Returns: Virtual SMU
  • Exceptions: DeviceException — If channel does not exist

doLinearSweep

public SMU.DataPoint[] doLinearSweep(int channel, Source source, double min, double max, int numSteps, long delay, boolean symmetric) throws DeviceException, IOException

Performs a linear sweep of either VOLTAGE or CURRENT, returning the V-I data points as an array of DataPoint objects

  • Parameters:
    • channel — Channel number to do sweep on
    • source — VOLTAGE or CURRENT
    • min — Minimum source value
    • max — Maximum source value
    • numSteps — Number of steps in sweep
    • delay — Amount of time, in milliseconds, to wait before taking each measurement
    • symmetric — Should we sweep back to starting point after sweeping forwards?
  • Returns: Array of DataPoint objects containing I-V data points
  • Exceptions:
    • DeviceException — Upon incompatibility with device
    • IOException — Upon communications error
public SMU.DataPoint[] doLinearSweep(int channel, Source source, double min, double max, int numSteps, long delay, boolean symmetric, ProgressMonitor onUpdate) throws DeviceException, IOException

Performs a linear sweep of either VOLTAGE or CURRENT, returning the V-I data points as an array of DataPoint objects whilst allowing you to keep track of the sweep's progress via a ProgressMonitor object.

  • Parameters:
    • channel — Channel number to do sweep on
    • source — VOLTAGE or CURRENT
    • min — Minimum source value
    • max — Maximum source value
    • numSteps — Number of steps in sweep
    • delay — Amount of time, in milliseconds, to wait before taking each measurement
    • symmetric — Should we sweep back to starting point after sweeping forwards?
    • onUpdate — Method to run each time a new measurement is completed
  • Returns: Array of DataPoint objects containing I-V data points
  • Exceptions:
    • DeviceException — Upon incompatibility with device
    • IOException — Upon communications error

doLogarithmicSweep

public SMU.DataPoint[] doLogarithmicSweep(int channel, Source source, double min, double max, int numSteps, long delay, boolean symmetric, ProgressMonitor onUpdate) throws DeviceException, IOException

Performs a logarithmic sweep of either VOLTAGE or CURRENT, returning V-I data points as an array of DataPoint objects whilst allowing you to keep track of the sweep's progress via a ProgressMonitor object.

  • Parameters:
    • channel — Channel number to do sweep on
    • source — VOLTAGE or CURRENT
    • min — Minimum source value
    • max — Maximum source value
    • numSteps — Number of steps in sweep
    • delay — Amount of time, in milliseconds, to wait before taking each measurement
    • symmetric — Should we sweep back to starting point after sweeping forwards?
    • onUpdate — Method ot run each time a new measurement is completed
  • Returns: Array of DataPoint objects containing V-I data points
  • Exceptions:
    • DeviceException — Upon incompatibility with device
    • IOException — Upon communications error

doSweep

public SMU.DataPoint[] doSweep(int channel, Source source, double[] values, long delay, boolean symmetric, ProgressMonitor onUpdate) throws DeviceException, IOException

Performs a logarithmic sweep of either VOLTAGE or CURRENT, returning V-I data points as an array of DataPoint objects whilst allowing you to keep track of the sweep's progress via a ProgressMonitor object.

  • Parameters:
    • channel — Channel number to do sweep on
    • source — VOLTAGE or CURRENT
    • values — Array of values to use in the sweep
    • delay — Amount of time, in milliseconds, to wait before taking each measurement
    • symmetric — Should we sweep back to starting point after sweeping forwards?
    • onUpdate — Method ot run each time a new measurement is completed
  • Returns: Array of DataPoint objects containing V-I data points
  • Exceptions:
    • DeviceException — Upon incompatibility with device
    • IOException — Upon communications error

createMultiSweep

public Sweep createMultiSweep()

Creates an MCSMU.Sweep object allowing the configuration and execution of a multi-channel sweep

  • Returns: Sweep

Enums and Sub-Classes

Structures used by the MCSMU class.

DataPoint

public class DataPoint

Structure to hold I-V data from a multi-channel sweep


VirtualSMU

public class VirtualSMU extends SMU

Class for controlling an MCSMU channel as if it were a separate SMU


Sweep

public abstract class Sweep

Class for configuring then executing multi-channel sweeps


Clone this wiki locally