settings#
Settings builder for Zurich Instruments.
Module Contents#
Classes#
| Serialization data container to decouple filenames from | |
| Zurich Instruments Settings record type. | |
| A collection of AWG and DAQ settings for a Zurich Instruments device. | |
| The Zurich Instruments Settings builder class. | 
Attributes#
- class ZISerializeSettings[source]#
- Serialization data container to decouple filenames from instrument names during the serialization. 
- class ZISetting[source]#
- Zurich Instruments Settings record type. - apply_fn: Callable[[zhinst.qcodes.base.ZIBaseInstrument, str, Any], None][source]#
 - apply(instrument: zhinst.qcodes.base.ZIBaseInstrument) None[source]#
- Applies settings to the Instrument. - Parameters:
- instrument 
 
 
- class ZISettings(daq_settings: list[ZISetting], awg_settings: dict[int, ZISetting])[source]#
- A collection of AWG and DAQ settings for a Zurich Instruments device. - Parameters:
- daq_settings – The data acquisition node settings. 
- awg_settings – The AWG(s) node settings. 
 
 - apply(instrument: zhinst.qcodes.base.ZIBaseInstrument) None[source]#
- Apply all settings to the instrument. 
 - serialize(root: pathlib.Path, options: ZISerializeSettings) pathlib.Path[source]#
- Serializes the ZISerializeSettings to file storage. The parent ‘{options.name}_settings.json’ file contains references to all child files. - While settings are stored in JSON the waveforms are stored in CSV. - Parameters:
- root – The root path to serialized files. 
- options – The serialization options to associate these settings. 
 
- Returns:
- The path to the parent JSON file. 
 
 - classmethod deserialize(settings_path: pathlib.Path) ZISettingsBuilder[source]#
- Deserializes the JSON settings for Zurich Instruments in to the - ZISettingsBuilder.- Parameters:
- settings_path – The path to the parent JSON file. 
- Returns:
- The ZISettingsBuilder containing all the deserialized settings. 
- Raises:
- ValueError – If the settings_path does not end with ‘_settings.json’. 
 
 
- class ZISettingsBuilder[source]#
- The Zurich Instruments Settings builder class. - This class provides an API for settings that are configured in the zhinst backend. The ZISettings class is the resulting set that holds settings. - This class exist because configuring these settings requires logic in how the settings are configured using the zurich instruments API. - Tip - Build the settings using - build()and then view them as a dictionary using- ZISettings.as_dict()to see what settings will be configured.- _set_daq(setting: ZISetting) ZISettingsBuilder[source]#
- Sets an daq module setting. - Parameters:
- setting 
 
 - _set_awg(awg_index: int, setting: ZISetting) ZISettingsBuilder[source]#
- Sets an awg module setting. - Parameters:
- awg_index 
- setting 
 
 
 - with_defaults(defaults: list[tuple[str, str | int]]) ZISettingsBuilder[source]#
- Adds the Instruments default settings. - Parameters:
- defaults 
 
 - with_wave_vector(awg_index: int, wave_index: int, vector: list | str) ZISettingsBuilder[source]#
- Adds the Instruments waveform vector setting by index for an awg by index. - Parameters:
- awg_index 
- wave_index 
- vector 
 
 
 - with_csv_wave_vector(awg_index: int, wave_index: int, vector: list | str) ZISettingsBuilder[source]#
- Adds the Instruments waveform vector setting by index for an awg by index. - This equivalent to - with_wave_vectoronly it does not upload the setting to the node, because for loading waveforms using a CSV file this is not required.- Parameters:
- awg_index 
- wave_index 
- vector 
 
 
 - with_commandtable_data(awg_index: int, json_data: dict[str, Any] | str) ZISettingsBuilder[source]#
- Adds the Instruments CommandTable json vector setting to the awg by index. - Parameters:
- awg_index 
- json_data 
 
 
 - with_awg_time(awg_index: int, clock_rate_index: int) ZISettingsBuilder[source]#
- Adds the Instruments clock rate frequency setting. - See ZI instrument user manual
- /DEV…./AWGS/n/TIME 
 - Parameters:
- awg_index 
- clock_rate_index 
 
 
 - with_qas_delay(delay: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS delay. - Parameters:
- delay 
 
 - with_qas_result_enable(enabled: bool) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor result enable setting. - Parameters:
- enabled 
 
 - with_qas_result_length(n_samples: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor result length setting. - Parameters:
- n_samples 
 
 - with_qas_result_averages(n_averages: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor result averages setting. - Parameters:
- n_averages 
 
 - with_qas_result_mode(mode: quantify_scheduler.backends.types.zhinst.QasResultMode) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor result mode setting. - Parameters:
- mode 
 
 - with_qas_result_source(mode: quantify_scheduler.backends.types.zhinst.QasResultSource) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor result source setting. - Parameters:
- mode 
 
 - with_qas_result_reset(value: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Result reset setting. - Parameters:
- value 
 
 - with_qas_integration_length(n_samples: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor integration length setting. - Parameters:
- n_samples 
 
 - with_qas_integration_mode(mode: quantify_scheduler.backends.types.zhinst.QasIntegrationMode) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor integration mode setting. - Parameters:
- mode 
 
 - with_qas_integration_weights_real(channels: int | list[int], real: list[int] | numpy.ndarray) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor integration real weights setting. - Parameters:
- channels 
- real 
 
- Raises:
- ValueError – If a channel used is larger than 9. 
 
 - with_qas_integration_weights_imag(channels: int | list[int], imag: list[int] | numpy.ndarray) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor integration imaginary weights setting. - Parameters:
- channels 
- imag 
 
- Raises:
- ValueError – If a channel used is larger than 9. 
 
 - with_qas_monitor_enable(enabled: bool) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor enable setting. - Parameters:
- enabled 
 
 - with_qas_monitor_length(n_samples: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor length setting. - Parameters:
- n_samples 
 
 - with_qas_monitor_averages(n_averages: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor averages setting. - Parameters:
- n_averages 
 
 - with_qas_monitor_reset(value: int) ZISettingsBuilder[source]#
- Adds the Instruments QAS Monitor reset setting. - Parameters:
- value 
 
 - with_qas_rotations(channels: int | list[int], value: int | complex) ZISettingsBuilder[source]#
- Adds the Instruments QAS rotation setting. - Parameters:
- channels 
- value – Number of degrees or a complex value. 
 
 
 - with_system_channelgrouping(channelgrouping: int) ZISettingsBuilder[source]#
- Adds the Instruments channelgrouping setting. - Parameters:
- channelgrouping 
 
 - with_sigouts(awg_index: int, outputs: tuple[int, int]) ZISettingsBuilder[source]#
- Adds the channel sigouts setting for the Instruments awg by index. - Parameters:
- awg_index 
- outputs 
 
 
 - with_sigout_offset(channel_index: int, offset_in_millivolts: float) ZISettingsBuilder[source]#
- Adds the channel sigout offset setting in volts. - Parameters:
- channel_index 
- offset_in_millivolts 
 
 
 - with_gain(awg_index: int, gain: tuple[float, float]) ZISettingsBuilder[source]#
- Adds the gain settings for the Instruments awg by index. - Parameters:
- awg_index 
- gain – The gain values for output 1 and 2. 
 
 
 - with_compiler_sourcestring(awg_index: int, seqc: str) ZISettingsBuilder[source]#
- Adds the sequencer compiler sourcestring setting for the Instruments awg by index. - Parameters:
- awg_index 
- seqc 
- waveforms_dict 
 
 
 - build() ZISettings[source]#
- Builds the ZISettings class.