M81 Synchronous Source Measure System

Instrument methods are grouped into three classes: SSMsystem, SourceModule, and MeasureModule

Example Scripts

Below are a few example scripts for the M81 SSM system that use the Lake Shore Python driver.

Making a lock in measurement of resistance using a BCS-10 and VM-10

from lakeshore import SSMSystem
from time import sleep
from math import sqrt

# Connect to instrument via USB
my_M81 = SSMSystem()

# Instantiate source and measure modules
balanced_current_source = my_M81.get_source_module(1)
voltage_measure = my_M81.get_measure_module(1)

# Set the source frequency to 13.7 Hz
balanced_current_source.set_frequency(13.7)

# Set the source current peak amplitude to 1 mA
balanced_current_source.set_current_amplitude(0.001)

# Set the voltage measure module to reference the source 1 module with a 100 ms time constant
voltage_measure.setup_lock_in_measurement('S1', 0.1)

# Enable the source output
balanced_current_source.enable()

# Wait for 15 time constants before taking a measurement
sleep(1.5)
lock_in_magnitude = voltage_measure.get_lock_in_r()

# Get the amplitude of the current source
peak_current = balanced_current_source.get_current_amplitude()

# Calculate the resistance
resistance = lock_in_magnitude * sqrt(2) / peak_current
print("Resistance: {} ohm".format(resistance))

List settings profiles and restore a profile

from lakeshore import SSMSystem

# Connect to instrument via USB
my_M81 = SSMSystem()

# Print a list of saved settings profiles
print(my_M81.settings_profiles.get_list())

# Check that a specific profile can be applied with the present modules
profile_name = "Transistor IV sweep"
if my_M81.settings_profiles.get_valid_for_restore(profile_name):
    my_M81.settings_profiles.restore(profile_name)
else:
    print("The connected modules don't match the profile. Please check the profile and try again.")

Stream data

from lakeshore import SSMSystem

# Connect to instrument via USB
my_M81 = SSMSystem()

# stream 5,000 samples of synchronized data at 1,000 samples per second
streamed_data = my_M81.get_data(1000, 5000,
                                (my_M81.DataSourceMnemonic.RELATIVE_TIME, 1),
                                (my_M81.DataSourceMnemonic.SOURCE_OFFSET, 1),
                                (my_M81.DataSourceMnemonic.MEASURE_X, 1),
                                (my_M81.DataSourceMnemonic.MEASURE_Y, 1),
                                (my_M81.DataSourceMnemonic.MEASURE_DC, 2))

# format the data and print to the console
for point in streamed_data:
    print(f'Time in seconds: {point[0]}')
    print(f'Source 1 offset: {point[1]}')
    print(f'Measure 1 in-phase indication: {point[2]}')
    print(f'Measure 1 out-of-phase indication: {point[3]}')
    print(f'Measure 2 DC indication: {point[4]}\n')

Sweep a BCS-10 from 0 mA to 100 mA

from lakeshore import SSMSystem

# Connect to instrument via USB
my_ssm = SSMSystem()

# Set up a BCS-10 in channel S1 in SC shape with a manual range of 100 mA
s1_bcs = my_ssm.get_source_module(1)

s1_bcs.set_shape('DC')
s1_bcs.configure_current_range(False, max_level=.1)

# Configure the sweep settings to sweep 0 mA to 100 mA with a dwell time of 1 ms
sweep_configuration = SSMSystem.SourceSweepSettings(sweep_type=my_ssm.SourceSweepType.CURRENT_AMPLITUDE,
                                                    start=0.0,
                                                    stop=0.1,
                                                    points=1000,
                                                    dwell=.001,
                                                    direction=my_ssm.SourceSweepSettings.Direction.UP,
                                                    round_trip=False)
s1_bcs.set_sweep_configuration(sweep_configuration)

# stream 1,000 samples of synchronized data at 1,000 samples per second and simultaneously start the sweep
s1_bcs.enable()
stream_data = my_ssm.get_data(1000, 1000,
                              [my_ssm.DataSourceMnemonic.SOURCE_AMPLITUDE, 1],
                              [my_ssm.DataSourceMnemonic.MEASURE_DC, 1])

print(stream_data)

SSMS instrument methods

class lakeshore.ssm_system.SSMSystem(serial_number=None, com_port=None, baud_rate=921600, flow_control=True, timeout=5.0, ip_address=None, tcp_port=7777, **kwargs)

Class for interaction with the M81 instrument.

load_modules()

Loads all unloaded modules. Connected modules must be loaded before they can be used.

get_num_measure_channels()

Returns the number of measure channels supported by the instrument.

get_num_source_channels()

Returns the number of source channels supported by the instrument

get_source_module(port_number)

Returns a SourceModule instance for the given port number.

get_source_pod(port_number)

Alias of get_source_module.

get_source_module_by_name(module_name)

Return the SourceModule instance that matches the specified name.

get_measure_module(port_number)

Returns a MeasureModule instance for the given port number.

get_measure_pod(port_number)

Alias of get_measure_module.

get_measure_module_by_name(module_name)

Return the MeasureModule instance that matches the specified name.

get_multiple(*data_sources)

This function is deprecated. Use fetch_multiple() instead.

Deprecated since version 1.5.4: Use fetch_multiple instead.

get_multiple_min_max_values(*data_sources)

Gets a synchronized minimum and maximum value for each specified data source.

Args:
data_sources (str, int):

Pairs of (DATASOURCE_MNEMONIC, CHANNEL_INDEX).

stream_data(rate, num_points, *data_sources)

Generator object to stream data from the instrument.

Args:
rate (int):

Desired transfer rate in points/sec.

num_points (int):

Number of points to return. None to stream indefinitely.

data_sources (SSMSystemDataSourceMnemonic or str, int):

Variable length list of pairs of (DATA_SOURCE, CHANNEL_INDEX).

Yields:

A single row of stream data as a tuple.

get_data(rate, num_points, *data_sources)

Like stream_data, but returns a list.

Args:
rate (int):

Desired transfer rate in points/sec.

num_points (int):

Number of points to return.

data_sources (SSMSystemDataSourceMnemonic or str, int):

Variable length list of pairs of (DATA_SOURCE, CHANNEL_INDEX).

Returns:

All available stream data as a list of tuples.

log_data_to_csv_file(rate, num_points, file, *data_sources, **kwargs)

Like stream_data, but logs directly to a CSV file.

Args:
rate (int):

Desired transfer rate in points/sec.

file (IO):

File to log to.

num_points (int):

Number of points to log.

data_sources (SSMSystemDataSourceMnemonic or str, int):

Pairs of (DATA_SOURCE, CHANNEL_INDEX).

write_header (bool):

If true, a header row is written with column names.

get_ref_in_edge()

Returns the active edge of the reference input. ‘RISing’ or ‘FALLing’.

set_ref_in_edge(edge)

Sets the active edge of the reference input.

Args:
edge (str):

The new active edge (‘RISing’, or ‘FALLing’).

get_ref_out_source()

Returns the channel used for the reference output. ‘S1’, ‘S2’, or ‘S3’.

set_ref_out_source(ref_out_source)

Sets the channel used for the reference output.

Args:
ref_out_source (str):

The new reference out source (‘S1’, ‘S2’, or ‘S3’).

get_ref_out_state()

Returns the enable state of reference out.

set_ref_out_state(ref_out_state)

Sets the enable state of reference out.

Args:
ref_out_state (bool):

The new reference out state (True to enable reference out, False to disable reference out).

enable_ref_out()

Sets the enable state of reference out to True.

disable_ref_out()

Sets the enable state of reference out to False.

configure_ref_out(ref_out_source, ref_out_state=True)

Configure the reference output.

Args:
ref_out_source (str):

The new reference out source (‘S1’, ‘S2’, or ‘S3’).

ref_out_state (bool):

The new reference out state (True to enable reference out, False to disable reference out).

get_mon_out_mode()

Returns the channel used for the monitor output. ‘M1’, ‘M2’, ‘M3’, or ‘MANUAL’.

set_mon_out_mode(mon_out_source)

Sets the channel used for the monitor output.

Args:
mon_out_source (str):

The new monitor out source (‘M1’, ‘M2’, ‘M3’, or ‘MANUAL’).

get_mon_out_state()

Returns the enable state of monitor out.

set_mon_out_state(mon_out_state)

Sets the enable state of monitor out.

Args:
mon_out_state (bool):

The new monitor out state (True to enable monitor out, False to disable monitor out).

enable_mon_out()

Sets the enable state of monitor out to True.

disable_mon_out()

Sets the enable state of monitor out to False.

configure_mon_out(mon_out_source, mon_out_state=True)

Configure the monitor output.

Args:
mon_out_source (str):

The new monitor out source (‘M1’, ‘M2’, or ‘M3’).

mon_out_state (bool):

The new monitor out state (True to enable monitor out, False to disable monitor out).

get_mon_out_scale()

Returns the monitor out scaling factor of the configured module.

get_head_cal_datetime()

Returns the date and time of the head calibration.

get_head_cal_temperature()

Returns the temperature of the head calibration.

get_head_self_cal_status()

Returns the status of the last head self calibration.

get_head_self_cal_datetime()

Returns the datetime of the last head self calibration.

get_head_self_cal_temperature()

Returns the temperature of the last head self calibration.

run_head_self_calibration()

Runs a self calibration for the head.

reset_head_self_calibration()

“Restore the factory self calibration.

set_mon_out_manual_level(manual_level)

Set the manual level of monitor out when the mode is MANUAL.

Args:
manual_level (float):

The new monitor out manual level.

get_mon_out_manual_level()

Returns the manual level of monitor out.

configure_mon_out_manual_mode(manual_level, mon_out_state=True)

Configures the monitor output for manual mode.

Args:
manual_level (float):

The new monitor out manual level.

mon_out_state (bool):

The new monitor out state (True to enable monitor out, False to disable monitor out).

get_line_frequency()

Returns the line frequency in Hz.

get_detected_line_frequency()

Returns the detected line frequency in Hz.

get_line_frequency_detection_error_status()

Returns the line frequency detection error status. True if the frequency is out of bounds.

fetch_multiple(*data_sources)

Gets a list of the latest values corresponding to the input data sources, and returns them quickly.

Args:
data_sources (SSMSystemDataSourceMnemonic or str, int):

Variable length list of pairs of (DATA_SOURCE, CHANNEL_INDEX).

Returns:

Tuple of values corresponding to the given data sources.

read_multiple(*data_sources)

Initiates measurement of new values corresponding to the input data sources.

Returns values after the measurement is complete.

Args:
data_sources (SSMSystemReadDataSourceMnemonic or str, int):

Variable length list of pairs of (DATA_SOURCE, CHANNEL_INDEX).

Returns:

Tuple of values corresponding to the given data sources.

initiate_sweeps()

Initiates sweeps across all channels.

abort_sweeps()

Aborts in progress sweeps across all channels.

class DataSourceMnemonic(value)

Enumeration of M81 data source mnemonics.

class ExcitationType(value)

Class object representing the possible excitation types of a source module.

class ReadDataSourceMnemonic(value)

Enumeration of M81 read data source mnemonics.

class ReferenceModule(value)

Class object representing the available source modules

class ResistanceExcitationType(value)

Class object representing the possible excitation types that create a valid resistance configuration.

class ResistanceMode(value)

Class object representing the possible resistance modes.

class SourceSweepSettings(sweep_type, start, stop, points, dwell, direction=Direction.UP, round_trip=False, spacing=SweepSpacing.LINEAR)

Class to configure a parameter sweep on a source module.

class Direction(value)

Class object representing the possible directions for sweeping.

class SweepSpacing(value)

Class object representing the possible types of sweep spacing.

class SourceSweepType(value)

Class representing the available sweep types for a source module.

command(*commands, check_errors=True)

Send an SCPI command or multiple commands to the instrument.

Args:
commands (str):

Any number of SCPI commands.

check_errors (bool):

Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default. Optional Parameter.

connect_tcp(ip_address, tcp_port, timeout)

Establishes a TCP connection with the instrument on the specified IP address.

connect_usb(serial_number=None, com_port=None, baud_rate=None, data_bits=None, stop_bits=None, parity=None, timeout=None, handshaking=None, flow_control=None)

Establish a serial USB connection.

disconnect_tcp()

Disconnect the TCP connection.

disconnect_usb()

Disconnect the USB connection.

factory_reset()

Resets all system information such as settings, wi-fi connections, date and time, etc.

get_operation_event_enable_mask()

Returns the names of the operation event enable register bits and their values.

These values determine which operation bits propagate to the operation event register.

get_operation_events()

Returns the names of operation event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_present_operation_status()

Returns the names of the operation status register bits and their values.

get_present_questionable_status()

Returns the names of the questionable status register bits and their values.

get_questionable_event_enable_mask()

Returns the names of the questionable event enable register bits and their values.

These values determine which questionable bits propagate to the questionable event register.

get_questionable_events()

Returns the names of questionable event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_service_request_enable_mask()

Returns the named bits of the status byte service request enable register.

This register determines which bits propagate to the master summary status bit.

get_standard_event_enable_mask()

Returns the names of the standard event enable register bits and their values.

These values determine which bits propagate to the standard event register.

get_standard_events()

Returns the names of the standard event register bits and their values.

get_status_byte()

Returns named bits of the status byte register and their values.

modify_operation_register_mask(bit_name, value)

Gets the operation condition register mask, changes a bit, and sets the register.

Args:
bit_name (str):

The name of the bit to modify.

value (bool):

Determines whether the bit masks (false) or passes (true) the corresponding state.

modify_questionable_register_mask(bit_name, value)

Gets the questionable condition register mask, changes a bit, and sets the register.

Args:
bit_name (str):

The name of the bit to modify.

value (bool):

Determines whether the bit masks (false) or passes (true) the corresponding state.

modify_service_request_mask(bit_name, value)

Gets the service request enable mask, changes a bit, and sets the register.

Args:
bit_name (str):

The name of the bit to modify.

value (bool):

Determines whether the bit masks (false) or passes (true) the corresponding state.

modify_standard_event_register_mask(bit_name, value)

Gets the standard event register mask, changes a bit, and sets the register.

Args:
bit_name (str):

The name of the bit to modify.

value (bool):

Determines whether the bit masks (false) or passes (true) the corresponding state.

query(*queries, check_errors=True)

Sends an SCPI query or multiple queries to the instrument and return the response(s).

Args:
queries (str):

Any number of SCPI queries or commands.

check_errors (bool):

Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default. Optional Parameter.

Returns:

The instrument query response as a string.

reset_measurement_settings()

Resets measurement settings to their default values.

reset_status_register_masks()

Resets status register masks to preset values.

set_operation_event_enable_mask(register_mask)

Configures the values of the operation event enable register bits.

These values determine which operation bits propagate to the operation event register.

Args:
register_mask ([Instrument]OperationRegister):

An instrument specific OperationRegister class object with all bits configured true or false.

set_questionable_event_enable_mask(register_mask)

Configures the values of the questionable event enable register bits.

These values determine which questionable bits propagate to the questionable event register.

Args:
register_mask ([Instrument]QuestionableRegister):

An instrument specific QuestionableRegister class object with all bits configured true or false.

set_service_request_enable_mask(register_mask)

Configures values of the service request enable register bits.

This register determines which bits propagate to the master summary bit.

Args:
register_mask (StatusByteRegister):

A StatusByteRegister class object with all bits configured true or false.

set_standard_event_enable_mask(register_mask)

Configures values of the standard event enable register bits.

These values determine which bits propagate to the standard event register.

Args:
register_mask (StandardEventRegister):

A StandardEventRegister class object with all bits configured true or false.

write(command_string)

Alias of command. Send a command to the instrument.

Args:
command_string (str):

A serial command.

Source Module methods

class lakeshore.ssm_source_module.SourceModule(module_number, device)

Class for interaction with a specific source channel of the M81 instrument.

get_multiple(*data_sources)

This function is deprecated. Use fetch_multiple() instead.

fetch_multiple(*data_sources)

Gets a list of the latest values corresponding to the input data sources for this module.

Args:
data_sources (SSMSystemDataSourceMnemonic or str):

Variable length list of data sources.

Returns:

Tuple of values corresponding to the given data sources for this module.

get_name()

Returns the user-settable name of the module.

set_name(new_name)

Set the name of the module.

get_notes()

Returns the user-settable notes of the module.

set_notes(new_note)

Set the notes of the module.

get_model()

Returns the model of the module (i.e. BCS-10).

get_serial()

Returns the serial number of the module (i.e. LSA1234).

get_hw_version()

Returns the hardware version of the module.

get_self_cal_status()

Returns the status of the last self calibration of the module.

run_self_cal()

Run a self calibration for the module.

reset_self_cal()

Restore factory self calibration for the module.

get_enable_state()

Returns the output state of the module.

set_enable_state(state)

Sets the enable state of the module.

Args:
state (bool):

The new output state.

enable()

Sets the enable state of the module to True.

disable()

Sets the enable state of the module to False.

get_excitation_mode()

Returns the excitation mode of the module. ‘CURRENT’ or ‘VOLTAGE’.

set_excitation_mode(excitation_mode)

Sets the excitation mode of the module.

Args:
excitation_mode (SSMSystem.ExcitationType):

The new excitation mode (‘CURRENT’ or ‘VOLTAGE’).

go_to_current_mode()

Sets the excitation mode of the module to ‘CURRENT’.

go_to_voltage_mode()

Sets the excitation mode of the module to ‘VOLTAGE’.

get_shape()

Returns the signal shape of the module. ‘DC’ or ‘SINUSOID’.

set_shape(shape)

Sets the signal shape of the module.

Args:
shape (str):

The new signal shape (‘DC’, ‘SINUSOID’, ‘TRIANGLE’, ‘SQUARE’).

get_frequency()

Returns the excitation frequency of the module.

set_frequency(frequency)

Sets the excitation frequency of the module.

Args:
frequency (float):

The new excitation frequency.

get_sync_state()

Returns whether the source channel synchronization feature is engaged

If true, this channel will ignore its own frequency, and instead track the frequency of the synchronization source. If false, this channel will generate its own frequency.

get_sync_source()

Returns the channel used for frequency synchronization.

get_sync_phase_shift()

Returns the phase shift applied between the synchronization source and this channel.

configure_sync(source, phase_shift, enable_sync=True)

Configure the source channel synchronization feature.

Args:
source (str):

The channel used for synchronization (‘S1’, ‘S2’, ‘S3’, or ‘RIN’). This channel will follow the frequency set for the specified channel.

phase_shift (float):

The phase shift applied between the synchronization source and this channel in degrees.

enable_sync (bool):

If true, this channel will ignore its own frequency, and instead track the frequency of the synchronization source. If false, this channel will generate its own frequency.

get_duty()

Returns the duty cycle of the module.

set_duty(duty)

Sets the duty cycle of the module.

Args:
duty (float):

The new duty cycle.

get_coupling()

Returns the coupling type of the module. ‘AC’ or ‘DC’.

set_coupling(coupling)

Sets the coupling of the module.

Args:
coupling (str):

The new coupling type (‘AC’, or ‘DC’).

use_ac_coupling()

Sets the coupling type of the module to ‘AC’.

use_dc_coupling()

Sets the coupling type of the module to ‘DC’.

get_guard_state()

Returns the guard state of the module.

set_guard_state(guard_state)

Sets the guard state of the module.

Args:
guard_state (bool):

The new guard state (True to enable guards, False to disable guards).

enable_guards()

Sets the guard state of the module to True.

disable_guards()

Sets the guard state of the module to False.

get_cmr_source()

Returns the Common Mode Reduction (CMR) source. ‘INTernal’, or ‘EXTernal’.

set_cmr_source(cmr_source)

Sets the Common Mode Reduction (CMR) source.

Args:
cmr_source (str):

The new CMR source (‘INTernal’, or ‘EXTernal’).

get_cmr_state()

Returns the Common Mode Reduction (CMR) state of the module.

set_cmr_state(cmr_state)

Sets the Common Mode Reduction (CMR) state of the module.

Args:
cmr_state (bool):

The new CMR state (True to enable CMR, False to disable CMR).

enable_cmr()

Sets the CMR state of the module to True.

disable_cmr()

Sets the CMR state of the module to False.

configure_cmr(cmr_source, cmr_state=True)

Configure Common Mode Reduction (CMR).

Args:
cmr_source (str):

The new CMR source (‘INTernal’, or ‘EXTernal’).

cmr_state (bool):

The new CMR state (True to enable CMR, False to disable CMR).

get_current_range()

Returns the present current range of the module in Amps.

get_i_range()

Returns the present current range of the module in Amps

Deprecated since version 1.5.4: Use get_current_range instead.

get_current_ac_range()

Returns the present AC current range of the module in Amps.

get_i_ac_range()

Returns the present AC current range of the module in Amps

Deprecated since version 1.5.4: Use get_current_ac_range instead.

get_current_dc_range()

Returns the present DC current range of the module in Amps.

get_i_dc_range()

Returns the present DC current range of the module in Amps

Deprecated since version 1.5.4: Use get_current_dc_range instead.

get_current_autorange_status()

Returns whether automatic selection of the current range is enabled for this module.

get_i_autorange_status()

Returns whether automatic selection of the current range is enabled for this module

Deprecated since version 1.5.4: Use get_current_autorange_status instead.

configure_current_range(autorange, max_level=None, max_ac_level=None, max_dc_level=None)

Sets up current ranging for this module.

Args:
autorange (bool):

True to enable automatic range selection. False for manual ranging.

max_level (float):

The largest current that needs to be sourced.

max_ac_level (float):

The largest AC current that needs to be sourced. Separate AC and DC ranges are only available on some modules.

max_dc_level (float):

The largest DC current that needs to be sourced. Separate AC and DC ranges are only available on some modules.

configure_i_range(autorange, max_level=None, max_ac_level=None, max_dc_level=None)

Sets up current ranging for this module

Args:
autorange (bool):

True to enable automatic range selection. False for manual ranging.

max_level (float):

The largest current that needs to be sourced.

max_ac_level (float):

The largest AC current that needs to be sourced. Separate AC and DC ranges are only available on some modules.

max_dc_level (float):

The largest DC current that needs to be sourced. Separate AC and DC ranges are only available on some modules.

Deprecated since version 1.5.4: Use configure_current_range instead.

get_current_amplitude()

Returns the current amplitude for the module in Amps.

get_i_amplitude()

Returns the current amplitude for the module in Amps

Deprecated since version 1.5.4: Use get_current_amplitude instead.

set_current_amplitude(amplitude)

Sets the current amplitude for the module.

Args:
amplitude (float):

The new current amplitude in Amps.

set_i_amplitude(amplitude)

Sets the current amplitude for the module

Args:
amplitude (float):

The new current amplitude in Amps

Deprecated since version 1.5.4: Use set_current_amplitude instead.

get_current_offset()

Returns the current offset for the module in Amps.

get_i_offset()

Returns the current offset for the module in Amps

Deprecated since version 1.5.4: Use get_current_offset instead.

set_current_offset(offset)

Sets the current offset for the module.

Args:
offset (float):

The new current offset in Amps.

set_i_offset(offset)

Sets the current offset for the module

Args:
offset (float):

The new current offset in Amps

Deprecated since version 1.5.4: Use set_current_offset instead.

apply_dc_current(level, output_enable=True)

Apply DC current.

Args:
level (float):

DC current level in Amps.

output_enable (bool):

Turns the module output on if true; off if false.

apply_ac_current(frequency, amplitude, offset=0.0, output_enable=True)

Apply AC current.

Args:
frequency (float):

Excitation frequency in Hz.

amplitude (float):

Current amplitude in Amps.

offset (float):

Current offset in Amps.

output_enable (bool):

Turns the module output on if true; off if false.

get_current_limit()

Returns the current limit enforced by the module in Amps.

get_i_limit()

Returns the current limit enforced by the module in Amps

Deprecated since version 1.5.4: Use get_current_limit instead.

set_current_limit(current_limit)

Sets the current limit enforced by the module.

Args:
current_limit (float):

The new limit to apply in Amps.

set_i_limit(i_limit)

Sets the current limit enforced by the module

Args:
i_limit (float):

The new limit to apply in Amps

Deprecated since version 1.5.4: Use set_current_limit instead.

get_current_limit_status()

Returns whether the current limit circuitry is presently engaged.

This limits the current sourced by the module.

get_i_limit_status()

Returns whether the current limit circuitry is presently engaged and limiting the current sourced by the module

Deprecated since version 1.5.4: Use get_current_limit_status instead.

get_voltage_range()

Returns the present voltage range of the module in Volts.

get_voltage_ac_range()

Returns the present AC voltage range of the module in Volts.

get_voltage_dc_range()

Returns the present DC voltage range of the module in Volts.

get_voltage_autorange_status()

Returns whether automatic selection of the voltage range is enabled for this module.

configure_voltage_range(autorange, max_level=None, max_ac_level=None, max_dc_level=None)

Sets up voltage ranging for this module.

Args:
autorange (bool):

True to enable automatic range selection. False for manual ranging.

max_level (float):

The largest voltage that needs to be sourced.

max_ac_level (float):

The largest AC voltage that needs to be sourced. Separate AC and DC ranges are only available on some modules.

max_dc_level (float):

The largest DC voltage that needs to be sourced. Separate AC and DC ranges are only available on some modules.

get_voltage_amplitude()

Returns the voltage amplitude for the module in Volts.

set_voltage_amplitude(amplitude)

Sets the voltage amplitude for the module.

Args:
amplitude (float):

The new voltage amplitude in Volts.

get_voltage_offset()

Returns the voltage offset for the module in Volts.

set_voltage_offset(offset)

Sets the voltage offset for the module.

Args:
offset (float):

The new voltage offset in Volts.

apply_dc_voltage(level, output_enable=True)

Apply DC voltage.

Args:
level (float):

DC voltage level in Volts.

output_enable (bool):

Turns the module output on if true; off if false.

apply_ac_voltage(frequency, amplitude, offset=0.0, output_enable=True)

Apply AC voltage.

Args:
frequency (float):

Excitation frequency in Hz.

amplitude (float):

Voltage amplitude in Volts.

offset (float):

Voltage offset in Volts.

output_enable (bool):

Turns the module output on if true; off if false.

get_voltage_limit()

Returns the voltage limit enforced by the module in Volts.

set_voltage_limit(voltage_limit)

Sets the voltage limit enforced by the module.

Args:
voltage_limit (float):

The new limit to apply in Volts.

get_voltage_limit_status()

Returns whether the voltage limit circuitry is presently engaged.

This limits the voltage at the output of the module.

get_present_questionable_status()

Returns the names of the questionable status register bits and their values.

get_questionable_events()

Returns the names of questionable event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_questionable_event_enable_mask()

Returns the names of the questionable event enable register bits and their values.

These values determine which questionable bits propagate to the questionable event register.

set_questionable_event_enable_mask(register_mask)

Configures the values of the questionable event enable register bits.

These values determine which questionable bits propagate to the questionable event register.

Args:
register_mask ([Instrument]QuestionableRegister):

An instrument specific QuestionableRegister class object with all bits configured true or false.

get_present_operation_status()

Returns the names of the operation status register bits and their values.

get_operation_events()

Returns the names of operation event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_operation_event_enable_mask()

Returns the names of the operation event enable register bits and their values.

These values determine which operation bits propagate to the operation event register.

set_operation_event_enable_mask(register_mask)

Configures the values of the operation event enable register bits.

These values determine which operation bits propagate to the operation event register.

Args:
register_mask ([Instrument]OperationRegister):

An instrument specific OperationRegister class object with all bits configured true or false.

get_identify_state()

Returns the identification state for the given pod.

set_identify_state(state)

Configures the identification state for the given pod.

Args:
state (bool):

The desired state for the LED, 1 for identify, 0 for normal state.

get_dark_mode_state()

Returns the dark mode state for the given pod.

set_dark_mode_state(state)

Configures the dark mode state for the given pod.

Args:
state (bool):

The desired operation for the LED, 1 for normal mode, 0 for dark mode.

get_voltage_output_limit_high()

Returns the present voltage high output limit.

set_voltage_output_limit_high(limit)

Configures the high voltage output limit.

The voltage output limits are software defined limits preventing the user from entering an output which could potentially damage the module’s load. When the shape is not DC, the limit is applied to the sum of the offset and amplitude. The high voltage output limit is bounded between -10 V and 10 V, and must be greater than the low voltage output limit.

Args:
limit (float):

The desired high output limit.

get_voltage_output_limit_low()

Returns the present voltage low output limit.

set_voltage_output_limit_low(limit)

Configures the low voltage output limit.

The voltage output limits are software defined limits preventing the user from entering an output which could potentially damage the module’s load. When the shape is not DC, the limit is applied to the sum of the offset and amplitude. The low voltage output limit is bounded between -10 V and 10 V, and must be less than the high voltage output limit.

Args:
limit (float):

The desired low voltage output limit.

get_current_output_limit_high()

Returns the present current high output limit.

set_current_output_limit_high(limit)

Configures the high current output limit.

The current output limits are software defined limits preventing the user from entering an output which could potentially damage the module’s load. When the shape is not DC, the limit is applied to the sum of the offset and amplitude. The high current output limit is bounded between -10 V and 10 V, and must be greater than the low current output limit.

Args:
limit (float):

The desired high output limit.

get_current_output_limit_low()

Returns the present current low output limit.

set_disable_on_compliance(disable_on_compliance)

Configures the module for disable on compliance.

When disable on compliance is turned on, the module will disable output when in compliance. Otherwise, the module will continue to output, even when in compliance.

Args:
disable_on_compliance (bool):

1 for the module to disable when in compliance; 0 for the module to remain enabled, even in compliance.

get_disable_on_compliance()

Returns the present state of disable on compliance.

set_current_output_limit_low(limit)

Configures the low current output limit.

The current output limits are software defined limits preventing the user from entering an output which could potentially damage the module’s load. When the shape is not DC, the limit is applied to the sum of the offset and amplitude. The low current output limit is bounded between -10 V and 10 V, and must be less than the high current output limit.

Args:
limit (float):

The desired low current output limit.

reset_settings()

Resets the settings for the specified module to their power on defaults.

unload()

Unloads the specified module.

get_load_state()

Returns the loaded state for the specified module.

get_self_cal_datetime()

Returns the self calibration date and time for the specified module.

get_self_cal_temperature()

Returns the self calibration temperature for the specified module.

get_source_sweep_step_size(sweep_type)

Returns the step size of the source sweep for the specified module.

Step size is a calculated parameter derived from the relevant sweep type’s span and points.

Args:
sweep_type (SourceSweepType):

The type of sweep for which to return the step size.

get_source_sweep_time()

Returns the overall runtime of the source sweep for the specified module in seconds.

Sweep time is a calculated parameter derived from the dwell time and number of points.

get_source_sweep_state()

Returns the state of the source sweep on the specified module.

set_sweep_configuration(sweep_settings)

Configures a source sweep for the specified module.

Args:
sweep_settings (SourceSweepSettings):

The configuration for a specific sweep on the specified module.

get_sweep_configuration(sweep_type)

Returns a SourceSweepSettings of the present sweep configuration for the specified module.

Args:
sweep_type (SourceSweepType):

The sweep type for which to return the sweep settings.

disable_all_sweeping()

Disables all source signals that support sweeping on the specified module.

disable_sweeping(sweep_type)

Disables the sweeping of the specified sweep type on the specified module.

Args:
sweep_type (SourceSweepType):

The type of sweep to disable.

set_voltage_ramp_configuration(stop_amplitude, start_amplitude=None, slew_rate=1.0)

Sets up a parameter sweep that ramps the voltage output to the desired amplitude.

Uses the smallest possible step size.

Args:
stop_amplitude (float):

The voltage amplitude of the output when the ramp completes.

start_amplitude (float):

The voltage amplitude of the output when the ramp starts. Default is the present amplitude setting.

slew_rate (float):

The rate in volts per second to ramp the output. Default is 1 volt per second.

set_current_ramp_configuration(stop_amplitude, start_amplitude=None, slew_rate=0.001)

Sets up a parameter sweep that ramps the current output to the desired amplitude.

Uses the smallest possible step size.

Args:
stop_amplitude (float):

The current amplitude of the output when the ramp completes.

start_amplitude (float):

The current amplitude of the output when the ramp starts. Default is the present amplitude setting.

slew_rate (float):

The rate in amps per second to ramp the output. Default is 1 mA per second.

Measure Module methods

class lakeshore.ssm_measure_module.MeasureModule(module_number, device)

Class for interaction with a specific measure channel of the M81 instrument.

get_name()

Returns the user-settable name of the module.

set_name(new_name)

Set the name of the module.

get_notes()

Returns the user-settable notes of the module.

set_notes(new_note)

Set the notes of the module.

get_model()

Returns the model of the module (i.e. VM-10).

get_serial()

Returns the serial number of the module (i.e. LSA1234).

get_hw_version()

Returns the hardware version of the module.

get_self_cal_status()

Returns the status of the last self calibration of the module.

run_self_cal()

Run a self calibration for the module.

reset_self_cal()

Restore factory self calibration for the module.

get_averaging_time()

Returns the averaging time of the module in Power Line Cycles. Not relevant in lock-in mode.

set_averaging_time(nplc)

Sets the averaging time of the module. Not relevant in lock-in mode.

Args:
nplc (float):

The new number of power line cycles to average.

get_mode()

Returns the measurement mode of the module. ‘DC’, ‘AC’, or ‘LIA’.

set_mode(mode)

Sets the measurement mode of the module.

Args:
mode (str):

The new measurement mode (‘DC’, ‘AC’, or ‘LIA’).

get_coupling()

Return input coupling of the module. ‘AC’ or ‘DC’.

set_coupling(coupling)

Sets the input coupling of the module.

Args:
coupling (str):

The new input coupling (‘AC’ or ‘DC’).

use_ac_coupling()

Sets the input coupling of the module to ‘AC’.

use_dc_coupling()

Sets the input coupling of the module to ‘DC’.

get_input_configuration()

Returns the input configuration of the module. ‘AB’, ‘A’, or ‘GROUND’.

set_input_configuration(input_configuration)

Sets the input configuration of the module.

Args:
input_configuration (str):

The new input configuration (‘AB’, ‘A’, or ‘GROUND’).

enable_bias_voltage()

Enables the bias voltage applied to the amplifier.

disable_bias_voltage()

Disables the bias voltage applied to the amplifier.

get_bias_voltage_enabled()

Return whether the bias voltage is enabled.

get_bias_voltage()

Return the bias voltage applied on the amplifier input in Volts.

set_bias_voltage(bias_voltage)

Sets the bias voltage applied on the amplifier input.

Args:
bias_voltage (float):

The new bias voltage in Volts.

get_filter_state()

Returns whether the hardware filter is engaged.

get_lowpass_corner_frequency()

Returns the low pass filter cutoff frequency.

‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, ‘F3000’, or ‘F10000’.

get_lowpass_rolloff()

Returns the low pass filter roll-off.

‘R6’ or ‘R12’.

get_highpass_corner_frequency()

Returns the high pass filter cutoff frequency.

‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, or ‘F3000’.

get_highpass_rolloff()

Returns the high pass filter roll-off.

‘R6’ or ‘R12’.

get_gain_allocation_strategy()

Returns the gain allocation strategy used for the hardware filter.

‘NOISE’, or ‘RESERVE’.

set_gain_allocation_strategy(optimization_type)

Sets the gain allocation strategy used for the hardware filter.

Args:
optimization_type (str):

The new optimization type (‘NOISE’, or ‘RESERVE’).

configure_input_lowpass_filter(corner_frequency, rolloff='R12')

Configure the input low pass filter.

Args:
corner_frequency (str):

The low pass corner frequency. (‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, ‘F3000’, or ‘F10000’). F10 = 10 Hz, etc.

rolloff (str):

The low pass roll-off. (‘R6’ or ‘R12’). R6 = 6 dB/Octave, R12 = 12 dB/Octave.

configure_input_highpass_filter(corner_frequency, rolloff='R12')

Configure the input high pass filter.

Args:
corner_frequency (str):

The high pass corner frequency. (‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, or ‘F3000’). F10 = 10 Hz, etc.

rolloff (str):

The high pass roll-off (‘R6’ or ‘R12’). R6 = 6 dB/Octave, R12 = 12 dB/Octave.

disable_input_filters()

Disables the hardware filters.

get_current_range()

Returns the current range in Amps.

get_i_range()

Returns the current range in Amps

Deprecated since version 1.5.4: Use get_current_range instead

get_current_autorange_status()

Returns whether auto-ranging is enabled for the module.

get_i_autorange_status()

Returns whether autoranging is enabled for the module

Deprecated since version 1.5.4: Use get_current_autorange_status instead

configure_current_range(autorange, max_level=None)

Configure current ranging for the module.

Args:
autorange (bool):

True to enable real time range decisions by the module. False for manual ranging.

max_level (float):

The largest current that needs to be measured by the module in Amps.

configure_i_range(autorange, max_level=None)

Configure current ranging for the module

Deprecated since version 1.5.4: Use configure_current_range instead

Args:
autorange (bool):

True to enable real time range decisions by the module. False for manual ranging.

max_level (float):

The largest current that needs to be measured by the module in Amps.

get_voltage_range()

Returns the voltage range in Volts.

get_voltage_autorange_status()

Returns whether auto-ranging is enabled for the module.

configure_voltage_range(autorange, max_level=None)

Configure voltage ranging for the module.

Args:
autorange (bool):

True to enable real time range decisions by the module. False for manual ranging.

max_level (float):

The largest voltage that needs to be measured by the module in Volts.

get_reference_source()

Returns the lock-in reference source. ‘S1’, ‘S2’, ‘S3’, ‘RIN’.

set_reference_source(reference_source)

Sets the lock-in reference source

Args:
reference_source (str):

The new reference source (‘S1’, ‘S2’, ‘S3’, ‘RIN’)

get_reference_harmonic()

Returns the lock-in reference harmonic.

set_reference_harmonic(harmonic)

Sets the lock-in reference harmonic.

Args:
harmonic (int):

The new reference harmonic. 1 is the fundamental frequency, 2 is twice the fundamental frequency, etc.

get_reference_phase_shift()

Returns the lock-in reference phase shift in degrees.

set_reference_phase_shift(phase_shift)

Sets the lock-in reference phase shift.

Args:
phase_shift (float):

The new reference phase shift in degrees.

auto_phase()

Executes a one time adjustment of the reference phase shift so that the present phase measurement is zero.

get_lock_in_time_constant()

Returns the lock-in time constant in seconds.

set_lock_in_time_constant(time_constant)

Sets the lock-in time constant.

Args:
time_constant (float):

The new time constant in seconds.

get_lock_in_settle_time(settle_percent=0.01)

Returns the lock-in settle time in seconds.

Args:
settle_percent (float):

The desired percent signal has settled to in percent. A value of 0.1 is interpreted as 0.1 %.

get_lock_in_equivalent_noise_bandwidth()

Returns the equivalent noise bandwidth (ENBW) in Hz.

get_lock_in_rolloff()

Returns the lock-in PSD output filter roll-off for the present module. ‘R6’, ‘R12’, ‘R18’ or ‘R24’.

set_lock_in_rolloff(rolloff)

Sets the lock-in PSD output filter roll-off.

Args:
rolloff (str):

The new PSD output filter roll-off (‘R6’, ‘R12’, ‘R18’ or ‘R24’).

get_lock_in_iir_state()

Returns the state of the lock-in PSD output IIR filter.

set_lock_in_iir_state(state)

Sets the state of the lock-in PSD output IIR filter.

Args:
state (bool):

The new state of the PSD output IIR filter.

enable_lock_in_iir()

Sets the state of the lock-in PSD output IIR filter to True.

disable_lock_in_iir()

Sets the state of the lock-in PSD output IIR filter to False.

get_lock_in_fir_state()

Returns the state of the lock-in PSD output FIR filter.

set_lock_in_fir_state(state)

Sets the state of the lock-in PSD output FIR filter.

Args:
state (bool):

The new state of the PSD output FIR filter.

enable_lock_in_fir()

Sets the state of the lock-in PSD output FIR filter to True.

disable_lock_in_fir()

Sets the state of the lock-in PSD output FIR filter to False.

get_lock_in_fir_cycles()

Returns the number of FIR cycles.

set_lock_in_fir_cycles(cycles)

Sets the number of FIR cycles.

Args:
cycles (int):

The desired number of FIR cycles, between 1 and 100.

setup_dc_measurement(nplc=1)

Set up the module for DC measurement.

Args:
nplc (float):

The new number of power line cycles to average.

setup_ac_measurement(nplc=1)

Set up the module for DC measurement.

Args:
nplc (float):

The new number of power line cycles to average.

setup_lock_in_measurement(reference_source, time_constant, rolloff='R24', reference_phase_shift=0.0, reference_harmonic=1, use_fir=True)

Set up the module for lock-in measurement.

Args:
reference_source (str):

Lock-in reference source (‘S1’, ‘S2’, ‘S3’, ‘RIN’).

time_constant (float):

Time constant in seconds.

rolloff (str):

Lock-in PSD output filter roll-off (‘R6’, ‘R12’, ‘R18’ or ‘R12’).

reference_phase_shift (float):

Lock-in reference phase shift in degrees.

reference_harmonic (int):

Lock-in reference harmonic. 1 is the fundamental frequency, 2 is twice the fundamental frequency, etc.

use_fir (bool):

Enable or disable the PSD output FIR filter.

zero_relative_baseline()

Sets the present measurement as the baseline value for calculating relative readings.

set_relative_baseline(baseline)

Sets the relative baseline.

get_relative_baseline()

Returns the relative baseline.

get_multiple(*data_sources)

This function is deprecated. Use fetch_multiple() instead.

get_dc()

Returns the DC measurement in module units.

get_dc_relative()

Returns the relative DC measurement in module units.

get_dc_minimum()

Returns the minimum DC indication in module units.

get_dc_maximum()

Returns the maximum DC indication in module units.

get_rms()

Returns the RMS measurement in module units.

get_rms_relative()

Returns the relative RMS measurement in module units.

get_rms_minimum()

Returns the minimum RMS indication in module units.

get_rms_maximum()

Returns the maximum RMS indication in module units.

get_peak_to_peak()

Returns the peak to peak measurement in module units.

get_peak_to_peak_minimum()

Returns the minimum peak to peak indication in module units.

get_peak_to_peak_maximum()

Returns the maximum peak to peak indication in module units.

get_positive_peak()

Returns the positive peak measurement in module units.

get_positive_peak_minimum()

Returns the minimum positive peak indication in module units.

get_positive_peak_maximum()

Returns the maximum positive peak indication in module units.

get_negative_peak()

Returns the negative peak measurement in module units.

get_negative_peak_minimum()

Returns the minimum negative peak indication in module units.

get_negative_peak_maximum()

Returns the maximum negative peak indication in module units.

get_lock_in_x()

Returns the present X measurement from the lock-in.

get_lock_in_x_minimum()

Returns the minimum X indication from the lock in.

get_lock_in_x_maximum()

Returns the maximum X indication from the lock in.

get_lock_in_y()

Returns the present Y measurement from the lock-in.

get_lock_in_y_minimum()

Returns the minimum Y indication from the lock in.

get_lock_in_y_maximum()

Returns the maximum Y indication from the lock in.

get_lock_in_r()

Returns the present magnitude measurement from the lock-in.

get_lock_in_r_minimum()

Returns the minimum magnitude indication from the lock in.

get_lock_in_r_maximum()

Returns the maximum magnitude indication from the lock in.

get_lock_in_theta()

Returns the present angle measurement from the lock-in.

get_lock_in_theta_minimum()

Returns the minimum angle indication from the lock in.

get_lock_in_theta_maximum()

Returns the maximum angle indication from the lock in.

get_lock_in_frequency()

Returns the present detected frequency from the Phase Locked Loop (PLL).

get_pll_lock_status()

Returns the present lock status of the PLL. True if locked, False if unlocked.

get_present_questionable_status()

Returns the names of the questionable status register bits and their values.

get_questionable_events()

Returns the names of questionable event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_questionable_event_enable_mask()

Returns the names of the questionable event enable register bits and their values.

These values determine which questionable bits propagate to the questionable event register.

set_questionable_event_enable_mask(register_mask)

Configures the values of the questionable event enable register bits.

These values determine which questionable bits propagate to the questionable event register.

Args:
register_mask ([Instrument]QuestionableRegister):

An instrument specific QuestionableRegister class object with all bits configured true or false.

get_present_operation_status()

Returns the names of the operation status register bits and their values.

get_overload_status()

Returns whether the module is presently in overload or not

get_settling_status()

Returns whether the module is presently settling or not

get_unlocked_status()

Returns whether the module is presently unlocked or not

get_operation_events()

Returns the names of operation event status register bits that are currently high.

The event register is latching and values are reset when queried.

get_operation_event_enable_mask()

Returns the names of the operation event enable register bits and their values.

These values determine which operation bits propagate to the operation event register.

set_operation_event_enable_mask(register_mask)

Configures the values of the operation event enable register bits.

These values determine which operation bits propagate to the operation event register.

Args:
register_mask ([Instrument]OperationRegister):

An instrument specific OperationRegister class object with all bits configured true or false.

get_identify_state()

Returns the identification state for the given pod.

set_identify_state(state)

Sets the identification state for the given pod.

Args:
state (bool):

The desired state for the LED, 1 for identify, 0 for normal state.

get_dark_mode_state()

Returns the dark mode state for the given pod.

set_dark_mode_state(state)

Configures the dark mode state for the given pod.

Args:
state (bool):

The desired operation for the LED, 1 for normal mode, 0 for dark mode.

get_frequency_range_threshold()

Returns the frequency range threshold for the module.

Frequency range threshold normalized to the -3 db point. For example, a value of 0.1 means 10 % of the -3 db point.

set_frequency_range_threshold(threshold)

Sets the frequency range threshold for the specified module.

When the modules range is set to Auto, a range such that the frequency of the signal does not exceed the given percentage of the bandwidth of the range will be chosen.

Args:
threshold (float):

Frequency range threshold normalized to the -3 db point with a valid range of 0.0 to 1.0. For example, a value of 0.1 means 10 % of the -3 db point.

get_digital_high_pass_filter_state()

Returns the state of the digital high pass filter for lock-in mode.

set_digital_high_pass_filter_state(state)

Sets the state of the digital high pass filter for lock-in mode.

Args:
state (bool):

The desired state fot he digital lock-in high pass filter. 1 for enabled, 0 for disabled.

get_resistance()

Returns the present resistance measurement in Ohms. A valid source must be configured.

Returns:

float: Present resistance measurement in Ohms.

set_resistance_source(source_module)

Configures the resistance feature to use a specified source module to calculate resistance.

Args:

source_module (SourceModule): The channel used for calculating resistance.

get_resistance_source()

Returns the present source module being used to calculate resistance.

Returns:

SourceModule: The channel used for calculating resistance.

set_resistance_excitation_type(excitation_type)

Sets the present resistance excitation type of the specified module.

For “DC”, the measure mode is DC and source shape is DC. For “AC”, the measure mode is Lock-in and source shape is Sine.

Args:

excitation_type (ResistanceExcitationType): The desired resistance excitation type.

get_resistance_excitation_type()

Returns the present resistance excitation type of the specified module.

This represents the combination of the specified measure module mode and the selected source module shape. For “DC”, the measure mode is DC and source shape is DC. For “AC”, the measure mode is Lock-in and source shape is Sine.

Returns:

ResistanceExcitationType: The resistance excitation type.

set_resistance_mode(resistance_mode)

Sets the resistance optimization mode of the specified module.

Args:

resistance_mode (ResistanceMode): The desired resistance optimization mode.

get_resistance_mode()

Returns the preset resistance optimization mode of the specified module.

Returns:

ResistanceMode: The present resistance optimization mode. “NOISe” or “POWer”.

set_resistance_range(resistance_range)

Sets the resistance range of the specified module.

Args:

resistance_range (float): The desired resistance range in Ohms.

get_resistance_range()

Returns the present resistance range of the specified module.

Returns:

float: The resistance range in Ohms.

set_resistance_optimization_state(optimization_state)

Sets the state of resistance optimization on the specified module

Args:
optimization_state (bool): The desired state of resistance optimization. True if optimizing for resistance,

else False.

get_resistance_optimization_state()

Returns the present state of optimization on the specified module.

When optimization is enabled, the instrument will set other settings based on the selected resistance range and mode settings.

Returns:

bool: The state of resistance optimization. True if optimizing for resistance, else False.

set_resistance_observation_time_state(state)

Sets the state of the observation time on the specified module.

Args:

state (bool): The state of resistance observation time.

get_resistance_observation_time_state()

Gets the present state of the observation time on the specified module.

Returns:

bool: The state of resistance observation time.

set_resistance_observation_time_requested(requested_time)

Sets the requested observation time on the specified module.

Args:

requested_time (float): The requested observation time.

get_resistance_observation_time_requested()

Gets the present requested observation time on the specified module.

Returns:

float: The requested observation time.

get_resistance_observation_time_actual()

Gets the present actual observation time for the resistance calculation.

This is a best-fit calculation based on the requested observation time and reference frequency.

Returns:

float: The actual observation time.

get_resistance_observation_time_enbw()

Gets the present equivalent noise bandwidth (ENBW) for the actual resistance observation time.

Returns:

float: The calculated equivalent noise bandwidth.

reset_settings()

Resets the settings for the specified module to their power on defaults.

unload()

Unloads the specified module.

get_load_state()

Returns the loaded state for the specified module.

fetch_multiple(*data_sources)

Returns a list of the latest values corresponding to the input data sources for this module quickly

Args:
data_sources (SSMSystemDataSourceMnemonic or str):

Variable length list of data sources.

Returns:

Tuple of values corresponding to the given data sources for this module.

read_multiple(*data_sources)

Returns new values after measurement based on present input data source.

Initiates measurement of new values corresponding to the input data sources for this module and returns them after the measurement is complete.

Args:
data_sources (SSMSystemReadDataSourceMnemonic or str):

Variable length list of data sources.

Returns:

Tuple of values corresponding to the given data sources for this module.

get_self_cal_datetime()

Returns the self calibration date and time for the specified module.

get_self_cal_temperature()

Returns the self calibration temperature for the specified module.

Settings Profiles methods

class lakeshore.ssm_settings_profiles.SettingsProfiles(device)

Class for interaction with settings profiles.

get_summary(name)

Returns a list containing a profile’s description and module models.

Args:
name (str):

Name of the profile to query.

create(name, description='')

Create a new profile using the present instrument configuration.

Args:
name (str):

Unique name to give the profile.

description (str):

Optional description of the profile.

get_list()

Returns a list of the saved profile names.

get_description(name)

Returns a profile’s description.

Args:
name (str):

Name of the profile to get the description for.

set_description(name, description)

Sets a profile’s description. Any existing description will be overwritten.

Args:
name (str):

Name of the profile to get the description for.

description (str):

The new description of the profile.

get_json(name)

Returns a JSON object of a given profile.

Args:
name (str):

Name of the profile.

rename(name, new_name)

Rename a profile. New name must be unique.

Args:
name (str):

The name of the profile to rename.

new_name (str):

The new name of the profile.

update(name)

Update a profile with the present instrument configuration.

Args:
name (str):

The name of the profile to update.

get_valid_for_restore(name)

Returns if a profile is valid to restore.

Args:
name (str):

The name of the profile to validate.

restore(name)

Restore a profile.

Args:
name (str):

The name of the profile to restore.

delete(name)

Delete a profile.

Args:
name (str):

The name of the profile to delete.

delete_all()

Delete all profiles.

Instrument registers

This page outlines the registers used to interact with various settings and methods of the M81.

class lakeshore.ssm_system.SSMSystemOperationRegister(s1_summary, s2_summary, s3_summary, m1_summary, m2_summary, m3_summary, data_stream_in_progress)

Class object representing the operation status register.

class lakeshore.ssm_system.SSMSystemQuestionableRegister(s1_summary, s2_summary, s3_summary, m1_summary, m2_summary, m3_summary, critical_startup_error, critical_runtime_error, heartbeat, calibration, data_stream_overflow)

Class object representing the questionable status register.

class lakeshore.ssm_base_module.SSMSystemModuleQuestionableRegister(read_error=False, unrecognized_pod_error=False, port_direction_error=False, factory_calibration_failure=False, self_calibration_failure=False)

Class object representing the questionable status register of a module.

class lakeshore.ssm_source_module.SSMSystemSourceModuleOperationRegister(v_limit, i_limit, sweeping)

Class object representing the operation status register of a source module.

class lakeshore.ssm_measure_module.SSMSystemMeasureModuleOperationRegister(overload, settling, unlocked)

Class object representing the operation status register of a measure module.

Enumeration Objects

This section describes the Enum type objects that have been created for the M81 SSM.

class lakeshore.ssm_system_enums.SSMSystemEnums.DataSourceMnemonic(value)

Enumeration of M81 data source mnemonics.

RELATIVE_TIME = 'RTIMe'
SOURCE_AMPLITUDE = 'SAMPlitude'
SOURCE_OFFSET = 'SOFFset'
SOURCE_FREQUENCY = 'SFRequency'
SOURCE_RANGE = 'SRANge'
SOURCE_VOLTAGE_LIMIT = 'SVLimit'
SOURCE_CURRENT_LIMIT = 'SILimit'
SOURCE_IS_SWEEPING = 'SSWeeping'
MEASURE_DC = 'MDC'
MEASURE_RMS = 'MRMS'
MEASURE_POSITIVE_PEAK = 'MPPeak'
MEASURE_NEGATIVE_PEAK = 'MNPeak'
MEASURE_PEAK_TO_PEAK = 'MPTPeak'
MEASURE_X = 'MX'
MEASURE_Y = 'MY'
MEASURE_R = 'MR'
MEASURE_THETA = 'MTHeta'
MEASURE_RANGE = 'MRANge'
MEASURE_OVERLOAD = 'MOVerload'
MEASURE_SETTLING = 'MSETtling'
MEASURE_UNLOCK = 'MUNLock'
MEASURE_REFERENCE_FREQUENCY = 'MRFRequency'
GENERAL_PURPOSE_INPUT_STATES = 'GPIStates'
GENERAL_PURPOSE_OUTPUT_STATES = 'GPOStates'