qcodespp.instrument_drivers.ZI.ZIUHFLI
Attributes
Classes
Module Contents
- qcodespp.instrument_drivers.ZI.ZIUHFLI.log
- class qcodespp.instrument_drivers.ZI.ZIUHFLI.AUXOutputChannel(parent: ZIUHFLI, name: str, channum: int)
Bases:
qcodes.InstrumentChannel
Base class for a module in an instrument. This could be in the form of a channel (e.g. something that the instrument has multiple instances of) or another logical grouping of parameters that you wish to group together separate from the rest of the instrument.
- Args:
- parent: The instrument to which this module should be
attached.
name: The name of this module. **kwargs: Forwarded to the base class.
- class qcodespp.instrument_drivers.ZI.ZIUHFLI.Sweep(name, instrument, **kwargs)
Bases:
qcodes.MultiParameter
Parameter class for the ZIUHFLI instrument class for the sweeper.
The get method returns a tuple of arrays, where each array contains the values of a signal added to the sweep (e.g. demodulator 4 phase).
- Attributes:
- names (tuple): Tuple of strings containing the names of the sweep
signals (to be measured)
units (tuple): Tuple of strings containg the units of the signals shapes (tuple): Tuple of tuples each containing the Length of a
signal.
- setpoints (tuple): Tuple of N copies of the sweep x-axis points,
where N is he number of measured signals
- setpoint_names (tuple): Tuple of N identical strings with the name
of the sweep x-axis.
- build_sweep()
Build a sweep with the current sweep settings. Must be called before the sweep can be executed.
For developers: This is a general function for updating the sweeper. Every time a parameter of the sweeper is changed, this function must be called to update the sweeper. Although such behaviour is only strictly necessary for parameters that affect the setpoints of the Sweep parameter, having to call this function for any parameter is deemed more user friendly (easier to remember; when? -always).
The function sets all (user specified) settings on the sweeper and additionally sets names, units, and setpoints for the Sweep parameter.
- get_raw()
Execute the sweeper and return the data corresponding to the subscribed signals.
Returns:
- tuple: Tuple containg N numpy arrays where N is the number
of signals added to the sweep.
- Raises:
ValueError: If no signals have been added to the sweep ValueError: If a sweep setting has been modified since
the last sweep, but Sweep.build_sweep has not been run
- class qcodespp.instrument_drivers.ZI.ZIUHFLI.Scope(name, instrument, **kwargs)
Bases:
qcodes.MultiParameter
Parameter class for the ZI UHF-LI Scope Channel 1
The .get method launches an acquisition and returns a tuple of two np.arrays FFT mode is NOT supported.
- Attributes:
- names (tuple): Tuple of strings containing the names of the sweep
signals (to be measured)
units (tuple): Tuple of strings containg the units of the signals shapes (tuple): Tuple of tuples each containing the Length of a
signal.
- setpoints (tuple): Tuple of N copies of the sweep x-axis points,
where N is he number of measured signals
- setpoint_names (tuple): Tuple of N identical strings with the name
of the sweep x-axis.
- add_post_trigger_action(action: Callable) None
Add an action to be performed immediately after the trigger has been armed. The action must be a callable taking zero arguments
- property post_trigger_actions: List[Callable]
- prepare_scope()
Prepare the scope for a measurement. Must immediately preceed a measurement.
- get_raw()
Acquire data from the scope.
- Returns:
- tuple: Tuple of two n X m arrays where n is the number of segments
and m is the number of points in the scope trace.
- Raises:
- ValueError: If the scope has not been prepared by running the
prepare_scope function.
- class qcodespp.instrument_drivers.ZI.ZIUHFLI.ZIUHFLI(name: str, device_ID: str, **kwargs)
Bases:
qcodes.Instrument
QCoDeS driver for ZI UHF-LI.
Currently implementing demodulator settings and the sweeper functionality.
Requires ZI Lab One software to be installed on the computer running QCoDeS. Furthermore, the Data Server and Web Server must be running and a connection between the two must be made.
- TODOs:
Add zoom-FFT
- api_level = 5
- sweeper
- scope
- static NEPBW_to_timeconstant(NEPBW, order)
Helper function to translate a NEP BW and a filter order to a filter time constant. Meant to be used when calculating sweeper sweep times.
Note: precise only to within a few percent.
- Args:
NEPBW (float): The NEP bandwidth in Hz order (int): The filter order
- Returns:
float: The filter time constant in s.
- add_signal_to_sweeper(demodulator, attribute)
Add a signal to the output of the sweeper. When the sweeper sweeps, the signals added to the sweeper are returned.
- Args:
- demodulator (int): A number from 1-8 choosing the demodulator.
The same demodulator can be chosen several times for different attributes, e.g. demod1 X, demod1 phase
attribute (str): The attribute to record, e.g. phase or Y
- Raises:
- ValueError: if a demodulator outside the allowed range is
selected
- ValueError: if an attribute not in the list of allowed attributes
is selected
- remove_signal_from_sweeper(demodulator, attribute)
Remove a signal from the output of the sweeper. If the signal has not previously been added, a warning is logged.
- Args:
- demodulator (int): A number from 1-8 choosing the demodulator.
The same demodulator can be chosen several times for different attributes, e.g. demod1 X, demod1 phase
attribute (str): The attribute to record, e.g. phase or Y
- print_sweeper_settings()
Pretty-print the current settings of the sweeper. If Sweep.build_sweep and Sweep.get are called, the sweep described here will be performed.
- close()
Override of the base class’ close function