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.
- measure_current()[source]#
Returns the current measured for a specified channel.
- Return type:
- Returns:
float The measured current for the specified channel in amperes.
- measure_voltage()[source]#
Returns the voltage measured for a specified channel.
- Return type:
- Returns:
float The measured voltage for the specified channel in volts.
- Raises:
ValueError – If the io channel number is not 0 or 4.
- 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: {‘v_source’, ‘open’, ‘i_source’, ‘ground’}>
- IOChannel.measure_mode()#
Sets/gets the measurement precision for a specified channel.
- Properties:
value: <Enum: {‘automatic’, ‘fine_picoampere’, ‘fine_nanoampere’, ‘coarse’}>
- IOChannel.slew_rate()#
Sets/gets the slew rate for output adjustment for the specified channel.
- Properties:
unit: V/s
value: <Numbers>
- 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#
Returns the current measured for a specified channel.
- Returns:
The measured current for the specified channel in amperes.
- Return type:
- 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:
ValueError – If the io channel number is not 0 or 4.
- 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_io_channel_config(config: dict[str, Any]) None#
Set configuration parameters for the given I/O channel.
- IOChannel.set_safe_voltage_range(min_voltage: float, max_voltage: float) None#
Set the safe voltage range for the current channel.