-
Notifications
You must be signed in to change notification settings - Fork 9
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.
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
public abstract int getNumChannels()
Returns the number of channels this SMU has.
- Returns: Number of channels
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
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
-
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
-
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
-
public Sweep createMultiSweep()
Creates an MCSMU.Sweep object allowing the configuration and execution of a multi-channel sweep
- Returns: Sweep
Structures used by the MCSMU
class.
public class DataPoint
Structure to hold I-V data from a multi-channel sweep
public class VirtualSMU extends SMU
Class for controlling an MCSMU channel as if it were a separate SMU
public abstract class Sweep
Class for configuring then executing multi-channel sweeps
- Getting Started
- Object Orientation
- Choosing a Language
- Using JISA in Java
- Using JISA in Python
- Using JISA in Kotlin
- Exceptions
- Functions as Objects
- Instrument Basics
- SMUs
- Thermometers (and old TCs)
- PID and Temperature Controllers
- Lock-Ins
- Power Supplies
- Pre-Amplifiers
- Writing New Drivers