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_i_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_i_amplitude()
# Calculate the resistance
resistance = lock_in_magnitude * sqrt(2) / peak_current
print("Resistance: {} ohm".format(resistance))
Classes and methods¶
SSMS Instrument methods¶
-
class
lakeshore.ssm_system.
SSMSystem
(serial_number=None, com_port=None, baud_rate=921600, flow_control=True, timeout=2.0, ip_address=None, tcp_port=7777, **kwargs)¶ Class for interaction with the M81 instrument
-
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)¶ Gets a list of values corresponding to the input data sources.
- Args:
- data_sources (str, int): Variable length list of pairs of (DATASOURCE_MNEMONIC, CHANNEL_INDEX).
- Returns:
- Tuple of values corresponding to the given data sources
-
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 (str, int): Variable length list of pairs of (DATASOURCE_MNEMONIC, 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 (str, int): Variable length list of pairs of (DATASOURCE_MNEMONIC, 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 (str, int): Pairs of (DATASOURCE_MNEMONIC, 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_head_self_cal_status
()¶ Returns the status 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)
-
channel_index
¶ alias of
builtins.int
-
command
(*commands, **kwargs)¶ Send a SCPI command or multiple commands to the instrument
- Args:
- commands (str):
- Any number of SCPI commands.
- Kwargs:
- check_errors (bool):
- Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default.
-
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, **kwargs)¶ Send a SCPI query or multiple queries to the instrument and return the response(s)
- Args:
- queries (str):
- Any number of SCPI queries or commands.
- Kwargs:
- check_errors (bool):
- Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default.
- 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.
-
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)¶ Gets a list of values corresponding to the input data sources for this module.
- Args:
- data_sources str: Variable length list of DATASOURCE_MNEMONIC.
- 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_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)¶ Set 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 (str):
- 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 specifed 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_i_range
()¶ Returns the present current range of the module in Amps
-
get_i_ac_range
()¶ Returns the present AC current range of the module in Amps
-
get_i_dc_range
()¶ Returns the present DC current range of the module in Amps
-
get_i_autorange_status
()¶ Returns whether automatic selection of the current range is enabled for this module
-
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.
-
get_i_amplitude
()¶ Returns the current amplitude for the module in Amps
-
set_i_amplitude
(amplitude)¶ Sets the current amplitude for the module
- Args:
- amplitude (float):
- The new current amplitude in Amps
-
get_i_offset
()¶ Returns the current offset for the module in Amps
-
set_i_offset
(offset)¶ Sets the current offset for the module
- Args:
- offset (float):
- The new current offset in Amps
-
apply_dc_current
(level, enable_output=True)¶ Apply DC current
- Args:
- level (float):
- DC current level in Amps
- enable_output (bool):
- Set the enable state of the module to True
-
apply_ac_current
(frequency, amplitude, offset=0.0, enable_output=True)¶ Apply AC current
- Args:
- frequency (float):
- Excitation frequency in Hz
- amplitude (float):
- Current amplitude in Amps
- offset (float):
- Current offset in Amps
- enable_output (bool):
- Set the enable state of the module to True
-
get_i_limit
()¶ Returns the current limit enforced by the module 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
-
get_i_limit_status
()¶ Returns whether the current limit circuitry is presently engaged and limiting the current sourced by the module
-
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, enable_output=True)¶ Apply DC voltage
- Args:
- level (float):
- DC voltage level in Volts
- enable_output (bool):
- Set the enable state of the module to True
-
apply_ac_voltage
(frequency, amplitude, offset=0.0, enable_output=True)¶ Apply AC voltage
- Args:
- frequency (float):
- Excitation frequency in Hz
- amplitude (float):
- Voltage amplitude in Volts
- offset (float):
- Voltage offset in Volts
- enable_output (bool):
- Set the enable state of the module to True
-
get_voltage_limit
()¶ Returns the voltage limit enforced by the module in Volts
-
set_voltage_limit
(v_limit)¶ Sets the voltage limit enforced by the module
- Args:
- v_limit (float):
- The new limit to apply in Volts
-
get_voltage_limit_status
()¶ Returns whether the voltage limit circuitry is presently engaged and limiting 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)¶ Returns the identification state for the given pod.
- Args:
- state (bool):
- The desired state for the LED, 1 for identify, 0 for normal state
-
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_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’)
-
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 cuttoff frequency. ‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, ‘F3000’, ‘F10000’, or ‘F30000’.
-
get_lowpass_rolloff
()¶ Returns the low pass filter roll-off. ‘R6’ or ‘R12’.
-
get_highpass_corner_frequency
()¶ Returns the high pass filter cuttoff frequency. ‘NONE’, ‘F10’, ‘F30’, ‘F100’, ‘F300’, ‘F1000’, ‘F3000’, ‘F10000’, or ‘F30000’.
-
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’, ‘F10000’, or ‘F30000’). 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’, ‘F3000’, ‘F10000’, or ‘F30000’). 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_i_range
()¶ Returns the current range in Amps
-
get_i_autorange_status
()¶ Returns whether autoranging is enabled for the module
-
configure_i_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.
-
get_voltage_range
()¶ Returns the voltage range in Volts
-
get_voltage_autorange_status
()¶ Returns whether autoranging is enabled for the module
-
configure_voltage_range
(autorange, max_level)¶ 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 such that the present phase indication is zero. Coming in 0.3.
-
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_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.
-
setup_dc_measurement
(nplc=1)¶ Setup the module for DC measurement
- Args:
- nplc (float):
- The new number of power line cycles to average
-
setup_ac_measurement
(nplc=1)¶ Setup 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)¶ Setup the module for Lock In measurment
- 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
-
get_multiple
(*data_sources)¶ Gets a list of values corresponding to the input data sources for this module.
- Args:
- data_sources (str): Variable length list of DATASOURCE_MNEMONIC.
- Returns:
- Tuple of values corresponding to the given data sources for this module
-
get_dc
()¶ Returns the present DC indication in module units
-
get_rms
()¶ Returns the present RMS indication in module units
-
get_peak_to_peak
()¶ Returns the present peak to peak indication in module units
-
get_positive_peak
()¶ Returns the present positive peak indication in module units
-
get_negative_peak
()¶ Returns the present negative peak indication in module units
-
get_lock_in_x
()¶ Returns the present X indication from the lock in
-
get_lock_in_y
()¶ Returns the present Y indication from the lock in
-
get_lock_in_r
()¶ Returns the present magnitude indication from the lock in
-
get_lock_in_theta
()¶ Returns the present 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_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 operaiton event enable register bits. These values determine which operaiton bits propagate to the operaiton 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)¶ Returns the identification state for the given pod.
- Args:
- state (bool):
- The desired state for the LED, 1 for identify, 0 for normal state
-
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)¶ 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