Output API#
IOChannel#
The IOChannel module is responsible for adding the parameters of a single digital in/output within a module.
- class IOChannelQSM(parent, name, io_channel_idx)[source]#
Bases:
Component,ParentAttributeRegistrationMixinQSM channel representation for the Source Measurement Unit.
Combines all channel specific parameters and functions into a single QCoDes InstrumentChannel.
- __init__(parent, name, io_channel_idx)[source]#
Creates an IO channel class and adds all relevant parameters for the channel.
- Parameters:
parent (
Instrument|InstrumentChannel) – The QCoDeS class to which this IO channel belongs.name (
str) – Name of this IO channelio_channel_idx (
int) – The index of this IO channel in the parent instrument, representing which IO channel is controlled by this class.
- set_current_wait(current)[source]#
Sets the current for a specified channel and blocks execution until the current stabilizes at the requested value.
- set_safe_current_range(min_current, max_current)[source]#
Set the safe current range for the current channel.
- set_safe_voltage_range(min_voltage, max_voltage)[source]#
Set the safe voltage range for the current channel.
- set_voltage_instant(voltage)[source]#
Sets the voltage for a specified channel immediately, bypassing ramping constraints.
- Return type:
- Returns:
None
Cluster QSM IOChannel parameters#
- IOChannel.source_mode()#
Sets/gets the output sourcing behavior for a specified channel.
- Properties:
value: <Enum: {‘open’, ‘v_source’, ‘i_source’, ‘ground’}>
- IOChannel.measure_mode()#
Sets/gets the measurement precision for a specified channel.
- Properties:
value: <Enum: {‘fine_nanoampere’, ‘automatic’, ‘coarse’, ‘fine_picoampere’}>
- IOChannel.slew_rate()#
Sets/gets the slew rate for output adjustment for the specified channel.
- Properties:
unit: V/s
value: <Numbers 0.019<=v<=19999>
- IOChannel.integration_time()#
Sets/gets the integration time for the specified channel.
- Properties:
unit: s
value: <Numbers 0.0001<=v<=10, Multiples of 0.0001>
- IOChannel.coarse_voltage()#
Sets/gets the coarse voltage for the specified channel.
- Properties:
unit: V
value: <Numbers -10.0<=v<=10.0>
- IOChannel.fine_voltage()#
Sets/gets the fine voltage for the specified channel.
- Properties:
unit: V
value: <Numbers 0<=v<=0.0025>
- IOChannel.low_pass_filter_cutoff()#
Sets/gets the output low-pass filter mode for a specified channel.
- Properties:
unit: Hz
value: <Enum: {<FilterMode.FREQ_10_KHZ: 10000>, <FilterMode.FREQ_10_HZ: 10>, <FilterMode.FREQ_250_KHZ: 250000>}>
- IOChannel.get_io_channel_config() dict[str, Any]#
Get configuration parameters for the given I/O channel.
- IOChannel.measure_current() float | list[float]#
Measures the current of the specified IO channel(s) on a specific slot.
- Returns:
The measured current in Amperes. Returns a single float if io_channels is an int. Returns a list[float] if io_channels is an iterable.
- Return type:
Note
This method calls Cluster._measure_current using functools.partial
Note
This method calls Module.measure_current using functools.partial
- IOChannel.measure_voltage() float#
Returns the voltage measured for a specified channel.
- Returns:
The measured voltage for the specified channel in volts.
- Return type:
- Raises:
NotImplementedError – Functionality not available on this module.
ValueError – If the I/O channel number is not 0 or 4.
Note
This method calls Cluster._measure_voltage using functools.partial
Note
This method calls Module.measure_voltage using functools.partial
- IOChannel.reset_io_channel_output() None#
Resets the output for a specified QSM channel to zero.
- Raises:
Exception – Invalid input parameter type.
Note
This method calls Cluster.reset_io_channel_output using functools.partial
Note
This method calls Module.reset_io_channel_output using functools.partial
- IOChannel.set_current_wait(current: float) None#
Sets the current for a specified channel and blocks execution until the current stabilizes at the requested value.
- Parameters:
current (float) – The current to set.
- IOChannel.set_io_channel_config(config: dict[str, Any]) None#
Set configuration parameters for the given I/O channel.
- IOChannel.set_safe_current_range(min_current: float, max_current: float) None#
Set the safe current range for the current channel.
- IOChannel.set_safe_voltage_range(min_voltage: float, max_voltage: float) None#
Set the safe voltage range for the current channel.