# Agilent B1500 Semiconductor Parameter Analyzer

Contents

- Agilent B1500 Semiconductor Parameter Analyzer

  - General Information

    - Command Translation

  - Examples

    - Initialization of the Instrument

    - IV measurement with 4 SMUs

    - Sampling measurement with 4 SMUs

  - Main Classes

  - Supporting Classes

    - Enumerations

## 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()
    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 beacuse 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)

    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`(resourceName, **kwargs)

  Bases: `pymeasure.instruments.instrument.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 Excecution 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`)

    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 intrument.

  `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. Halfs 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 – 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:

- `QueryLearn`: Process read out of instrument settings

- `SMUCurrentRanging`, `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)

  Bases: `enum.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)

  Bases: `pymeasure.instruments.agilent.agilentB1500.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)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  ADC Mode

  `AUTO` = 0
  `MANUAL` = 1
  `PLC` = 2
  `TIME` = 3

class `pymeasure.instruments.agilent.agilentB1500.``AutoManual`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Auto/Manual selection

  `AUTO` = 0
  `MANUAL` = 1

class `pymeasure.instruments.agilent.agilentB1500.``MeasMode`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Measurement Mode

  `SPOT` = 1
  `STAIRCASE_SWEEP` = 2
  `SAMPLING` = 10

class `pymeasure.instruments.agilent.agilentB1500.``MeasOpMode`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.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)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Sweep Mode

  `LINEAR_SINGLE` = 1
  `LOG_SINGLE` = 2
  `LINEAR_DOUBLE` = 3
  `LOG_DOUBLE` = 4

class `pymeasure.instruments.agilent.agilentB1500.``SamplingMode`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.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)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Output after sampling

  `BASE` = 1
  `BIAS` = 2

class `pymeasure.instruments.agilent.agilentB1500.``StaircaseSweepPostOutput`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Output after staircase sweep

  `START` = 1
  `STOP` = 2

class `pymeasure.instruments.agilent.agilentB1500.``CompliancePolarity`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Compliance polarity

  `AUTO` = 0
  `MANUAL` = 1

class `pymeasure.instruments.agilent.agilentB1500.``WaitTimeType`(value)

  Bases: `pymeasure.instruments.agilent.agilentB1500.CustomIntEnum`

  Wait time type

  `SMU_SOURCE` = 1
  `SMU_MEASUREMENT` = 2
  `CMU_MEASUREMENT` = 3