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

AAD

SMU.adc_type()

AB

abort()

AIT

adc_setup()

AV

adc_averaging()

AZ

adc_auto_zero

BC

clear_buffer()

CL

SMU.disable()

CM

auto_calibration

CMM

SMU.meas_op_mode()

CN

SMU.enable()

DI

SMU.force() mode: 'CURRENT'

DV

SMU.force() mode: 'VOLTAGE'

DZ

force_gnd(), SMU.force_gnd()

ERRX?

check_errors()

FL

SMU.filter

FMT

data_format()

*IDN?

id()

*LRN?

query_learn(),
multiple methods to read/format settings directly

MI

SMU.sampling_source() mode: 'CURRENT'

ML

sampling_mode

MM

meas_mode()

MSC

sampling_auto_abort()

MT

sampling_timing()

MV

SMU.sampling_source() mode: 'VOLTAGE'

*OPC?

check_idle()

PA

pause()

PAD

parallel_meas

RI

meas_range_current

RM

SMU.meas_range_current_auto()

*RST

reset()

RV

meas_range_voltage

SSR

series_resistor

TSC

time_stamp

TSR

clear_timer()

UNT?

query_modules()

WAT

wait_time()

WI

SMU.staircase_sweep_source() mode: 'CURRENT'

WM

sweep_auto_abort()

WSI

SMU.synchronous_sweep_source() mode: 'CURRENT'

WSV

SMU.synchronous_sweep_source() mode: 'VOLTAGE'

WT

sweep_timing()

WV

SMU.staircase_sweep_source() mode: 'VOLTAGE'

XE

send_trigger()

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 class

  • SMU: 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 of QueryLearn.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

SMU

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 and MM 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)

Parameters
  • mode (MeasMode) –

    Measurement mode

    • Spot

    • Staircase Sweep

    • Sampling

  • args (SMU) – SMU references

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

Parameters
  • adc_type (ADCType) – ADC type

  • mode (ADCMode) – ADC mode

  • N (str, optional) – additional parameter, check documentation, defaults to ''

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 type

  • N (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

SamplingMode

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 class

  • channel (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

MeasOpMode

property adc_type

ADC type of individual measurement channel. (AAD)

Type

ADCType

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 auto

  • comp_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 auto

  • comp_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 or WI)

Parameters
  • source_type (str) – Source type ('Voltage','Current')

  • mode (SweepMode) – Sweep mode

  • source_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 or WSI)

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 or MI)

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:

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