Agilent B1500 Semiconductor Parameter Analyzer
General Information
This instrument driver does not support all configuration options of the B1500 mainframe yet. So far, it is possible to interface multiple SMU modules and source/measure currents and voltages, perform sampling and staircase sweep measurements. The implementation of further measurement functionalities is highly encouraged. Meanwhile the model is managed by Keysight, see the corresponding “Programming Guide” for details on the control methods and their parameters
Command Translation
Alphabetical list of implemented B1500 commands and their corresponding method/attribute names in this instrument driver.
Command |
Property/Method |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Examples
Initialization of the Instrument
from pymeasure.instruments.agilent import AgilentB1500
# explicitly define r/w terminations; set sufficiently large timeout in milliseconds or None.
b1500=AgilentB1500("GPIB0::17::INSTR", read_termination='\r\n', write_termination='\r\n', timeout=600000)
# query SMU config from instrument and initialize all SMU instances
b1500.initialize_all_smus()
# set data output format (required!)
b1500.data_format(21, mode=1) #call after SMUs are initialized to get names for the channels
IV measurement with 4 SMUs
# choose measurement mode
b1500.meas_mode('STAIRCASE_SWEEP', *b1500.smu_references) #order in smu_references determines order of measurement
# settings for individual SMUs
for smu in b1500.smu_references:
smu.enable() #enable SMU
smu.adc_type = 'HRADC' #set ADC to high-resoultion ADC
smu.meas_range_current = '1 nA'
smu.meas_op_mode = 'COMPLIANCE_SIDE' # other choices: Current, Voltage, FORCE_SIDE, COMPLIANCE_AND_FORCE_SIDE
# General Instrument Settings
# b1500.adc_averaging = 1
# b1500.adc_auto_zero = True
b1500.adc_setup('HRADC','AUTO',6)
#b1500.adc_setup('HRADC','PLC',1)
#Sweep Settings
b1500.sweep_timing(0,5,step_delay=0.1) #hold,delay
b1500.sweep_auto_abort(False,post='STOP') #disable auto abort, set post measurement output condition to stop value of sweep
# Sweep Source
nop = 11
b1500.smu1.staircase_sweep_source('VOLTAGE','LINEAR_DOUBLE','Auto Ranging',0,1,nop,0.001) #type, mode, range, start, stop, steps, compliance
# Synchronous Sweep Source
b1500.smu2.synchronous_sweep_source('VOLTAGE','Auto Ranging',0,1,0.001) #type, range, start, stop, comp
# Constant Output (could also be done using synchronous sweep source with start=stop, but then the output is not ramped up)
b1500.smu3.ramp_source('VOLTAGE','Auto Ranging',-1,stepsize=0.1,pause=20e-3) #output starts immediately! (compared to sweeps)
b1500.smu4.ramp_source('VOLTAGE','Auto Ranging',0,stepsize=0.1,pause=20e-3)
#Start Measurement
b1500.check_errors()
b1500.clear_buffer()
b1500.clear_timer()
b1500.send_trigger()
# read measurement data all at once
b1500.check_idle() #wait until measurement is finished
data = b1500.read_data(2*nop) #Factor 2 because of double sweep
#alternatively: read measurement data live
meas = []
for i in range(nop*2):
read_data = b1500.read_channels(4+1) # 4 measurement channels, 1 sweep source (returned due to mode=1 of data_format)
# process live data for plotting etc.
# data format for every channel (status code, channel name e.g. 'SMU1', data name e.g 'Current Measurement (A)', value)
meas.append(read_data)
#sweep constant sources back to 0V
b1500.smu3.ramp_source('VOLTAGE','Auto Ranging',0,stepsize=0.1,pause=20e-3)
b1500.smu4.ramp_source('VOLTAGE','Auto Ranging',0,stepsize=0.1,pause=20e-3)
Sampling measurement with 4 SMUs
# choose measurement mode
b1500.meas_mode('SAMPLING', *b1500.smu_references) #order in smu_references determines order of measurement
number_of_channels = len(b1500.smu_references)
# settings for individual SMUs
for smu in b1500.smu_references:
smu.enable() #enable SMU
smu.adc_type = 'HSADC' #set ADC to high-speed ADC
smu.meas_range_current = '1 nA'
smu.meas_op_mode = 'COMPLIANCE_SIDE' # other choices: Current, Voltage, FORCE_SIDE, COMPLIANCE_AND_FORCE_SIDE
b1500.sampling_mode = 'LINEAR'
# b1500.adc_averaging = 1
# b1500.adc_auto_zero = True
b1500.adc_setup('HSADC','AUTO',1)
#b1500.adc_setup('HSADC','PLC',1)
nop=11
b1500.sampling_timing(2,0.005,nop) #MT: bias hold time, sampling interval, number of points
b1500.sampling_auto_abort(False,post='BIAS') #MSC: BASE/BIAS
b1500.time_stamp = True
# Sources
b1500.smu1.sampling_source('VOLTAGE','Auto Ranging',0,1,0.001) #MV/MI: type, range, base, bias, compliance
b1500.smu2.sampling_source('VOLTAGE','Auto Ranging',0,1,0.001)
b1500.smu3.ramp_source('VOLTAGE','Auto Ranging',-1,stepsize=0.1,pause=20e-3) #output starts immediately! (compared to sweeps)
b1500.smu4.ramp_source('VOLTAGE','Auto Ranging',-1,stepsize=0.1,pause=20e-3)
#Start Measurement
b1500.check_errors()
b1500.clear_buffer()
b1500.clear_timer()
b1500.send_trigger()
meas=[]
for i in range(nop):
read_data = b1500.read_channels(1+2*number_of_channels) #Sampling Index + (time stamp + measurement value) * number of channels
# process live data for plotting etc.
# data format for every channel (status code, channel name e.g. 'SMU1', data name e.g 'Current Measurement (A)', value)
meas.append(read_data)
#sweep constant sources back to 0V
b1500.smu3.ramp_source('VOLTAGE','Auto Ranging',0,stepsize=0.1,pause=20e-3)
b1500.smu4.ramp_source('VOLTAGE','Auto Ranging',0,stepsize=0.1,pause=20e-3)
Main Classes
Classes to communicate with the instrument:
AgilentB1500
: Main instrument classSMU
: Instantiated by main instrument class for every SMU
All query commands return a human readable dict of settings. These are intended for debugging/logging/file headers, not for passing to the accompanying setting commands.
- class pymeasure.instruments.agilent.agilentB1500.AgilentB1500(adapter, name='Agilent B1500 Semiconductor Parameter Analyzer', **kwargs)
Bases:
SCPIUnknownMixin
,Instrument
Represents the Agilent B1500 Semiconductor Parameter Analyzer and provides a high-level interface for taking different kinds of measurements.
- property smu_references
Returns all SMU instances.
- property smu_names
Returns all SMU names.
- query_learn(query_type)
Queries settings from the instrument (
*LRN?
). Returns dict of settings.- Parameters:
query_type (int or str) – Query type (number according to manual)
- query_learn_header(query_type, **kwargs)
Queries settings from the instrument (
*LRN?
). Returns dict of settings in human readable format for debugging or file headers. For optional arguments check the underlying definition ofQueryLearn.query_learn_header()
.- Parameters:
query_type (int or str) – Query type (number according to manual)
- reset()
Resets the instrument to default settings (
*RST
)
- query_modules()
Queries module models from the instrument. Returns dictionary of channel and module type.
- Returns:
Channel:Module Type
- Return type:
dict
- initialize_smu(channel, smu_type, name)
Initializes SMU instance by calling
SMU
.- Parameters:
channel (int) – SMU channel
smu_type (str) – SMU type, e.g.
'HRSMU'
name (str) – SMU name for pymeasure (data output etc.)
- Returns:
SMU instance
- Return type:
- initialize_all_smus()
Initialize all SMUs by querying available modules and creating a SMU class instance for each. SMUs are accessible via attributes
.smu1
etc.
- pause(pause_seconds)
Pauses Command Execution for given time in seconds (
PA
)- Parameters:
pause_seconds (int) – Seconds to pause
- abort()
Aborts the present operation but channels may still output current/voltage (
AB
)
- force_gnd()
Force 0V on all channels immediately. Current Settings can be restored with RZ. (
DZ
)
- check_errors()
Check for errors (
ERRX?
)
- check_idle()
Check if instrument is idle (
*OPC?
)
- clear_buffer()
Clear output data buffer (
BC
)
- clear_timer()
Clear timer count (
TSR
)
- send_trigger()
Send trigger to start measurement (except High Speed Spot) (
XE
)
- property auto_calibration
Enable/Disable SMU auto-calibration every 30 minutes. (
CM
)- Type:
bool
- data_format(output_format, mode=0)
Specifies data output format. Check Documentation for parameters. Should be called once per session to set the data format for interpreting the measurement values read from the instrument. (
FMT
)Currently implemented are format 1, 11, and 21.
- Parameters:
output_format (str) – Output format string, e.g.
FMT21
mode (int, optional) – Data output mode, defaults to 0 (only measurement data is returned)
- property parallel_meas
- Enable/Disable parallel measurements.
Effective for SMUs using HSADC and measurement modes 1,2,10,18. (
PAD
)
- Type:
bool
- query_meas_settings()
Read settings for
TM
,AV
,CM
,FMT
andMM
commands (31) from the instrument.
- query_meas_mode()
Read settings for
MM
command (part of 31) from the instrument.
- meas_mode(mode, *args)
Set Measurement mode of channels. Measurements will be taken in the same order as the SMU references are passed. (
MM
)
- query_adc_setup()
Read ADC settings (55, 56) from the instrument.
- adc_setup(adc_type, mode, N='')
Set up operation mode and parameters of ADC for each ADC type. (
AIT
) Defaults:HSADC: Auto N=1, Manual N=1, PLC N=1, Time N=0.000002(s)
HRADC: Auto N=6, Manual N=3, PLC N=1
- adc_averaging(number, mode='Auto')
Set number of averaging samples of the HSADC. (
AV
)Defaults: N=1, Auto
- Parameters:
number (int) – Number of averages
mode (
AutoManual
, optional) – Mode ('Auto','Manual'
), defaults to ‘Auto’
- property adc_auto_zero
Enable/Disable ADC zero function. Halves the integration time, if off. (
AZ
)- Type:
bool
- property time_stamp
Enable/Disable Time Stamp function. (
TSC
)- Type:
bool
- query_time_stamp_setting()
Read time stamp settings (60) from the instrument.
- wait_time(wait_type, N, offset=0)
Configure wait time. (
WAT
)- Parameters:
wait_type (
WaitTimeType
) – Wait time typeN (float) – Coefficient for initial wait time, default: 1
offset (int, optional) – Offset for wait time, defaults to 0
- query_staircase_sweep_settings()
Reads Staircase Sweep Measurement settings (33) from the instrument.
- sweep_timing(hold, delay, step_delay=0, step_trigger_delay=0, measurement_trigger_delay=0)
Sets Hold Time, Delay Time and Step Delay Time for staircase or multi channel sweep measurement. (
WT
) If not set, all parameters are 0.- Parameters:
hold (float) – Hold time
delay (float) – Delay time
step_delay (float, optional) – Step delay time, defaults to 0
step_trigger_delay (float, optional) – Trigger delay time, defaults to 0
measurement_trigger_delay (float, optional) – Measurement trigger delay time, defaults to 0
- sweep_auto_abort(abort, post='START')
Enables/Disables the automatic abort function. Also sets the post measurement condition. (
WM
)- Parameters:
abort (bool) – Enable/Disable automatic abort
post (
StaircaseSweepPostOutput
, optional) – Output after measurement, defaults to ‘Start’
- query_sampling_settings()
Reads Sampling Measurement settings (47) from the instrument.
- property sampling_mode
Set linear or logarithmic sampling mode. (
ML
)- Type:
- sampling_timing(hold_bias, interval, number, hold_base=0)
Sets Timing Parameters for the Sampling Measurement (
MT
)- Parameters:
hold_bias (float) – Bias hold time
interval (float) – Sampling interval
number (int) – Number of Samples
hold_base (float, optional) – Base hold time, defaults to 0
- sampling_auto_abort(abort, post='Bias')
Enables/Disables the automatic abort function. Also sets the post measurement condition. (
MSC
)- Parameters:
abort (bool) – Enable/Disable automatic abort
post (
SamplingPostOutput
, optional) – Output after measurement, defaults to ‘Bias’
- read_data(number_of_points)
Reads all data from buffer and returns Pandas DataFrame. Specify number of measurement points for correct splitting of the data list.
- Parameters:
number_of_points (int) – Number of measurement points
- Returns:
Measurement Data
- Return type:
pd.DataFrame
- read_channels(nchannels)
Reads data for 1 measurement point from the buffer. Specify number of measurement channels + sweep sources (depending on data output setting).
- Parameters:
nchannels (int) – Number of channels which return data
- Returns:
Measurement data
- Return type:
tuple
- query_series_resistor()
Read series resistor status (53) for all SMUs.
- query_meas_range_current_auto()
Read auto ranging mode status (54) for all SMUs.
- query_meas_op_mode()
Read SMU measurement operation mode (46) for all SMUs.
- query_meas_ranges()
Read measruement ranging status (32) for all SMUs.
- class pymeasure.instruments.agilent.agilentB1500.SMU(parent, channel, smu_type, name, **kwargs)
Bases:
object
Provides specific methods for the SMUs of the Agilent B1500 mainframe
- Parameters:
parent (
AgilentB1500
) – Instance of the B1500 mainframe classchannel (int) – Channel number of the SMU
smu_type (str) – Type of the SMU
name (str) – Name of the SMU
- write(string)
Wraps
Instrument.write()
method of B1500.
- ask(string)
Wraps
ask()
method of B1500.
- query_learn(query_type, command)
Wraps
query_learn()
method of B1500.
- check_errors()
Wraps
check_errors()
method of B1500.
- property status
Query status of the SMU.
- enable()
Enable Source/Measurement Channel (
CN
)
- disable()
Disable Source/Measurement Channel (
CL
)
- force_gnd()
Force 0V immediately. Current Settings can be restored with
RZ
(not implemented). (DZ
)
- property filter
Enables/Disables SMU Filter. (
FL
)- Type:
bool
- property series_resistor
Enables/Disables 1MOhm series resistor. (
SSR
)- Type:
bool
- property meas_op_mode
Set SMU measurement operation mode. (
CMM
)- Type:
- force(source_type, source_range, output, comp='', comp_polarity='', comp_range='')
Applies DC Current or Voltage from SMU immediately. (
DI
,DV
)- Parameters:
source_type (str) – Source type (
'Voltage','Current'
)source_range (int or str) – Output range index or name
output (float) – Source output value in A or V
comp (float, optional) – Compliance value, defaults to previous setting
comp_polarity (
CompliancePolarity
) – Compliance polairty, defaults to autocomp_range (int or str, optional) – Compliance ranging type, defaults to auto
- ramp_source(source_type, source_range, target_output, comp='', comp_polarity='', comp_range='', stepsize=0.001, pause=0.02)
Ramps to a target output from the set value with a given step size, each separated by a pause.
- Parameters:
source_type (str) – Source type (
'Voltage'
or'Current'
)target_output – Target output voltage or current
irange (int) – Output range index
comp (float, optional) – Compliance, defaults to previous setting
comp_polarity (
CompliancePolarity
) – Compliance polairty, defaults to autocomp_range (int or str, optional) – Compliance ranging type, defaults to auto
stepsize – Maximum size of steps
pause – Duration in seconds to wait between steps
- Type:
target_output: float
- property meas_range_current
Current measurement range index. (
RI
)Possible settings depend on SMU type, e.g.
0
for Auto Ranging:SMUCurrentRanging
- property meas_range_voltage
Voltage measurement range index. (
RV
)Possible settings depend on SMU type, e.g.
0
for Auto Ranging:SMUVoltageRanging
- meas_range_current_auto(mode, rate=50)
Specifies the auto range operation. Check Documentation. (
RM
)- Parameters:
mode (int) – Range changing operation mode
rate (int, optional) – Parameter used to calculate the current value, defaults to 50
- staircase_sweep_source(source_type, mode, source_range, start, stop, steps, comp, Pcomp='')
Specifies Staircase Sweep Source (Current or Voltage) and its parameters. (
WV
orWI
)- Parameters:
source_type (str) – Source type (
'Voltage','Current'
)mode (
SweepMode
) – Sweep modesource_range (int) – Source range index
start (float) – Sweep start value
stop (float) – Sweep stop value
steps (int) – Number of sweep steps
comp (float) – Compliance value
Pcomp (float, optional) – Power compliance, defaults to not set
- synchronous_sweep_source(source_type, source_range, start, stop, comp, Pcomp='')
Specifies Synchronous Staircase Sweep Source (Current or Voltage) and its parameters. (
WSV
orWSI
)- Parameters:
source_type (str) – Source type (
'Voltage','Current'
)source_range (int) – Source range index
start (float) – Sweep start value
stop (float) – Sweep stop value
comp (float) – Compliance value
Pcomp (float, optional) – Power compliance, defaults to not set
- sampling_source(source_type, source_range, base, bias, comp)
Sets DC Source (Current or Voltage) for sampling measurement. DV/DI commands on the same channel overwrite this setting. (
MV
orMI
)- Parameters:
source_type (str) – Source type (
'Voltage','Current'
)source_range (int) – Source range index
base (float) – Base voltage/current
bias (float) – Bias voltage/current
comp (float) – Compliance value
Supporting Classes
Classes that provide additional functionalities:
QueryLearn
: Process read out of instrument settingsSMUCurrentRanging
,SMUVoltageRanging
: Allowed ranges for different SMU types and transformation of range names to indices (base:Ranging
)
- class pymeasure.instruments.agilent.agilentB1500.QueryLearn
Bases:
object
Methods to issue and process
*LRN?
(learn) command and response.- static query_learn(ask, query_type)
Issues
*LRN?
(learn) command to the instrument to read configuration. Returns dictionary of commands and set values.- Parameters:
query_type (int) – Query type according to the programming guide
- Returns:
Dictionary of command and set values
- Return type:
dict
- classmethod query_learn_header(ask, query_type, smu_references, single_command=False)
Issues
*LRN?
(learn) command to the instrument to read configuration. Processes information to human readable values for debugging purposes or file headers.- Parameters:
ask (Instrument.ask) – ask method of the instrument
query_type (int or str) – Number according to Programming Guide
smu_references (dict) – SMU references by channel
single_command (str) – if only a single command should be returned, defaults to False
- Returns:
Read configuration
- Return type:
dict
- static to_dict(parameters, names, *args)
Takes parameters returned by
query_learn()
and ordered list of corresponding parameter names (optional function) and returns dict of parameters including names.- Parameters:
parameters (dict) – Parameters for one command returned by
query_learn()
names (list) – list of names or (name, function) tuples, ordered
- Returns:
Parameter name and (processed) parameter
- Return type:
dict
- class pymeasure.instruments.agilent.agilentB1500.Ranging(supported_ranges, ranges, fixed_ranges=False)
Bases:
object
Possible Settings for SMU Current/Voltage Output/Measurement ranges. Transformation of available Voltage/Current Range Names to Index and back.
- Parameters:
supported_ranges (list) – Ranges which are supported (list of range indizes)
ranges (dict) – All range names
{Name: Indizes}
fixed_ranges – add fixed ranges (negative indizes); defaults to False
- __call__(input_value)
Gives named tuple (name/index) of given Range. Throws error if range is not supported by this SMU.
- Parameters:
input (str or int) – Range name or index
- Returns:
named tuple (name/index) of range
- Return type:
namedtuple
- class pymeasure.instruments.agilent.agilentB1500.SMUCurrentRanging(smu_type)
Bases:
object
Provides Range Name/Index transformation for current measurement/sourcing. Validity of ranges is checked against the type of the SMU.
Omitting the ‘limited auto ranging’/’range fixed’ specification in the range string for current measurement defaults to ‘limited auto ranging’.
Full specification: ‘1 nA range fixed’ or ‘1 nA limited auto ranging’
‘1 nA’ defaults to ‘1 nA limited auto ranging’
- class pymeasure.instruments.agilent.agilentB1500.SMUVoltageRanging(smu_type)
Bases:
object
Provides Range Name/Index transformation for voltage measurement/sourcing. Validity of ranges is checked against the type of the SMU.
Omitting the ‘limited auto ranging’/’range fixed’ specification in the range string for voltage measurement defaults to ‘limited auto ranging’.
Full specification: ‘2 V range fixed’ or ‘2 V limited auto ranging’
‘2 V’ defaults to ‘2 V limited auto ranging’
Enumerations
Enumerations are used for easy selection of the available
parameters (where it is applicable).
Methods accept member name or number as input,
but name is recommended for readability reasons.
The member number is passed to the instrument.
Converting an enumeration member into a string gives a title case,
whitespace separated string (__str__()
)
which cannot be used to select an enumeration member again.
It’s purpose is only logging or documentation.
- class pymeasure.instruments.agilent.agilentB1500.CustomIntEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
IntEnum
Provides additional methods to IntEnum:
Conversion to string automatically replaces ‘_’ with ‘ ‘ in names and converts to title case
get classmethod to get enum reference with name or integer
- __str__()
Gives title case string of enum value
- classmethod get(input_value)
Gives Enum member by specifying name or value.
- Parameters:
input_value (str or int) – Enum name or value
- Returns:
Enum member
- class pymeasure.instruments.agilent.agilentB1500.ADCType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
ADC Type
- HSADC = 0
High-speed ADC
- HRADC = 1
High-resolution ADC
- HSADC_PULSED = 2
High-resolution ADC for pulsed measurements
- class pymeasure.instruments.agilent.agilentB1500.ADCMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
ADC Mode
- AUTO = 0
- MANUAL = 1
- PLC = 2
- TIME = 3
- class pymeasure.instruments.agilent.agilentB1500.AutoManual(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Auto/Manual selection
- AUTO = 0
- MANUAL = 1
- class pymeasure.instruments.agilent.agilentB1500.MeasMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Measurement Mode
- SPOT = 1
- STAIRCASE_SWEEP = 2
- SAMPLING = 10
- class pymeasure.instruments.agilent.agilentB1500.MeasOpMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Measurement Operation Mode
- COMPLIANCE_SIDE = 0
- CURRENT = 1
- VOLTAGE = 2
- FORCE_SIDE = 3
- COMPLIANCE_AND_FORCE_SIDE = 4
- class pymeasure.instruments.agilent.agilentB1500.SweepMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Sweep Mode
- LINEAR_SINGLE = 1
- LOG_SINGLE = 2
- LINEAR_DOUBLE = 3
- LOG_DOUBLE = 4
- class pymeasure.instruments.agilent.agilentB1500.SamplingMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Sampling Mode
- LINEAR = 1
- LOG_10 = 2
Logarithmic 10 data points/decade
- LOG_25 = 3
Logarithmic 25 data points/decade
- LOG_50 = 4
Logarithmic 50 data points/decade
- LOG_100 = 5
Logarithmic 100 data points/decade
- LOG_250 = 6
Logarithmic 250 data points/decade
- LOG_5000 = 7
Logarithmic 5000 data points/decade
- class pymeasure.instruments.agilent.agilentB1500.SamplingPostOutput(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Output after sampling
- BASE = 1
- BIAS = 2
- class pymeasure.instruments.agilent.agilentB1500.StaircaseSweepPostOutput(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Output after staircase sweep
- START = 1
- STOP = 2
- class pymeasure.instruments.agilent.agilentB1500.CompliancePolarity(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Compliance polarity
- AUTO = 0
- MANUAL = 1
- class pymeasure.instruments.agilent.agilentB1500.WaitTimeType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
CustomIntEnum
Wait time type
- SMU_SOURCE = 1
- SMU_MEASUREMENT = 2
- CMU_MEASUREMENT = 3