Please find below the revisions of the firmware (FW) and the FPGA configuration bundled with the latest LabOne release. The same information can be found in machine-readable form in the manifest.json file in the Firmware directory of the LabOne installation.
When prompted by Windows for driver installation, tell Windows to not look for new drivers on "Windows Update" and tell it to "automatically install drivers".
Update LabOne APIs
After installing the LabOne software package, it is important to update its API version in order to have server-client compatibility with verified behavior.
LabVIEW: The new version of the LabVIEW API is available in the LabOne installation directory, e.g., Program Files\Zurich Instruments\LabOne\API\LabVIEW. Copy the folder Zurich Instruments LabOne to the LabVIEW directory C:\Program Files\National Instruments\LabVIEW 2012\instr.lib and restart the LabVIEW program.
MATLAB: The new version of the MATLAB API is available in the LabOne installation directory, e.g., Program Files\Zurich Instruments\LabOne\API\MATLAB2012. Copy the folder MATLAB2012 to the MATLAB directory C:\Users\[user]\Documents\MATLAB and follow its README instructions.
Python: Upgrade the Python API package zhinst by running pip install --upgrade zhinst.
C/C++: The library and header files are available in the LabOne installation directory, e.g., C:\Program Files\Zurich Instruments\LabOne\API\C.
.NET: The libraries are available in the LabOne installation directory, e.g., C:\Program Files\Zurich Instruments\LabOne\API\DotNET.
LabOne Release History
Legend
Added feature
Improved/changed feature
Bug fixed
Known issue / breaking change
Path name change
[24.10]
GHFLI
PID indicator data (value, shift and error) are enabled and displayed in the PID/PLL tab of LabOne UI.
PID indicator data (value, shift and error) can be streamed to the host computer. This can be controlled in the PID/PLL tab of LabOne UI.
PID indicator data (value, shift and error) are available on Aux Outputs and can be selected in Aux tab of LabOne UI.
Enabled the PID Advisor tool to simulate the behavior of a number of different DUT types in a feedback loop and choose feedback gain parameters based on the simulation.
Enabled subscription to PID signals (value, shift and error) in the LabOne Sweeper module and Sweeper tab of LabOne UI.
Added min, max and value indicator nodes to Aux Outputs.
The oscillator phase is reset when setting an oscillator frequency of exactly 0 Hz.
Changed the maximum PID sampling rate to 25 MHz.
SHFLI
PID indicator data (value, shift and error) are enabled and displayed in the PID/PLL tab of LabOne UI.
PID indicator data (value, shift and error) can be streamed to the host computer. This can be controlled in the PID/PLL tab of LabOne UI.
PID indicator data (value, shift and error) are available on Aux Outputs and can be selected in Aux tab of LabOne UI.
Enabled the PID Advisor tool to simulate the behavior of a number of different DUT types in a feedback loop and choose feedback gain parameters based on the simulation.
Enabled subscription to PID signals (value, shift and error) in the LabOne Sweeper module and Sweeper tab of LabOne UI.
Added min, max and value indicator nodes to Aux Outputs.
The oscillator phase is reset when setting an oscillator frequency of exactly 0 Hz.
Changed the maximum PID sampling rate to 25 MHz.
Added the center frequency and oscillator frequency values related to the instrument RF mode to the resonance fitting tool of Sweeper tab in LabOne UI.
Fixed a bug that resulted in wrong quality factor calculation in the Sweeper tab's resonator fitting tool when sweeping multi-band in RF mode.
SHFQC
The synthesizer frequency granularity is increased from 100 MHz to 200 MHz. An error will be emitted whenever a frequency that is not a multiple of 200 MHz is requested. Measurements scripts need to be adapted to the new resolution, please check the extended changelog in the user manual.
Introduced the node /DEV.../SGCHANNELS/n/INTERNAL that indicates if an SG channel is internal or refers to a physical channel. Without the RTR option, all channels are physical.
The QA player now raises a warning when a hold-off error occurs. Such errors can occur when using parallel waveforms of different lengths on the same channel.
SHFSG
The synthesizer frequency granularity is increased from 100 MHz to 200 MHz. An error will be emitted whenever a frequency that is not a multiple of 200 MHz is requested. Measurements scripts need to be adapted to the new resolution, please check the extended changelog in the user manual.
Introduced the node /DEV.../SGCHANNELS/n/INTERNAL that indicates if an SG channel is internal or refers to a physical channel. Without the RTR option, all channels are physical.
SHFQA
The synthesizer frequency granularity is increased from 100 MHz to 200 MHz. An error will be emitted whenever a frequency that is not a multiple of 200 MHz is requested. Measurements scripts need to be adapted to the new resolution, please check the extended changelog in the user manual.
The QA player now raises a warning when a hold-off error occurs. Such errors can occur when using parallel waveforms of different lengths on the same channel.
HDAWG
Fixed a bug where the AWG rate /DEV.../AWGS/n/TIME was not effective in AWG grouped modes 2x4 and 1x8.
Fixed a bug that made the AWG unreliable for very low sample rates.
QHub
Added support for QHub Quantum System Hub.
LabOne User Interface
Added an option to apply power compensation, as well as amplitude compensation, to signal spectrums in the Scope, Data Acquisition and Spectrum tabs.
Rearranged the content of PID/PLL tab for a better usability. The PID data transfer and streaming control are now available on the main control screen.
Reduced the memory footprint of SVG plots when displaying signal points in I/Q plane to avoid the unresponsiveness of web browsers.
Localized more contents to make them available in the Chinese version of LabOne UI.
Fixed a bug to allow the Sweeper settings to be loaded into LabOne when using a different device to that stored in the settings file.
Fixed a bug to allow the Spectrum tab to yield correct results when loading settings with the enabled option for spectral density measurement.
Fixed a bug that caused incorrect display of Arithmetic Unit signals and PID values in the Sweeper tab when using the statistics mode Standard Deviation or Power.
Fixed an issue that blocked opening new tabs with a mouse click when multiple devices were connected.
Fixed sporadic crash of the LabOne web server when a session is closed.
LabOne Data Server
Adjusted the command line option --device-ip to affect the visibility of MF devices. Previously, MF devices were always visible regardless of the --device-ip state.
Fixed a rarely occurring bug that could cause the abrupt termination of the data-server/web-server on macOS with ARM processors.
LabOne Modules (Shared Functionality API & User Interface)
Scope and Data Acquisition modules: Added the module parameter fft/powercompensation to allow power compensation in addition to amplitude compensation of window functions when measuring signal spectrum.
Scope and Data Acquisition modules: One-sided and two-sided spectrums are now related by square root of 2 instead of 2 to fulfill the signal power conservation when switching between temporal and spectral domains.
Scope and Data Acquisition modules: In spectrum post processing, averaging is now performed over power instead of amplitude, thus preserving energy in the time and frequency domains.
Data Acquisition module: The spectrum of complex-valued signals (double-sided FFT) includes now the same number of samples as the corresponding time-domain signals. Previously, the sample corresponding to the Nyquist frequency was excluded.
Scope module: Enabled uniform averaging over signal spectrum when an SHF instrument is configured in the base-band or low-frequency signal path.
Data Acquisition module: Fixed a bug that resulted in NaN samples at the beginning of signal traces acquired by the DAQ module in continuous mode.
Data Acquisition module: Fixed a bug that resulted in NaN samples at the end of signal traces acquired by the DAQ module in continuous mode.
LabOne AWG Compiler
Fixed a bug that caused a segmentation fault when compiling an empty for loop.
Python API
Added support of Python 3.13.
Extended daq.set(list) to always execute a transactional set regardless of the number of key-value pairs in the list. Before, the set command was not transactional when the list contained a single key-value pair.
MATLAB API
Modified the SHFLI/GHFLI API examples to utilize the transactional set instead of individual set commands.
LabOne C API
Added ZI_ERROR_COM_NACK_ADJUSTED error code to ZIResult_enum, issued when the instrument reports that the set value has to be adjusted before applying to the device.
[24.07]
GHFLI
Connected the Auxiliary Input channels to the Scope module to capture the digitized signals.
Connected the Auxiliary Input channels to the Demodulators and enabled them for external reference.
Added input range control for Auxiliary Inputs via the node /DEV../AUXINS/n/RANGE.
Added input range utilization reporting for Signal Inputs and Auxiliary Inputs via the nodes /DEV../SIGINS/n/MIN, /DEV../SIGINS/n/MAX, /DEV../AUXINS/n/MIN and /DEV../AUXINS/n/MAX.
Added user-configurable delay compensation for demodulated signals from Signals Inputs and Auxiliary Inputs. In the GUI the delay compensation settings appear under ZI Labs tab and in the API they are accessible via the nodes /DEV..../SIGINS/n/DELAYCOMPENSATION/DELAY and /DEV..../AUXINS/n/DELAYCOMPENSATION/DELAY.
Added missing button for single shot acquisition to the Scope tab of LabOne user interface.
SHFLI
Connected the Auxiliary Input channels to the Scope module to capture the digitized signals.
Connected the Auxiliary Input channels to the Demodulators and enabled them for external reference.
Added input range control for Auxiliary Inputs via the node /DEV../AUXINS/n/RANGE.
Added input range utilization reporting for Signal Inputs and Auxiliary Inputs via the nodes /DEV../SIGINS/n/MIN, /DEV../SIGINS/n/MAX, /DEV../AUXINS/n/MIN and /DEV../AUXINS/n/MAX.
Added user-configurable delay compensation for demodulated signals from Signals Inputs and Auxiliary Inputs. In the GUI the delay compensation settings appear under ZI Labs tab and in the API they are accessible via the nodes /DEV..../SIGINS/n/DELAYCOMPENSATION/DELAY and /DEV..../AUXINS/n/DELAYCOMPENSATION/DELAY.
Fixed a bug that triggered an unnecessary reconfiguration of the synthesizer frequency upon re-applying the already configured frequency value.
SHFQC
SG Channels: Introduced sequencer command configureFeedbackProcessing() for dynamic feedback configuration. Documentation on how to change code is provided in the SHFQC user manual, under the 24.07 sub-page of the SHFQC news.
SG Channels: Added sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B to configure and execute feedback from ZSync.
The user can select to deactivate the automatic output alignment after a ZSync or internal trigger through the node /DEV.../SYSTEM/TRIGGERDELAYS/AUTOMATIC.
Result logger entries for unsampled data are now represented as NaN.
Report an error if a command uses a trigger counter argument and the counter value has already been surpassed.
Sequencer now reports an error if an AWG program executes a command table entry that has not been defined.
SG Channels: Deprecated the sequencer constants ZSYNC_DATA_PQSC_REGISTER and ZSYNC_DATA_PQSC_DECODER. Instead, use the new sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B.
Improved configuration of the synthesizer to yield more stable lock.
Prevented LabOne version downgrade for the case in which the synthesizer is not supported in that version.
Fixed a bug that triggered an unnecessary reconfiguration of the synthesizer frequency upon re-applying the already configured frequency value.
Corrected the reported length in the warning that is issued when the waveform length gets rounded to the sample granularity.
Removed the nodes /DEV.../SGCHANNELS/n/AWG/ZSYNC/{DECODER,REGISTER}/* as their functionality is now covered by the new sequencer command configureFeedbackProcessing() mentioned above.
Removed the nodes /DEV.../SGCHANNELS/n/AWG/INTFEEDBACK/* as their functionality is now covered by the new sequencer command configureFeedbackProcessing() mentioned above.
SHFSG
Introduced sequencer command configureFeedbackProcessing() for dynamic feedback configuration. Documentation on how to change code is provided in the SHFSG user manual, under the 24.07 sub-page of the SHFSG news.
Added sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B to configure and execute feedback from ZSync.
The user can select to deactivate the automatic output alignment after a ZSync or internal trigger through the node /DEV.../SYSTEM/TRIGGERDELAYS/AUTOMATIC.
Result logger entries for unsampled data are now represented as NaN.
Report an error if a command uses a trigger counter argument and the counter value has already been surpassed.
Sequencer now reports an error if an AWG program executes a command table entry that has not been defined.
Deprecated the sequencer constants ZSYNC_DATA_PQSC_REGISTER and ZSYNC_DATA_PQSC_DECODER. Instead, use the new sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B.
Improved configuration of the synthesizer to yield more stable lock.
Prevented LabOne version downgrade for the case in which the synthesizer is not supported in that version.
Fixed a bug that triggered an unnecessary reconfiguration of the synthesizer frequency upon re-applying the already configured frequency value.
Removed the nodes /DEV.../SGCHANNELS/n/AWG/ZSYNC/{DECODER,REGISTER}/* as their functionality is now covered by the the sequencer command configureFeedbackProcessing() mentioned above.
SHFQA
The user can select to deactivate the automatic output alignment after a ZSync or internal trigger through the node /DEV.../SYSTEM/TRIGGERDELAYS/AUTOMATIC.
Result logger entries for unsampled data are now represented as NaN.
Fixed a bug that triggered an unnecessary reconfiguration of the synthesizer frequency upon re-applying the already configured frequency value.
Corrected the reported length in the warning that is issued when the waveform length gets rounded to the sample granularity.
HDAWG
Introduced sequencer command configureFeedbackProcessing() for dynamic feedback configuration. Documentation on how to change code is provided in the HDAWG user manual, under the 24.07 sub-page of the HDAWG news.
Added sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B to configure and execute feedback from ZSync.
The user can select to deactivate the automatic output alignment after a ZSync trigger through the node /DEV.../SYSTEM/TRIGGERDELAYS/AUTOMATIC.
Deprecated the sequencer constants ZSYNC_DATA_PQSC_REGISTER and ZSYNC_DATA_PQSC_DECODER. Instead, use the new sequencer constants ZSYNC_DATA_PROCESSED_A and ZSYNC_DATA_PROCESSED_B.
Added correction factor to output delay calibration if instrument has been calibrated before May 2024. This resolves a potential variation of the output delay by one sample.
Fixed a bug that led to unsynchronized playback of waves on multiple HDAWG cores, if the waves being played were not multiple of 16 samples. It is advised to always use explicitly waveforms with such granularity.
Fixed a bug that could cause disconnects when streaming counter (CNT option) data.
Fixed a bug that could reload the LabOne UI session when selecting the Input Wave of Precompensation tool while AWG sequencer was running.
Removed setWaveDIO instruction, as the command table provides the same functionality. Documentation on how to change code is provided in the HDAWG user manual, under the 24.07 sub-page of the HDAWG news.
Removed the nodes /DEV.../AWGS/n/ZSYNC/{DECODER,REGISTER}/* as their functionality is now covered by the new sequencer command configureFeedbackProcessing() mentioned above.
PQSC
Prevented from extra ZSync trigger at the end of sequence pipeliner batch.
Removed the Alias field of ZSync ports from the Ports tab in LabOne user interface.
UHFQA
Added possibility to disable the result logger via the AWG.
Fix MDS-mode AWG compilation; this mode allows one to program multiple devices synchronized by MDS from a single SeqC program.
UHFLI
Fix MDS-mode AWG compilation; this mode allows one to program multiple devices synchronized by MDS from a single SeqC program.
LabOne User Interface
Added Chinese language to the LabOne User Interface.
Users can select between Uniform and Exponential averaging methods in the Scope tab. The averaging count is also displayed.
Improved the responsiveness of input numeric fields when changing continuously with keyboard and mouse.
By default, the Sweeper application mode "FRA (Sinc Filter)" acquires now a single sample instead of averaging over at least 20 samples, because averaging is redundant when the Sinc filter is active.
Removed unnecessary "Retry" button from the Error dialog appearing when the connection to Webserver is lost.
Fixed the API Log of Python Core to avoid NumPy deprecation warning.
LabOne Data Server
Return a proper error message when the user tries to get a sample node.
Improved stability of the data server for MF and UHF devices.
Avoided thread race conditions to nodes of MF and UHF instruments, which may occur under certain circumstances.
Fixed a bug that caused an exception to be thrown if multiple sessions called connectDevice simultaneously.
The separator between minutes and seconds in the timestamp in the logs has been changed from a dot to a colon: before it was 2024-01-01 12:30.20.123456, while now it is 2024-01-01 12:30:20.123456.
LabOne Modules (Shared Functionality API & User Interface)
The Scope module offers Uniform averaging in addition to Exponential averaging. New module parameters have been introduced: AVERAGER/METHOD to select the averaging mode: 0 = exponential, 1 = uniform; AVERAGER/ENABLE: this is a breaking change. The averaging now has to be explicitly enabled using this parameter. The number of averaged scope shots is also available in a new module parameter AVERAGER/COUNT.
Fixed a bug in the initialization of impedance module calibration load capacitance nodes.
The Scope module throws an error if the weight of exponential averaging method is adjusted through /AVERAGER/WEIGHT, while the averaging method is uniform. To avoid it, set the averaging method to exponential through /AVERAGER/METHOD, then adjust the weight, and then enable the averaging engine by setting /AVERAGER/ENABLE.
LabOne API
Made the API more robust against incorrect set calls with wildcards. If a set call that affects multiple nodes fails for some of the nodes, e.g. due to a type mismatch, the set call is aborted and none of the nodes is affected. This does not apply to the MF, UHF, and HF2 device families.
Fixed an issue where getting unsigned integers larger than signed integers resulted in a TimeoutError.
Fixed a bug potentially causing the loss of messages when subscribing to text nodes like /ZI/DEVICES/CONNECTED.
Python API
Added support of NumPy 2.0 for Python 3.9 and newer. NumPy versions below 2.0 are still supported.
The get command has been unified to no longer throw a TypeError if the returned dictionary does not contain the specified path(s). In case no node could be matched, an empty dictionary is returned.
MATLAB API
Adapted the examples of Scope module to include the new uniform averaging feature.
Version 24.07 (patch 1)
SHFSG/SHFQC/SHFQA: Corrected a 30 ns skew between HDAWG and SHF instruments when triggered by PQSC. The only affected version was LabOne 24.07.
PQSC: Fixed a bug that resulted in non-deterministic ZSync trigger output when synchronizing multiple instruments (i.e., initiating a device "ready check").
LabOne Data Server: Fixed a bug that caused some devices to be missing when using the --device-ip command-line option.
MATLAB API: Data Acquisition (DAQ) module now returns correctly-shaped matrix for two-dimensional data sets. The issue affects LabOne 23.02 and newer.
[24.04]
GHFLI
MOD option that introduces two modulation kits for AM and FM is enabled.
Fix a bug causing some bursts to be missing in the Data Acquisition (DAQ) tab.
Fixed a bug that prevented the Scope tab from displaying Power and Spectral Density of signal inputs.
Fixed a bug that prevented the Device tab of LabOne UI from displaying the Reference Clock configuration.
SHFLI
MOD option that introduces two Modulation kits for AM and FM is enabled.
Fix a bug causing some bursts to be missing in the Data Acquisition (DAQ) tab.
SHFQC
Enable fast output muting for SHFQC+.
QA Channel: Allowed RF/LF Interlock of signal input and signal output paths in LabOne UI.
QA Channel: Separated Center Frequency of signal input and signal output paths in LabOne UI.
Updated documentation of the node /DEV.../QACHANNELS/0/READOUT/RESULT/AVERAGES since not only powers of two are allowed.
Updated documentation of the node /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/AVERAGES since not only powers of two are allowed.
Fixed a bug that caused a few nanoseconds variation in the ZSync trigger-to-output latency of QA and SG channels. This change may require users to recalibrate their cable delays.
Support for sequencer command setRate has been removed.
Support for sequencer command waitTrigger has been removed, use waitDigTrigger instead.
Changed the default value of the integration delay in spectroscopy mode and readout mode to 212 ns to compensate the loopback delay.
Changed the default spectroscopy trigger source to "Sequencer n Trigger Out 1", where n is the channel index.
SHFSG
Enable fast output muting for SHFSG+.
Fixed a bug that caused a few nanoseconds variation in the ZSync trigger-to-output latency. This change may require users to recalibrate their cable delays.
Support for sequencer command setRate has been removed.
Support for sequencer command waitTrigger has been removed, use waitDigTrigger instead.
SHFQA
Enable fast output muting for SHFQA+.
Allowed RF/LF Interlock of signal input and signal output paths in LabOne UI.
Separated Center Frequency of signal input and signal output paths in LabOne UI.
Updated documentation of the node /DEV.../QACHANNELS/n/READOUT/RESULT/AVERAGES since not only powers of two are allowed.
Updated documentation of the node /DEV.../QACHANNELS/n/SPECTROSCOPY/RESULT/AVERAGES since not only powers of two are allowed.
Fixed a bug that caused a few nanoseconds variation in the ZSync trigger-to-output latency. This change may require users to recalibrate their cable delays.
Support for sequencer command waitTrigger has been removed, use waitDigTrigger instead.
Changed the default value of the integration delay in spectroscopy mode and readout mode to 212 ns to compensate the loopback delay.
Changed the default spectroscopy trigger source to "Sequencer n Trigger Out 1", where n is the channel index.
HDAWG
Fixed a bug that resulted in delayed counter data read by getCnt() following a waitCntTrigger command.
Fixed a bug that could cause disconnects when streaming counter (CNT option) data.
Support for sequencer command setRate has been removed.
Support for sequencer command waitTrigger has been removed, use waitDigTrigger instead.
Removed sequencer access to node AWGS/n/OUTPUTS/m/MODULATION/MODE.
UHFLI
Removed invalid selection of an arithmetic unit (AU) output as the coefficient for the same AU.
LabOne User Interface
Custom units defined in one session are now mirrored in every other session on the same Webserver instance.
Simplified the path in the tooltip of module nodes.
Invalid Windows legacy filenames "COM1-9" and "PRN" are disallowed.
Fixed a bug that blocked the functionality of "Identify" button in Session Manager.
LabOne Data Server
MacOS 11 or newer is required to run the LabOne software.
The on-screen logs include the date in the timestamps.
LabOne Modules (Shared Functionality API & User Interface)
Fixed a bug in the Device Settings module that prevented saving settings more than once for a given module instance.
LabOne AWG Compiler
Improved the optimization pass of the AWG Compiler that removes unused registers.
Fixed a bug in the AWG compiler that erroneously rejected programs with large waveforms on some operating systems.
LabOne API
Error handling of disconnectDevice is now consistent for all device types.
MATLAB API
Added example example_ghfli_triggered_data_acquisition.m to demonstrate triggered acquisition using GHFLI Lock-in Amplifier.
Added example example_shfli_triggered_data_acquisition.m to demonstrate triggered acquisition using SHFLI Lock-in Amplifier.
LabVIEW API
Introduced DEMOD_VECTOR data type that replaces SHF_DEMOD_DATA type.
Introduced Demod Vector event that replaces SHF/GHF event.
Updated tutorial 204_SubscribePoll_StreamingNode.vi to reflect and exemplify the abovementioned changes.
Removed 205_SubscribePoll_ShfGhfStreamingNode.vi as it is now covered by 204_SubscribePoll_StreamingNode.vi.
.NET API
Added support for the SHF- and GHFLI demodulator vector format.
C API
More unneeded symbols have been hidden from the C API library. This prevents potential clashes when linking the C API library with other third party libraries like Boost Asio.
Version 24.04 (patch 1)
LabVIEW API: Fixed the broken support for LabVIEW versions before 2023.
LabVIEW API: Fixed (again) the plot legends for tutorial 301 and 302: Module DAQ introduction.
HDAWG: Fixed a bug that could lead to unsynchronized playback of waves on multiple HDAWG cores, if the waves being played were not aligned to the system timing grid.
PQSC: Fixed an issue with unreliable feedback data after disconnecting and reconnecting ZSync.
Version 24.04 (patch 2)
SHFQA/SHFQC: Fixed a bug where, in pulsed spectroscopy mode, the envelope waveform gets played back repeatedly instead of only when triggered.
SHFQA/SHFQC/SHFSG/SHFLI/GHFLI/SHFPPC: Fixed a seldom issue where the Ethernet-over-USB (EOUSB) interface would not become available after powercycle.
[24.01]
GHFLI
Added the possibility to analyze HW triggered demodulator data in the data acquisition tab (UI) and module (API).
Added demodulator metadata providing information on frequencies and sources.
Added demodulator frequency to the LabOne UI analysis tools.
Added the possibility to bypass demodulators' LPF from the LabOne UI.
Added the possibility to select an input for a demodulator independently of the MF option.
SHFLI
Added the possibility to analyze HW triggered demodulator data in the data acquisition tab (UI) and module (API).
Added demodulator metadata providing information on frequencies and sources.
Added demodulator frequency to the LabOne UI analysis tools.
Added the possibility to bypass demodulators' LPF from the LabOne UI.
Added the possibility to select an input for a demodulator independently of the MF option.
SHFQC
QA Channel: Added LabOne UI feature for power spectral density measurement.
SG Channels: Extended the GUI for the Output Router and Adder to show how and where different settings are applied in the signal chain for each SG channel.
QA Channel: Added hold-off error count clear and job index nodes for readout and spectroscopy respectively: /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/CLEAR, /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/CLEAR, /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/JOBIDX, and /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/JOBIDX.
QA Channel: Added two new example sequencer programs in the QA generator tab of the LabOne UI.
SeqC command setDIO now has constant latency, no matter its arguments.
QA Channel: Renamed hold-off error count nodes to /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/COUNT (from /DEV.../QACHANNELS/0/READOUT/RESULT/ERRORS) and /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/COUNT (from /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERRORS).
SHFSG
Extended the GUI for the Output Router and Adder to show how and where different settings are applied in the signal chain for each SG channel.
SeqC command setDIO now has constant latency, no matter its arguments.
SHFQA
Added LabOne UI feature for power spectral density measurement.
Added hold-off error count clear and job index nodes for readout and spectroscopy respectively: /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/CLEAR, /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/CLEAR, /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/JOBIDX, and /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/JOBIDX.
Added two new example sequencer programs in the QA generator tab of the LabOne UI.
setDIO now has constant latency, no matter its arguments.
Renamed hold-off error count nodes to /DEV.../QACHANNELS/0/READOUT/RESULT/ERROR/COUNT (from /DEV.../QACHANNELS/0/READOUT/RESULT/ERRORS) and /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERROR/COUNT (from /DEV.../QACHANNELS/0/SPECTROSCOPY/RESULT/ERRORS).
HDAWG
SeqC command setDIO now has constant latency, no matter its arguments.
UHFQA
SeqC command startQA now has constant latency, no matter its arguments.
SeqC command setDIO now has constant latency, no matter its arguments.
UHFLI
Added phase-adjust nodes to MOD option to nullify the measured phase of demodulated signal: /DEV.../MODS/m/CARRIER/PHASEADJUST and /DEV.../MODS/m/SIDEBANDS/n/PHASEADJUST.
SeqC command setDIO now has constant latency, no matter its arguments.
MFLI & MFIA
Added phase-adjust nodes to MOD option to nullify the measured phase of demodulated signal: /DEV.../MODS/0/CARRIER/PHASEADJUST and /DEV.../MODS/0/SIDEBANDS/n/PHASEADJUST.
Added node /DEV.../TU/THRESHOLDS/n/FILTER/SOURCESATURATED to indicate the saturation of Threshold Unit (TU) input at lower and upper bounds. The corresponding flags are displayed in TU tab of LabOne user interface.
LabOne Data Server
Improved the discovery of devices connected through USB.
Extended the data server's command line argument --device-ip to pass a list of comma-separated IP addresses.
LabOne API
In the DAQ module API the option exact can be specified as a string when setting the grid/mode parameter, not only as the integer 4.
In the sweeper a delay time for starting a sweep in seconds can be set via the sweep/startdelay node. Currently, it's only available in the API but not in the GUI.
The string representation of error codes has changed, which may affect the printed message of exceptions that include such codes.
Restored behaviour of connectDevice to that of previous release.
The sweeper grid now includes the exact start and stop values.
The node /DEV.../SYSTEM/INTERFACESPEED is restored, after having been accidentally removed in the previous release.
The interface field in the output of /ZI/DEVICES is left empty if the device is not connected. Before, the string "none" was used.
C API
Unneeded symbols have been hidden from the C API library. This prevents potential clashes when linking the C API library with other third party libraries like Boost Asio.
Version 24.01 (patch 1)
HDAWG: Improved accuracy of the internal state variable in the exponential under-/overshoot correction IIR filters to prevent issues with residual offsets after the pulses. Note: this change affects the rounding precision for exponential time constants longer than a few tens of microseconds.
LabOne API: Fixed memory leak of ZICompileResult::elf and ZICompileResult::extra when calling ziAPIDeallocateCompileResult() or ziAPICompileSeqC().
LabOne API: Fixed a bug causing missing samples when polling multiple streams.
LabOne User Interface: Fixed a bug, introduced in LabOne 24.01, causing the inappropriate node to be set on the device when entering the bandwidth in the MOD tab.
LabOne User Interface: Fixed an issue introduced in LabOne 24.01, which prevented the Identify Device button from functioning correctly within the Device Connection dialog.
LabOne User Interface: Fixed a bug that resulted in missing units on the first load of the Arithmetic Unit tab.
PQSC: Warning about ignored synchronization check is only issued if synchronization is enabled.
HDAWG: Fixed a bug that caused mixing of streaming data when fetching more than one unit from Pulse Counters and Trigger Engines.
SHFQA, SHFQC, SHFSG & HDAWG: Correct synchronization check is only ensured if /DEV.../SYSTEM/SYNCHRONIZATION/SOURCE is set to external after all desired .../SYNCHRONIZATION/ENABLE have been set to true, and if /DEV.../SYSTEM/SYNCHRONIZATION/SOURCE is set to internal before the last .../SYNCHRONIZATION/ENABLE has been set to false.
[23.10]
GHFLI
GHF-PID Quad PID/PLL Controller Option is enabled. Customers who purchased the option pre release can now use it by updating their instruments.
The external reference (ExtRef) feature is enabled that allows locking an oscillator to an external signal's frequency.
The amplitude (R) and phase (theta) of the demodulated signals are now available at the Aux outputs.
Demodulator data acquisition can now be triggered via trigger inputs.
Added nodes /DEV.../TRIGINS/n/* to configure the trigger inputs.
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support on the USB 2 interface.
Renamed demodulator metadata for triggered data acquisition (triggerlength to burstlength, triggerindex to burstoffset and triggertag to triggerindex). This is an API breaking change.
SHFLI
SHFLI-PID Quad PID/PLL Controller Option is enabled. Customers who purchased the option pre release can now use it by updating their instruments.
The external reference (ExtRef) feature is enabled that allows locking an oscillator to an external signal's frequency.
The amplitude (R) and phase (theta) of the demodulated signals are now available at the Aux outputs.
Demodulator data acquisition can now be triggered via trigger inputs.
Added nodes /DEV.../TRIGINS/n/* to configure the trigger inputs.
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support on the USB 2 interface.
Renamed demodulator metadata for triggered data acquisition (triggerlength to burstlength, triggerindex to burstoffset and triggertag to triggerindex). This is an API breaking change.
SHFQC
SG Channels: Introduced the Output Router and Adder option to enable flexible routing of digital signals between analog outputs.
SG Channels: Added amplitude registers to the command table to allow independent sweeping or changing of multiple sets of amplitudes.
QA Channel: Added a second trigger output for the QA Sequencer.
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support on the USB (not Maintenance) interface.
Added result parameter settings and result display when using Spectroscopy mode in QA Result Logger tab of LabOne UI.
Added RF/LF path switching feature and updated the block diagram when using LF path in In/Out tab of LabOne UI.
Introduced a new high-performance data-server kernel.
Improved ZSync support for multi-state discrimination: ZSync bits assigned to constant values or results of qudits not present in the integrator mask of the startQA command are no longer forwarded via the PQSC. Furthermore, changed the default value of the node /DEV.../QACHANNELS/n/READOUT/MULTISTATE/ZSYNC/PACKED to true.
The holdoff time of the Internal Trigger must now be a multiple of 100 ns, to improve consistency with the PQSC and ensure phase reproducibility when using the LF path.
SG Channels: The center frequency when using the LF path must now be a multiple of 100 MHz, to ensure phase reproducibility when using the LF path.
SG Channels: Fixed a minor floating point rounding artifact such that the default marker delay is now correctly displayed as 0s.
SHFSG
Introduced the Output Router and Adder option to enable flexible routing of digital signals between analog outputs.
Added amplitude registers to the command table to allow independent sweeping or changing of multiple sets of amplitudes.
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support on the USB (not Maintenance) interface.
Introduced a new high-performance data-server kernel.
The holdoff time of the Internal Trigger must now be a multiple of 100 ns, to improve consistency with the PQSC and ensure phase reproducibility when using the LF path.
The center frequency when using the LF path must now be a multiple of 100 MHz, to ensure phase reproducibility when using the LF path.
Fixed a minor floating point rounding artifact such that the default marker delay is now correctly displayed as 0s.
SHFQA
Added a second trigger output for the QA Sequencer.
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support on the USB (not Maintenance) interface.
Added result parameter settings and result display when using Spectroscopy mode in QA Result Logger tab of LabOne UI.
Added RF/LF path switching feature and updated the block diagram when using LF path in In/Out tab of LabOne UI.
Introduced a new high-performance data-server kernel.
The holdoff time of the Internal Trigger must now be a multiple of 100 ns, to improve consistency with the PQSC and ensure phase reproducibility when using the LF path.
Improved ZSync support for multi-state discrimination: ZSync bits assigned to constant values or results of qudits not present in the integrator mask of the startQA command are no longer forwarded via the PQSC. Furthermore, changed the default value of the node /DEV.../QACHANNELS/n/READOUT/MULTISTATE/ZSYNC/PACKED to true.
SHFPPC
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Added Ethernet-over-USB support.
HDAWG
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Introduced a new high-performance data-server kernel.
Fixed a bug that resulted in non-deterministic trigger latency up to eight samples when using the external reference clock.
PQSC
Added automatic fallback to a link-local IP address in case no DHCP server could be found.
Introduced a new high-performance data-server kernel.
UHFQA
Made it possible to connect and use the device from a different network.
UHFLI
Made it possible to connect and use the device from a different network.
MFLI & MFIA
MFIA: Set the dual plot of Sweeper tab as the default mode when opening the tab.
LabOne User Interface
Added LabOne Python Toolkit to selection API logging formats.
Added functionality to set the start and stop points of the sweep parameter from the x-axis cursors in the Sweeper tab.
Log file rotation size for the web server increased to 1MiB.
Enabled recording of scope streaming samples in HDF5 format from the Config tab.
Fixed a bug in Scope tab that prevented recording of Scope Ch 2 when Scope Ch 1 is disabled.
Fixed a bug in Spectrum tab that caused misalignment of a signal trace and its 2D image.
LabOne Data Server
Log file rotation size for the data server increased to 1MiB.
The nodes /DEV.../STATUS/FLAGS/PACKETLOSSTCP, /DEV.../STATUS/FLAGS/PACKETLOSSUDP, /DEV.../STATUS/FIFOLEVEL and /DEV.../SYSTEM/OWNER are not available anymore for SHF and HD devices.
LabOne Modules (Shared Functionality API & User Interface)
Result data from the Quantum Analyzer module (QA Result tab) can be saved in HDF5 format.
LabOne API
listNodesJSON has a new node property pipelined which indicates that a node can be pipelined in conjunction with the sequence pipeliner.
The wildcard character * matches only one tree level. This applies now to most commands taking wildcards.
Log file rotation size for the API increased to 1MiB.
A log message is emitted if a double value loses precision when read as an integer value or set to an integer node.
The standalone SeqC compiler (ziAPICompileSeqC, zhinst.core.compile_seqc) no longer adds all files in wavepath by default. Pass null/None as waveforms to restore the old behavior.
Python API
Added support of Python 3.12.
A fully standalone SeqC compiler is now available on PyPI as zhinst-seqc-compiler. compile_seqc() in zhinst.core will make use of this package if a compatible version is installed.
MATLAB API
Support of Apple ARM processors.
Added example example_ghfli_poll_data.m to demonstrate polling data from GHFLI Lock-in Amplifier.
Added example example_ghfli_sweeper.m to demonstrate frequency sweep measurement using GHFLI Lock-in Amplifier.
Added example example_shfli_sweeper.m to demonstrate frequency sweep measurement using SHFLI Lock-in Amplifier.
LabVIEW API
Support of sweeping SHF/GHFLI demodulator nodes.
Support of polling SHF/GHFLI demodulator nodes.
Support of universal LabVIEW library that also supports Apple ARM processors.
C API
Added example ExampleDeviceDiscovery.cpp to demonstrate how to use LabOne discovery service to find instruments visible to a computer in a network.
Version 23.10 (patch 1)
SHFPPC: Introduced a new high-performance data-server kernel.
SHFLI & GHFLI: Fixed a bug that blocked data acquisition from multiple demodulators with a high transfer rate.
MFLI & MFIA: Fixed a bug that assigned a wrong default value to Osc Phase Demod 4.
SHFQA, SHFQC, SHFSG & HDAWG: Fixed a bug where the instrument incorrectly reported pending reads during the upload of a sequence.
SHFQA & SHFQC: Fixed a bug that caused different output latency for the QA-type channels between SHFQA and SHFQC.
SHFQA & SHFQC: Fixed the output latency alignment for QA-type channels when using the baseband path.
SHFQA, SHFQC, SHFSG & HDAWG: Fixed a bug so that the pipeliner commits only when non-zero value is written to the corresponding node.
Data Server: Device disconnection might not be immediately detected over Ethernet. As a result, a command to a reconnected device might fail; reconnecting or creating a new API session should resolve the issue.
Version 23.10 (patch 2)
HDAWG: Improved heat management.
Data Server: Fixed a bug, introduced in LabOne 23.10, affecting setups using a combination of HDAWG, PQSC and SHF devices, connected to the same data server. The bug causes inaccurate reading and writing of the following nodes: /DEV.../CLOCKBASE, /DEV.../SYSTEM/PROPERTIES/MINFREQ, /DEV.../SYSTEM/PROPERTIES/MAXFREQ, /DEV.../QACHANNELS/n/OSCS/n/FREQ and /DEV.../SGCHANNELS/n/OSCS/n/FREQ.
Data Server: Fixed a bug that caused disappearance of instruments from the list of discovered devices when connected over USB on Windows.
[23.06]
GHFLI
Added support for GHFLI Lock-in Amplifier.
SHFLI
Added triggered acquisition mode for demod data.
A new high-performance data-server kernel is introduced.
Increased the precision of the demodulator phaseshift /DEV.../DEMODS/0/PHASESHIFT.
AC coupling is made the default setting for the baseband path.
Fixed wrong reporting of the time constant and bandwidth by the sweeper in certain conditions.
Fixed a bug where an over-range condition for the input and output channels was reported during ADC calibration (during startup)
Removed placeholder fields from the SHFLI demodulator data properties (awgtag, centerfreq, oscillatorsource and signalsource). This is an API breaking change.
Removed the node /DEV.../DEMODS/n/TRIGGER and introduced instead /DEV.../DEMODS/n/TRIGGER/MODE, /DEV.../DEMODS/n/TRIGGER/SOURCE and /DEV.../DEMODS/n/TRIGGER/TRIGGERACQ.
SHFPPC
Added GUI support for In/Out and Cancellation features.
SHFQC
Added nodes for switching between the radio-frequency (RF) and low-frequency (LF) paths of the QA channel input and output respectively: /DEV.../QACHANNELS/0/INPUT/RFLFPATH and /DEV.../QACHANNELS/0/OUTPUT/RFLFPATH. Furthermore, the node /DEV.../QACHANNELS/0/OUTPUT/RFLFINTERLOCK allows to enable an interlock, where the RF/LF path setting of the output is always configured according to the one of the input.
Added an optional synchronization check which ensures that all participants have reported their readiness before a program or internal triggers are executed.
Added option to load factory defaults in the Device Tab.
Cleanup of options available in node /DEV.../QACHANNELS/0/GENERATOR/AUXTRIGGERS/m/CHANNEL to select source of digital trigger. Now only physical trigger inputs, internal trigger and software trigger are allowed.
Cleanup of options available in node /DEV.../QACHANNELS/0/MARKERS/n/SOURCE to select the source of marker output: removed the non-functional "Channel 2, Sequencer Trigger Output" and "Channel 2, Readout done" selection options.
The following default values for triggers have been changed: default input level is 1.0 V, default slope is "rise".
Improved labeling of trigger inputs in various drop down menus in the LabOne UI.
Fixed a bug in the QA sequencer in which playZero commands were skipped when multiple successive playZero commands were used with large sample counts (e.g. 131056).
Fixed a bug where the spectroscopy delay node /DEV.../QACHANNELS/0/SPECTROSCOPY/DELAY didn't accept 0 ns after it was set to 4 ns.
Fixed a bug where an over-range condition for the input and output channels was reported during ADC calibration (during startup)
Deprecated the digital mixer phase reset feature of SG channels.
SHFSG
Added an optional synchronization check which ensures that all participants have reported their readiness before a program or internal triggers are executed.
Added option to load factory defaults in the Device Tab.
The following default values for triggers have been changed: default input level is 1.0 V, default slope is "rise".
Deprecated the digital mixer phase reset feature.
SHFQA
Added nodes for switching between the radio-frequency (RF) and low-frequency (LF) paths of the QA channel input and output respectively: /DEV.../QACHANNELS/n/INPUT/RFLFPATH and /DEV.../QACHANNELS/n/OUTPUT/RFLFPATH. Furthermore, the node /DEV.../QACHANNELS/n/OUTPUT/RFLFINTERLOCK allows to enable an interlock, where the RF/LF path setting of the output is always configured according to the one of the input.
Added an optional synchronization check which ensures that all participants have reported their readiness before a program or internal triggers are executed.
Added option to load factory defaults in Device Tab
Fixed a bug in the sequencer, where playZero commands got skipped when multiple successive playZero commands were used with large sample counts (e.g. 131056).
Fixed a bug where the spectroscopy delay node /DEV.../QACHANNELS/n/SPECTROSCOPY/DELAY didn't accept 0 ns after it was set to 4 ns.
Fixed a bug where an over-range condition for the input and output channels was reported during ADC calibration (during startup)
PQSC
Added an optional synchronization check that waits until all ZSync workers have reported their readiness before ZSync start triggers are executed.
The register forwarding unit can now forward up to eight readout results, or 16 bits, to each ZSync port.
Readout instruments, either SHFQC, SHFQA or UHFQA (via HDAWG bridge), can now be connected to all ZSync ports, not only to the first eight.
Added node /DEV.../EXECUTION/SYNCHRONIZATION/ENABLE to enable automatic start of triggering when all instruments report to be ready.
Added nodes /DEV.../ZSYNCS/n/OUTPUT/ENABLE and /DEV.../ZSYNCS/n/OUTPUT/SOURCE to enable and select source of feedback output on a given ZSync port.
Removed the nodes /DEV.../ZSYNCS/n/OUTPUT/DECODER/ENABLE and /DEV.../ZSYNCS/n/OUTPUT/REGISTERBANK/ENABLE. Use the nodes /DEV.../ZSYNCS/n/OUTPUT/ENABLE and /DEV.../ZSYNCS/n/OUTPUT/SOURCE instead.
HDAWG
Added an optional synchronization check which ensures that all participants have reported their readiness before a program or internal triggers are executed.
Changed the naming of some nodes available in the AWG compiler to be more consistent with the node tree.
Removed several nodes available in the AWG compiler to better reflect what is possible to control within the AWG, or because better alternatives exist.
Sine generator nodes can now be set within the AWG compiler only if the sine generator is either physically associated with that particular AWG core, or part of the same channel grouping of AWG cores.
UHFQA
Fixed a bug which caused ksn_dsp_awg_vec_read - ERROR: Can't read write-only ELF Data node messages in the firmware log.
MFLI & MFIA
IA: Added a new equivalent circuit representation to facilitate the characterization of dielectric materials.
IA: Changed the node /DEV.../SYSTEM/IMPEDANCE/CALIB/CABLELENGTH type to Double, allowing to specify any cable length. This is an API breaking change.
IA: Integrated the "Open" user compensation mode in the compensation sequences.
LabOne User Interface
Enabled active row display in 2D plot of DAQ tab by default.
Sweeper application mode Noise Amplitude Sweep subscribes to signal quadrature components X and Y instead of its amplitude R to enable accurate noise measurement.
Fixed the unit of cursors difference to dB when decibel mapping is selected.
LabOne Data Server
The data server is not compatible with clients from previous LabOne releases.
Removed non-functional node /ZI/DEVICES/DISCOVER.
Certain wildcard usages are now forbidden, like subscribe('*').
The network ports 8001 to 8003 need to be accessible in addition to the already used port 8004. If the command line switch --port N is used, the ports N-3 to N must be accessible.
Network ports 41000-41032 must be accessible when connecting to SHFLI or GHFLI devices.
LabOne Modules (Shared Functionality API & User Interface)
Fixed the definition of Flat Top window function.
LabOne AWG Compiler
The node paths used to change instrument setting from the AWG sequencer have been changed to match the definition in the nodetree. Node changed as follow:
HDAWG AWGS/n/* nodes can only be accessed from sequencer of the same index n or the same group, in grouped mode
HDAWG SINES/n/* nodes can only be accessed from sequencer on the same FPGA
HDAWG MODULATION/n/MODULATION_MODE(m) renamed to AWGS/n/OUTPUTS/m/MODULATION/MODE.
HDAWG MODULATION/n/GAIN_k(m) renamed to AWGS/n/OUTPUTS/m/GAINS/k.
HDAWG MODULATION/n/GAIN(m) removed. Use AWGS/n/OUTPUTS/m/GAINS/m instead.
HDAWG MODULATION/n/HOLD(m) removed. Use the instruction playHold instead.
LabOne API
API levels below level 6 are not supported when connecting to SHFLI and GHFLI devices.
Connections to SHFLI or GHFLI devices require the use of the API from release 23.06 (or newer).
Version 23.06 (patch 1)
LabOne Data Server: Opened ports 8001-8004 to enable clients to connect to a data server running on a remote machine.
LabOne Data Server: Improved the error message when the connection between client and server fails due to mismatched versions.
LabOne Data Server: Fixed a bug that caused disconnection from the device when multiple clients read out the device in parallel.
LabOne UI: Fixed a bug to align the time axis of a signal trace and its 2D waterfall image in the scope tab.
Python API: Fixed the documentation of listNodesJSON which indicated unsupported flags.
LabOne Installer: Fixed a bug that could result in a crash of LabOne on macOS.
HDAWG: Fixed a bug that prevented correct playback of long waveforms or many short waveforms.
PQSC: Fixed an issue where only the first register was forwarded.
UHFQA, UHFLI: Fixed a sporadic firmware issue causing "[error] Exception: TCP receive timeout" in the data server log followed by a disconnect during vector data transfer (e.g. QA results) from the device to the data server.
MFLI & MFIA: Removed the node impedanceModule/openstep from the impedance module.
[23.02]
SHFLI
Added support for SHFLI Lock-in Amplifier.
SHFPPC
Added support for SHFPPC Parametric Pump Controller.
SHFQC
SG Channels: Extended functionality of resetOscPhase to able to reset the phase of the digital mixer (e.g. to enable reproducible phase setting when using the LF path).
SG Channels: Added ability for internal feedback to use multi-state discrimination data to enable reset of multi-level systems.
QA Channel: Added power-spectral-density (PSD) measurement capability to the spectroscopy mode. The PSD measurement gets controlled via the node tree branch /DEV.../QACHANNELS/0/SPECTROSCOPY/PSD/*.
Manual: Improved UI documentation. Added additional documentation on usage of internal feedback, playZero, and playHold.
SG Channels: Improved efficiency of playZero and playHold to use fewer assembly instructions.
SG Channels: Improved timing jitter of Output when triggering an SG channel over ZSync.
Improved support for alternative hardware components.
Added ability for the device to prevent LabOne changes that are incompatible with the device hardware.
Improved alignment between SG and QA channel outputs when triggered by the Internal Trigger.
Fixed a bug that caused a wrong effective scope delay at startup.
Fixed a bug that caused overrange conditions during the ADC calibration at startup.
Fixed a bug that caused the DIO interface to behave wrongly when switching between LVCMOS and LVDS outputs in non-manual mode.
Fixed the value of legacy node /DEV.../CLOCKBASE for SHF devices. To have always the correct value, use the device node /DEV.../SYSTEM/PROPERTIES/TIMEBASE instead.
SHFSG
Extended functionality of resetOscPhase to able to reset the phase of the digital mixer (e.g. to enable reproducible phase setting when using the LF path).
Added a model to reliably predict feedback latency.
Improved support for alternative hardware components.
Added ability for the device to prevent LabOne changes that are incompatible with the device hardware.
Manual: Added additional documentation on playZero and playHold. Added a tutorial on qubit tuneup.
Improved efficiency of playZero and playHold to use fewer assembly instructions.
Improved timing jitter of output when triggering an SG channel over ZSync.
Fixed a bug that caused the DIO interface to behave wrongly when switching between LVCMOS and LVDS outputs in non-manual mode.
Fixed the value of legacy node /DEV.../CLOCKBASE for SHF devices. To have always the correct value, use the device node /DEV.../SYSTEM/PROPERTIES/TIMEBASE instead.
SHFQA
Added power-spectral-density (PSD) measurement capability to the spectroscopy mode. The PSD measurement gets controlled via the node tree branch /DEV.../QACHANNELS/n/SPECTROSCOPY/PSD/*.
Added the internal trigger unit, which allows to generate a number of triggers with configurable hold-off time. The configuration is done via the nodes /DEV.../SYSTEM/INTERNALTRIGGER/* or the DIO tab in the GUI. The "Internal Trigger" can be selected as trigger source of the Scope, QA Readout Pulse Generator, and for Spectroscopy mode.
Fixed a bug that caused a wrong effective scope delay at startup.
Fixed a bug that caused overrange conditions during the ADC calibration at startup.
Fixed a bug that caused the DIO interface to behave wrongly when switching between LVCMOS and LVDS outputs in non-manual mode.
Fixed the value of legacy node /DEV.../CLOCKBASE for SHF devices. To have always the correct value, use the device node /DEV.../SYSTEM/PROPERTIES/TIMEBASE instead.
HDAWG
Added a new sequencer command playHold to allow the AWG to hold waveform and marker data for a specified number of samples.
Improved support for alternative hardware components.
Added ability for the device to prevent LabOne changes that are incompatible with the device hardware.
Added a model to reliably predict feedback latency.
Manual: Added tutorial on the usage of playHold. Added additional documentation on playZero and playHold.
Improved efficiency of playZero and playHold to use fewer assembly instructions.
Improved support for alternative hardware components.
Improved handling of sequencer command setPrecompClear and introduced error reporting for unsupported usage.
Fixed a bug that prevented the integrator of the high-pass compensator of the precompensation option from being cleared when setting the precompClear attribute in the command table.
Fixed a bug where streaming data to LabOne caused disconnection from device.
UHFQA
Fixed a bug in the AWG waveform playback for the auxiliary outputs using the SeqC command playAuxWave, where the voltage of the last sample was not held constant as specified.
UHFLI
Changed the default Scale factor of Aux Outputs from 1.0 to 10.0.
MFLI & MFIA
Changed the default Scale factor of Aux Outputs from 1.0 to 10.0.
HF2LI
Fixed a bug in the Scope tab that prevented trigger level setting.
LabOne User Interface
Enabled selection of Data Server address and port in Session Manager.
Dropped support for Windows 7 and Windows 8.1 as they have reached their end of life.
LabOne Data Server
Dropped support for Windows 7 and Windows 8.1 as they have reached their end of life.
LabOne Modules (Shared Functionality API & User Interface)
Added support for the SHFLI and GHFLI in the Sweeper, Data Acquisition (DAQ) and Scope modules.
Fixed a bug in the Data Acquisition (DAQ) module where the trigger level and hysteresis were capped between -10 and 10. Both limits are now removed.
Fixed a bug in the Sweeper phase unwrapping algorithm that caused only partially unwrapped phases.
LabOne AWG Compiler
Improved stability and performance.
Fixed bug in register allocation, which could lead to incorrect runtime behavior.
Fixed bug in register optimization, which could lead to incorrect compilation of conditionals.
LabOne API
Getting values from write-only nodes results in a write-only error instead of a timeout error.
Enabled polling without wait time when only one event is expected.
Node paths containing a sequence of two or more slashes are not allowed anymore.
LabOne C API
Added ZI_ERROR_SAMPLE_LOSS error code issued when a sample loss is detected.
Declared the transactional set as stable and removed ZI_API_EXPERIMENTAL flag.
Python API
Added support of Python 3.11.
Added asyncGetAsEvent to zhinst.core.ziDAQServer as an async equivalent of getAsEvent.
Added support for the SHFLI and GHFLI demodulator vector format.
MATLAB API
Added support for the SHF- and GHFLI demodulator and scope vector format.
LabVIEW API
Fixed a bug in the DAQ Tutorial plot legend.
Fixed a bug in Boxcar Example where the phase conversion from radian to degree was incorrect.
.NET API
Fixed a bug in AWG Module Example which caused error when running on UHFQA.
Version 23.02 (patch 1)
HDAWG: Changed the rendering of pre-compensation plot from SVG to PNG.
HDAWG: Fixed a bug that caused pre-compensation waveforms to disappear with zoom level and number of points.
AWG compiler: Fixed a bug which caused the compilation to fail with the error "addi command without valid register" when using 1x4, 2x4 or 1x8 channel grouping.
SHFLI: Fixed frequency of second output for devices without the MF option.
SHFLI: Fixed tooltips in the Lock-in tab.
SHFQA/SHFQC: Fixed output alignment of (QA-type channel for SHFQC) with SHFSG and HDAWG when triggering with ZSync.
SHFQC: Fixed output alignment for SG-type and QA-type channels when triggering with the internal trigger.
[22.08]
SHFQC
Added support for the SHFQC Qubit Controller, including full support in the LabOne UI.
Added new SG-channel sequencer command getFeedback that can retrieve ZSync data or qubit data from the QA channel.
Added ability of executeTableEntry to use variable arguments corresponding to qubit data received over ZSync or from the QA channel.
Added an internal trigger unit that allows the SG and QA channels to be synchronized with each other.
Added support for 16 sample waveforms with the command table.
Added support for real-time multi-state discrimination, accessible through the new node branch: /DEV.../QACHANNELS/0/READOUT/MULTISTATE/*. The feature allows to discriminate the states of up to 16 qubits, 8 qutrits or 5 ququads or of any combination of these in real-time through the startQA-command in the sequencer.
Added a new sequencer command playHold to allow the AWG to hold waveform and marker data for a specified number of samples.
/DEV.../SGCHANNELS/n/AWG/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
/DEV.../QACHANNELS/0/GENERATOR/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
Improved the speed with which the SG channel AWGs can be enabled.
Improved the maximal repetition rate, with which the QA readout can be started without missing triggers, to at least 1/(440 ns).
Fixed a bug, where the error "The sigin ADC reported unexpected dataconverter errors!" was issued during an over range condition at the QA channel inputs.
Fixed a bug in which the command table always required a waveform to make parameter changes.
/DEV.../DIOS/0/MODE node changed keyword arguments to enable control of DIO values by the sequencer from chanNseq or channelN_sequencer to sgchanNseq or sgchannelN_sequencer for the SG channels and qachanNseq or qachannelN_sequencer for the QA channel.
SHFSG
Added support for 16 sample waveforms with the command table.
Added a new sequencer command playHold to allow the AWG to hold waveform and marker data for a specified number of samples.
Added ability of executeTableEntry to use variable arguments corresponding to qubit data received over ZSync.
GUI: Added waveform and marker delay settings in the Digital Modulation and DIO Tabs, respectively.
Added new node /DEV.../SGCHANNLES/n/AWG/COMMANDTABLE/SCHEMA that reports the command table schema on the device. The online schema can also be used as before.
/DEV.../SGCHANNELS/n/AWG/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
Improved the speed with which the AWGs can be enabled.
Fixed a bug in which the command table always required a waveform to make parameter changes.
/DEV.../DIOS/0/MODE node changed keyword arguments to enable control of DIO values by the sequencer from chanNseq or channelN_sequencer to sgchanNseq or sgchannelN_sequencer.
SHFQA
GUI: in the Readout Pulse Generator Tab, added a Waveform Viewer for Generator Waves and Integration Weights.
Added support for real-time multi-state discrimination, accessible through the new node branch: /DEV.../QACHANNELS/n/READOUT/MULTISTATE/*. The feature allows to discriminate the states of up to 16 qubits, 8 qutrits or 5 ququads or of any combination of these in real-time through the startQA-command in the sequencer.
GUI: in the Readout Pulse Generator Tab, removed the trigger selection "Sequencer n Trigger Out" from the Trigger sub-tab of Sequencer n.
Improved the maximal repetition rate, with which the QA readout can be started without missing triggers to 1/(440 ns).
/DEV.../QACHANNELS/n/GENERATOR/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
Fixed a bug, where the error "The sigin ADC reported unexpected dataconverter errors!" was issued during an over range condition at the QA channel inputs.
/DEV.../DIOS/0/MODE node changed keyword arguments to enable control of DIO values by the sequencer from chanNseq or channelN_sequencer to qachanNseq or qachannelN_sequencer.
PQSC
Aligned ZSync start trigger between HDAWG, SHFQA, SHFSG and SHFQC.
Aligned ZSync start trigger to external reference clock for either 10 MHz or 100 MHz PQSC output clock.
ZSync start trigger alignment has offset of 5 ns between 10 MHz and 100 MHz PQSC output clock.
HDAWG
Added amplitude registers to the command table, to enable multi-dimensional amplitude sweeps. Command table version increased to 1.0.0, schema available at https://docs.zhinst.com/hdawg/commandtable/v1_0/schema.
Added new node /DEV.../AWGS/n/COMMANDTABLE/SCHEMA that reports the command table schema on the device. The online schema can also be used as before.
/DEV.../AWGS/n/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
Fixed a bug in which the ELF file upload would sometimes fail when using long waveforms.
Fixed a bug that prevented the user from changing grouped mode after running a sequence.
Fixed a bug in which the command table always required a waveform to make parameter changes.
Fixed a bug when using grouped mode in which using a transactional set to upload many waveforms at once would cause playback errors.
Fixed a bug in which the DIO bits would sometimes all switch to one when enabling drive node.
UHFQA
/DEV.../AWGS/0/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
UHFLI
/DEV.../AWGS/0/ELF/DATA node accepts raw data as 8-, 16-, and 64-bit integer vectors in addition to 32-bit words.
Added PID streaming data rate and overflow flag to the main PID tab in LabOne user interface.
Fixed bug in sweeper tab that caused wrong arithmetic unit (AU) signals to be displayed when average power or standard deviation selected.
MFLI & MFIA
Added Tip Protect feature to adjust the Aux Output signal.
Added new node /DEV.../AUXOUTS/n/TIPPROTECT/ENABLE to enable Tip Protect unit.
Added new node /DEV.../AUXOUTS/n/TIPPROTECT/POLARITY to select the active level of source signal in Tip Protect unit.
Added new node /DEV.../AUXOUTS/n/TIPPROTECT/SOURCE to select the source for Tip Protect unit.
Added new node /DEV.../AUXOUTS/n/TIPPROTECT/VALUE to set the value written to Aux Outputs by Tip Protect unit.
Added Aux Output trace to Scope input to display Aux Output value after Limit and Tip Protect units besides Aux Output Internal value.
Added Threshold Unit output to the list of signal inputs for PID controllers.
Added PID streaming data rate and overflow flag to the main PID tab.
Removed smoothing option for user compensation from Impedance Analyzer (IA) tab.
Added input monitor and signal-add control of signal output to IA tab.
Fixed bug that prevented the UI from selecting the phase of reference demodulator as the PID output.
A device's installed options are now listed alphabetically in the Device Tab.
The start menu shortcut to the user manual (Windows only) points now automatically to the offline documentation even without LabOne running.
Disabled spectral density feature in sweeper for irrelevant signals.
Merged Waveforms subtab of AWG into the Waveform Viewer tab.
Fixed bug in the API command log that wrongly parsed the outcome of a module's progress method.
LabOne Data Server
Allow to specify the timeout for a transactional set from the client.
Added data field to the Data Server log to display thread ID and thread name.
LabOne Modules (Shared Functionality API & User Interface)
Enabled save functionality of Quantum Analyzer (QA) module to record signals in CSV and MATLAB formats.
LabOne API
A device's installed options are now listed alphabetically by the node FEATURES/OPTIONS.
Removed examples that rely on the deprecated Software Trigger Module.
Allow to use wildcards in the path when setting nodes using keywords.
Fixed bug that prevented usage of the generic set for command tables.
Fixed bug that returned an empty vector when reading a write-only vector.
Dropped support for Python 3.6 (since it reached its end of life 23 Dec 2021).
Enforced the sweeper module to expect the device node before setting any other module nodes.
LabOne C API
Added CMakeLists.txt for the LabOne C API examples for conveniently building the examples. This makes the Visual Studio projects redundant, hence they have been removed.
Added functions ziAPICompileSeqC, ziAPIAllocateCompileResult, and ziAPIDeallocateCompileResult for offline-compilation of sequencer code.
Removed deprecated functions ziAPIAllocateEvent, ziAPIDeallocateEvent, ziAPIPollData, ziAPIGetValueS, ziAPIGetValueDIO, and ziAPIGetValueAuxIn, which are superseded by ziAPIAllocateEventEx, ziAPIDeallocateEventEx, ziAPIPollDataEx, ziAPIGetDemodSample, ziAPIGetDIOSample, and ziAPIGetAuxInSample, respectively.
Reduce warnings emitted from ziAPI.h when compiled with strict diagnostics.
Python API
Renamed zhinst.ziPython to zhinst.core. The old package name is supported, but it is recommended to use the new package. Uninstall any prior version of the zhinst package first before installing 22.08.
Added type hints for zhinst.core as per PEP484.
Added custom exception types for zhinst.core package: zhinst.core.errors. zhinst.core's base exception is CoreError, which derives from RuntimeError for backwards compatibility. The error message remains unchanged. Additionally, the attribute code within the CoreError-class allows direct access to the error code without parsing the error message.
Added compile_seqc() to zhinst.core to compile sequencer code.
Added host, port and api_level to zhinst.core.ziDAQServer to get the respective values of the active connection.
setVector and set treat Python bytes objects as uint8_t vectors.
Deprecated zhinst.core.ziDAQServer.getConnectionAPILevel() in favor of the api_level property.
MATLAB API
Updated multi-device sweep example to cover devices without MF or MD options.
Fixed bug that blocked MATLAB when reading complex-valued vectors from Quantum Analyzer channels.
LabVIEW API
Fixed the memory leak issue in ziExample-Module-Impedance.vi.
Introduced two new DAQ Module tutorials 301_Module-DAQ_introduction_Single.vi to acquire a single snapshot of data and 302_Module-DAQ_introduction_Continuous.vi to acquire subsequent data snapshots continuously.
Behavior change in the Sweeper Module calls: The device must be the first parameter to set for the Sweeper module.
Version 22.08 (patch 1)
HDAWG: Command table schema updated to be compatible with JSON schema version draft-7; still compatible with draft-4. Command table version increased to 1.1.0, schema available from the device or at https://docs.zhinst.com/hdawg/commandtable/v1_1/schema.
SHFSG/QC: Command table schema updated to be compatible with JSON schema version draft-7; still compatible with draft-4. Command table version increased to 1.2.0, schema available from the device or at https://docs.zhinst.com/shfsg/commandtable/v1_2/schema.
SHFQA, SHFQC, SHFSG: reworked the DIO infrastructure to reduce the jitter of codeword-based triggering over the DIO-interface.
Fixed bug which broke compatibility with Windows 7, 8.1, and 10 (below version 1607) for LabOne data server, web server, and all APIs.
AWG compiler: Fixed bug where 32-bit unsigned integers would incorrectly overflow and clip to a value of 2^31-1 if the most significant bit was used.
Fixed an issue which resulted in similar behavior of Linear and Nearest modes in DAQ Module.
Fixed a bug where MATLAB would crash when polling certain SHFQC nodes.
Fixed an issue in API examples for Command Table which prevented proper upload of JSON strings to AWG.
Fixed a bug that HF2 device options "MFK" and "RTK" would not be recognized by LabOne API or UI. These options are known as "MF" and "RT", respectively, in newer devices.
SHFQA, SHFQC: Fixed a bug, where the readout integration weight vectors were not read back correctly from the device.
SHFQA, SHFQC: Fixed a bug, where the imaginary part of the readout integration weight vectors did not get zeroed when updating the vector with a non-complex data type.
SHFQA, SHFQC: Fixed a bug, where the multi-state discrimination settings did not reflect the state of the device after clearing them with the node /DEV.../QACHANNELS/n/READOUT/MULTISTATE/CLEAR.
[22.02]
SHFSG
Added the Real-Time Logger that logs history of incoming ZSync and DIO messages at /DEV.../SGCHANNELS/n/AWG/RTLOGGER/*
Added new tutorials to the User Manual: Basic Sine Generation, Basic Waveform Playback, Triggering and Synchronization, Digital Modulation, Using the Python API, and Pulse-level Sequencing with the Command Table.
Added LabOne UI descriptions for the Digital Modulation and DIO Tabs to the Uer Manual.
Added support for fast sequencer-based IF sweeps via the SeqC commands configFreqSweep(), setSweepStep(), and setOscFreq().
Added support for conditional triggering over DIO via SeqC commands: setDIO(), getDIO(), waitDIOTrigger(), getDIOTriggered(), playWaveDIO().
Improved playWaveZSync() and getZSyncData() SeqC commands for fast feedback with PQSC.
Added ability for each sequencer to read data from either ZSync or DIO.
Added support for waitSineOscPhase() SeqC command.
Added support for the SHFSG in zhinst-deviceutils in the Python API, to improve user programming experience.
Improved QCoDeS and Labber drivers and zhinst-toolkit to offer support of the SHFSG.
Added ability to set the center frequency when using the low-frequency path. Accepted values: 0 – 2 GHz.
Added low-frequency path control to the Output Tab in the LabOne UI. Updated documentation in the User Manual accordingly.
Increased command table size to 4096 elements. Command table version increased to 1.1.0, schema available at https://docs.zhinst.com/shfsg/commandtable/v1_1/schema.
Marker and trigger outputs adjusted to be aligned with the RF output by default.
Default values of sine generator, AWG gain settings, and command table amplitude settings updated to automatically generate the upper sideband.
Replaced the two AWG output amplitude settings with a single global amplitude setting. Default value is 0.5 to prevent saturating the DAC.
Improved ZSync link stability.
Added a built-in waiting time of wait(3) to the resetOscPhase() command, to prevent the oscillator from resetting during waveform playback.
Fixed bug in which using too many triggers back-to-back would cause unpredictable waveform playback.
Fixed bug in which DIO outputs could not be set properly.
SHFQA
Enabled fast sequencer-based IF sweeps via the Sequencer commands configFreqSweep() and setSweepStep(). Updated the ShfSweeper Python class in zhinst.utils.shf_sweeper to use the fast sequencer-based sweep by default. The user can set the use_sequencer attribute in the SweepConfig to False to return to the previous host-based approach.
Added command resetOscPhase() to the Sequencer for resetting the phase of the oscillator used in spectroscopy mode.
Added commands setUserReg() and getUserReg() to the Sequencer for setting and getting values from user registers.
Added new node /DEV.../QACHANNELS/n/GENERATOR/CLEARWAVE to clear all uploaded readout waveform vectors.
Added new node /DEV.../QACHANNELS/n/READOUT/INTEGRATION/CLEARWEIGHT to clear all uploaded integration weight vectors.
Scope: added continuous mode, in which the scope gets automatically re-enabled after each acquired scope shot. As for the other instruments, the node /DEV.../SCOPES/0/SINGLE is used to switch between continuous mode (0, default) and single-shot (1). In addition, if /DEV.../SCOPES/0/TRIGGER/ENABLE is set to 0 (default), the scope gets automatically re-triggered.
GUI: added Scope Tab.
GUI: in the Generator Tab, we now support the user registers of the Sequencer.
GUI: in the QA Setup Tab, when in Spectroscopy mode, added CSV envelope waveform upload.
GUI: in the QA Setup Tab, when in Readout mode, added new phase parameters for Parametric waveform generation and new buttons for clearing the waveform vectors.
GUI: in the DIO Tab, added settings for Trigger Input Levels and Marker Source.
Improved ZSync link stability.
Generator waveform upload: fixed a bug in the rounding of the waveform samples. This will cause a change of the signal output by 1 least-significant bit, corresponding to a fraction 2^-17 of the full scale amplitude.
The Weighted Integration units and the Result Logger did not get triggered when neither QA_INT_0 nor QA_INT_ALL was used in the second argument of the startQA() SeqC command. Now, individual triggering of each integration unit is possible using the bit mask, for example by combining two constants QA_INT_0 | QA_INT_1 using the bit-wise OR operator (|). For those integration units, which are not triggered, the result vector will contain "Not a Number" (NaN).
Scope: fixed a bug, where the samples were always scaled by the number of averages, even when the averaging was switched off.
Generator Sequencer Status is now showing "waiting for trigger" status correctly.
Fixed bug where sending a readout from SHF to PQSC over ZSync without enabling result logger leads to ZSync forwarding unit getting stuck waiting for readout to arrive while it's disabled in the result logger.
PQSC
Added new node /DEV.../SYSTEM/CLOCKS/READY that advises to wait 30 minutes after boot before locking to external reference clock
Preset now clears error log
ZSync will lose the link if a single bit error is detected instead of a block of errors
Improved ZSync link stability
Fixed bug where lock to 10 MHz external reference clock would not result in deterministic phase
Fixed bug where first ZSync link would fail, indicated by the LED not turning blue
Fixed bug where ZSync link would report "Done" too early when establishing a link
Fixed bug where preset is blocked if input reference clock failed to lock to external clock previously
HDAWG
Added the Real-Time Logger that logs history of incoming ZSync and DIO messages at /DEV.../AWGS/n/RTLOGGER/
Add support to enable/disable sample clock output, default: off /DEV.../SYSTEM/CLOCKS/SAMPLECLOCK/OUTPUTENABLE
Add preset functionality for ZSync Improved Feedback processing nodes
Enable 2 GSa/s sampling rate when in ZSync mode, in addition to 2.4 GSa/s
Changed default value of ZSync trigger masks to all ones from all zeros
Preset now clears error log
Improved ZSync link stability
Improved deterministic trigger delay when triggered via ZSync; it doesn't show 3.3 ns variations anymore
Changed default values in the command table
Precompensation: Increased supported range for high-pass compensation time constant
Fixed bug where setting a value to DIO from the AWG sequencer in grouped mode (1x4, 2x4, 1x8) would fail
Fixed bug that could cause misalignment between AWG in grouped mode, for example when using user registers
Fixed bug where lock to external reference clock or ZSync would not result in deterministic phase
Fixed bug releated to playing long waveforms with divided sample rate
Fixed bug where amplitudes changes in the command table are ignored
Fixed bug that prevented usage of the command table in grouped mode
Fixed bug that caused the wave output to be muted if a command table with amplitude changes commands is loaded
UHFQA
Switched the rendering of Input Monitor from SVG envelop to PNG for better resolution.
Improved firmware upgrade process.
Added the Real-Time Logger that logs history of incoming ZSync and DIO messages at /DEV.../AWGS/0/RTLOGGER/
Added 'Firmware Upgrade UHFQA' utility.
Fixed bug where feedback from PQSC is not forwarded reliably to the UHFQA
UHFLI
Improved firmware upgrade process.
Added 'Firmware Upgrade UHFLI' utility.
Renamed duplicated keywords for /DEV.../DEMODS/n/TRIGGER.
MFLI & MFIA
IA: Added node /DEV.../IMPS/n/CONFIDENCE/ENABLE to enable/disable all confidence indicators at once.
IA: Make smoothing for user compensation available again (broken in 21.08).
LabOne User Interface
Added FFT window function: Flat Top
Oscillator phases can be synchronized from any open MDS tab even if another MDS module is controlling the multi-device synchronization.
Fixed a bug in sweeper where it could not complete the plot after finishing parameter sweep.
Fixed a bug where automatic zoom failed for tiny values.
Fixed a bug in 2D image of spectrum where colormap depended on the previous mapping.
LabOne Data Server
Node paths are returned in lower case by listNodes/listNodesJSON. This makes them consistent with the path returned by functions like poll().
The Data Server does no longer shut down by pressing any key (press Ctrl + C to terminate).
Fixed timeout issue during sync command. A sync command can now block for more than 18 seconds without causing a timeout. Since sync() waits for the device to become ready, there were problems in case the synchronization to an external clock exceeded the timeout for device communication.
Previous versions of the Data Server cannot perform a blocking sync() with the device firmware included in this release (22.02). The sync() command will appear to be acknowledged immediately, regardless of the readiness of the device. Note that mixing versions, in particular using an older Data Server with newer device firmware, is unsupported.
LabOne API
syncSetDouble and syncSetInt return the value acknowledged by the device firmware. This requires support in data server.
Improved error message when keyword cannot be resolved.
Python API
Removed support of Python 3.5
Added support of Python 3.10
First release of zhinst-deviceutils, a Python package implementing reusable device-specific functionality on top of zhinst.ziPython.
Major redesign of of zhinst-toolkit, the convenient high-level interface to Zurich Instruments devices.
Improved ziModGetDoubleData.vi to return single-row data.
Fixed a bug where repeated discovery could not return correct values.
Fixed a bug where API could not exit properly when timeout or error occurs in loops.
C API
Added example ExampleImpedanceAverager.cpp for impedance data acquisition using poll and averaging.
Added example ExampleImpedanceUserCompensation.cpp for short-open user compensation with MFIA.
Added example ExampleGetSingleSample.cpp to demonstrate acquisition of a single fresh value from a streaming node.
Exposed transactional commands to enable multi-parameter setting.
Fixed a bug where repeated discovery would not return correct values.
Fixed a bug with ziAPIGetLastError where an attempt to get last error could stop API.
Version 22.02 (patch 1)
AWG compiler: Improved speed when compiling small sequences.
AWG compiler: Improved safety with multiple instances of the AWG module and resolved side-effects during concurrent compilation.
LabOne UI: Allowed loading of measurement data from HDF5 files for matching device family. This enables loading of impedance data from MFLI devices with IA option on MFIA and vice versa.
SHFSG: Added internal trigger unit to enable synchronizing outputs without using an external trigger source.
SHFSG: Fixed bug in which nested frequencies sweeps using the configFreqSweep() did not function as intended.
AWG compiler: Fixed error handling of inputs that produce no output ELF file.
LabOne UI: Fixed reference mode of sweeper.
LabOne UI for SHFQA: Fixed a bug, where, after the "Clear" button has been used, the previous waveform or integration weight vector could not be uploaded without changing a parameter.
LabOne UI for SHFQA: Fixed a bug, where the parametric waveform and integration weight generation resulted in the wrong frequency.
SHFQA: Fixed a bug, where the device disconnected when using the result logger to record 500'000 samples on 4 channels simultaneously.
SHFQA: Fixed a bug, where the over-range indicator may miss-fire at some ranges.
SHFQA: Default scope length set to more usable 4992 samples.
MATLAB API: Fixed utility function disable_everything.
LabVIEW API: Fixed memory leak of streaming data when interleaving calls to ziPollDataEx and regular commands like get.
MF/UHF devices: Fixed automated setup of demodulator for ExtRef + Low BW mode.
MF/UHF devices: Fixed handling of device presets.
UHF devices: Fixed handling of invalid signal input ranges.
HDAWG devices: Fixed a bug, where AWGs could not be stopped correctly in grouped mode
HDAWG/SHFSG devices: Fixed a bug, where devices would push back invalid command table JSON in connection with the usage of playZero()
[21.08]
SHFSG
Added support for SHFSG Signal Generator.
Command table version 1.0, schema available at https://docs.zhinst.com/shfsg/commandtable/v1_0/schema.
SHFQA
Added new nodes /DEV.../QACHANNELS/n/SPECTROSCOPY/ENVELOPE/* to enable multiplication of the oscillator signal with a complex envelope for pulsed spectroscopy.
Added new node /DEV.../SCOPES/0/SINGLE to switch between single-shot and continuous mode. Currently, only single-shot is available.
Enabled full DIO support: Added new node /DEV.../DIOS/0/MODE to select mode, and introduced the following SeqC commands: setDIO(), getDIO(), waitDIOTrigger(), and getDIOTriggered()
Modified the behaviour of the startQA() SeqC command: The "trigger" argument now controls the trigger signal instead of the marker output.
Firmware can now be updated via USB.
In spectroscopy mode, the nodes /DEV.../QACHANNELS/n/SPECTROSCOPY/RESULT/* must now be used for the data acquisition instead of /DEV.../QACHANNELS/n/READOUT/RESULT/*.
Renamed /DEV.../RAW/QACHANNELS/n/SPECTROSCOPY/TRIGGER/CHANNEL to /DEV.../QACHANNELS/n/SPECTROSCOPY/TRIGGER/CHANNEL
Renamed /DEV.../SYSTEM/SWTRIGGER/* to /DEV.../SYSTEM/SWTRIGGERS/*
Removed SEQUENCER/ from /DEV.../QACHANNELS/n/GENERATOR/SEQUENCER/{AUXTRIGGERS/*,DIO/*,ELF/*,ENABLE,SINGLE,READY,RESET}
Removed the node /DEV.../QACHANNELS/n/READOUT/RESULT/RESET. Instead, a running measurement can now be stopped by writing 0 to the node /DEV.../QACHANNELS/n/READOUT/RESULT/ENABLE.
PQSC
Add graphical interface to control the feedback processing
Each bit in the register forwarding can be enabled separately through /DEV.../ZSYNCS/n/OUTPUT/REGISTERBANK/SOURCES/m/ENABLE node
Full support for SHFQA instrument, expanded readout registry bank
Stability improvements in ZSync link and synchronization for all instruments
Fixed bug where lock to external reference clock was lost after long time (days)
Fixed bug where feedback data was not persistent when partially updated: if decoder data was updated, forwarding data was lost, and vice versa
Fixed bug where zsyncs nodes were not reset with factory preset
Establishing a ZSync link with HDAWG instruments may fail occasionally
Establishing a ZSync link with SHF instruments may fail occasionally
PQSC may take more than 5 seconds to lock to an external reference clock
Skew of HDAWG instruments can change up to 3.3 ns across multiple link establishments
HDAWG
New modulation mode mixer calibration to support complex modulation including correction of external mixer imperfections
Add command playWaveZSync() and improve getZSyncData() for fast feedback with PQSC
The '/directory' node of the AWG module is now writeable, allowing to set the directory where waveforms should be saved
Made resetOscPhase() AWG instruction blocking until oscillator phase reset is completed
Added minimal waveform length check for assignWaveIndex()
Increased update rate of /DEV.../AWGS/n/ENABLE node such that AWG state may be probed within 10 ms (previously >100 ms)
Reduced memory consumption when compiling sequence programs with long placeholder waveforms
The sample clock output is disabled and needs to be enabled using /DEV.../SYSTEM/CLOCKS/SAMPLECLOCK/OUTPUTENABLE if needed
Fix timing for setTrigger in grouped mode
Fix waveform corruption when playWave is used with conditional instructions
Fixed issue that load factory defaults in Device Tab does not reset Pulse Counter settings
Corrected display of negative oscillator frequencies in GUI
Change /DEV.../AWGS/n/ELF/LENGTH node to be read-only
UHFLI
Added NAT traversal support for streaming data through UDP hole punching
UHFQA
Added NAT traversal support for streaming data through UDP hole punching
Added support for variable arguments in playZero() AWG instruction
Increased update rate of /DEV.../AWGS/0/ENABLE node such that AWG state may be probed within 10 ms (previously >100 ms)
SeqC commands startQAResult() and startQAMonitor() deprecated, use startQA() instead
MFLI & MFIA
IA: Added Current Zone ranging to manually set the switching frequency limits for all 8 current input ranges.
IA: Removed Impedance rang from Range Control.
IA: Improved user compensation sequence.
Fixed bug with loading user compensation data of "Short" and "Open" types.
Fixed performance issues with LabOne UI on some devices.
LabOne User Interface
Added support of GNU/Linux and macOS on ARM64 and Apple M1 processors.
Included HTML user manuals for all instruments.
Added feature code verification for options installation.
Changed default command log output to Python.
When autosaving from modules, saved data is no longer overwritten when the history length is reached.
Empty info.txt and .log files have been removed from data and log directories.
Improved visibility of readonly buttons.
Eliminated sporadic data loss when recording from the Config tab.
Fixed an issue with the autoconnect behavior for users of Safari.
Impedance nodes, when selected, are now recorded from the Config tab.
LabOne Data Server
Added support of GNU/Linux and macOS on ARM64 and Apple M1 processors.
Disconnecting a device through the API is now a blocking operation.
Device discovery performance has been improved and causes less CPU load.
Autoconnection of USB connected devices has been disabled.
Fixed crash of data server when the TCP connection to a device timed out.
LabOne API
Errors from data server are now propagated to the client as extended error informaton.
Improved command log output.
Added debug log output when data is dropped in poll().
Fixed a bug where data requested with getAsEvent could be dropped by subsequent commands.
C API
Added support for ARM64 architecture.
If the length of the passed buffer is insufficient, the length parameter is modified to indicate the required minimum buffer size
(ziAPIGetValueB, ziAPIGetValueString, ziAPIGetValueStringUnicode, ziAPIModGetString, ziAPIModGetStringUnicode).
For vector data of type ZI_VECTOR_ELEMENT_TYPE_ASCIIZ, a null terminator is always inserted (but never counted to the number of
vector elements). A warning will be shown if the number of vector elements differ from the string length.
Python API
Added support for ARM64 architecture.
Removed getLastError and setLastError as they should not be used in the Python API. In case of an error an exception will be thrown with the appropriate information attached.
The set function accepts now also 2 parameters when only a single value has to be set. It is then analoguous to the explicit set<Type> function.
Examples moved from zhinst package to public GitHub repository (https://github.com/zhinst/labone-api-examples).
The pollEvent function now returns a dictionary of path and value, as opposed to only the value.
Added arguments to the utility function create_api_session to define Data Server address and port.
Added save option to sweeper example.
Adapted MDS sweep example to support HF2LI.
SHFQA Python API utilities
zhinst.utils.shf_sweeper: added EnvelopeConfig for configuring the envelope for pulsed spectroscopy
zhinst.utils.shf_sweeper: renamed 'pointwise' to 'sequential', 'sweepwise' to 'cyclic', 'dwell_time' to 'integration_time' and 'num_samples' to 'num_averages'
MATLAB API
Adapted MDS sweep example to support HF2LI.
Version 21.08 (patch 1)
SHFQA: Added new nodes to select either "cyclic" or "sequential" averaging of results: /DEV.../QACHANNELS/n/READOUT/RESULT/MODE and /DEV.../QACHANNELS/n/SPECTROSCOPY/RESULT/MODE.
LabOne UI: Improved responsiveness of the Device Firmware Update dialog for MF devices
PQSC: Fixed bug where the phase between ZSync triggers and an external reference clock could be shifted by 200 ps
PQSC: Fixed bug where the time to lock to an external reference clock could take more than 5 seconds
PQSC: Fixed bug where daq.sync() runs into a timeout when switching to an invalid external reference clock
PQSC: Fixed bug where the reference clock source can fall back to internal when switching to an invalid external reference clock
PQSC: Fixed bug where the instrument reports that it correctly locked to external reference clock, but in reality it failed
LabOne API: Fixed bug in ziAPIDiscoveryGetValueS where the function would return an output only once for each property and leave the output parameter unchanged for further invocations. This bug could cause a crash for users of the LabVIEW API.
[21.02]
PQSC
Enabled ZSync link to SHF instruments
Re-enabled 10 MHz output reference clock
Updated ZSync protocol, breaking compatibility with 20.07 for triggering and feedback
Improved lock to external reference clock
Updated ZSync error stack to publish a notice instead of a warning when link is established or calibrating for the first time
Fixed an issue where the "ZSync" LED on the frontpanel is stuck
Fixed an issue where issuing daq.sync() would not wait while locking to an external reference clock
Fixed an issue where lock to external reference clock was lost after multiple days
Fixed an issue where PQSC execution engine does not stop if the reference clock output is modified
HDAWG
Added option to load factory defaults in Device Tab
Improved timestamp resolution of Pulse Counter to 300 MHz
Improved output termination on DIO connector to improve signal integrity
Added support of run-time variable arguments of the sequencer instruction playZero()
Trigger mode (ZSync/DIO) used in sequencer program is checked against device configuration
Improved compatibility check between AWG compiler version and device version
Fixed an issue where signals generated on DIO displayed rare glitches and reduced interface speed from 300 MHz to 100 MHz
Fixed an issue where DIO data was updated without DIO trigger present
Fixed HDAWG command table upload via MATLAB API
Fixed an issue where command table descriptions were not correctly parsed
Fixed an issue where pulse counter (CNT) periods were not correctly configured for non-default sampling rates
UHFQA
Added option to load factory defaults in Device Tab
Added options to bypass deskew and rotation units to reduce latency by more than 60 ns
New sequencer instruction startQA() to trigger integration and monitor simultaneously
Added new options to Signal Input Mapping to support dual-phase demodulation on a single signal input
Oscillator signals can now be enabled using the /DEV.../SIGOUTS/n/ENABLE/m nodes
Added sequencer instruction resetOscPhase() to initialize oscillator phase independently of AWG Integration Trigger
Updated to enable Scope State to be output on Trigger outputs even without the DIG option
Updated Weighted Integration units to support back-to-back integration for integration lengths >= 2048 samples
Fixed a problem where the input would appear as overloaded when switching to external reference clock
Fixed a problem where the Auxiliary Outputs were not updating correctly
New FIFO memory architecture for reliable playback of long waveforms from main memory
New command table feature for memory-efficient sequencing with real-time amplitude/phase changes. Command table version 0.2, schema available at https://docs.zhinst.com/hdawg/commandtable/v0_2/schema.
Improved output delay reproducibility for devices with HDAWG-SKW option
New sequencer instructions setPRNGSeed(), setPRNGRange(), getPRNGValue() for real-time pseudo-random number generation
New sequencer instructions waitZSyncTrigger() and getZSyncData(const data_type)
Introduced ZSync data type constant ZSYNC_DATA_RAW
Doubled instruction memory to 16'384 assembler instructions per AWG core
New sequencer instruction playZero()
New sequencer instruction assignWaveIndex() and placeholder()
Fixed an issue with slow compilation due to unnecessary loading of cached waveform data
Fixed an issue for concurrent multi-device compilation that could cause the wrong program to be uploaded to a device
Fixed an issue where setSinePhase works only on core 1
Fixed an issue where AWG execution ends prematurely in rerun mode for short programs
Fixed an issue where not all triggers over ZSync were received
Fixed an issue where playWaveDigTrigger() works only on core 1
Added /DEV.../DIOS/0/MODE to control the DIO behavior for use in a QCCS
Removed playWaveIndexed functionality
Static timing misalignment between AWG cores for non-default sampling rates
DIO not functional for non-default sampling rates
UHFQA
Added QA Results QCCS to the DIO mode
Introduced device error reporting in LabOne
Introduced SeqC constants QA_INT_0, QA_INT_1, ... , QA_INT_9, QA_INT_ALL to control the qubit readout units
New sequencer instruction setReadoutRegisterAddress(var results_address) to set the readout register address in the PQSC
New sequencer instruction waitZSyncTrigger() to wait for a trigger over ZSync
Limited number of complex data points displayed in Result tab to preserve UI responsiveness
MFLI & MFIA
IA: Added one-period averaging for impedance measurements at low frequencies
IA: Added user compensation modes "Short" and "Open"
LabOne Data Server
Fixed a performance issue with Windows 10, version 2004
Added node /ZI/ABOUT/COMMIT
LabOne User Interface
Trend plots: added the possibility to track Math readings from the Math tab over time
Added "Device Information" report to Device tab (See "More info")
Gray out demodulators when providing inputs for PID to protect against accidental changes
Added option to remove a populated vertical axis group in one event
Increased the number of decimals for PID/PLL parameters
Numerical tab: allow values to be copied from context menu
Improved colormaps available for 2D plots
Improved macOS icon
Corrected reading of tracking values in reverse sweeps
Scope tab: fixed unintential switching between linear and logarithmic axis
Fixed responsiveness when a device is restarted and connected to an existing UI session
LabOne API
Support using string aliases to set enumeration-like values
Fixed timebase saved in HDF5 files
LabOne Modules (Shared Functionality API & User Interface)
PID advisor: clamp maximum advised bandwidth to hardware limits to guard against instability
Python API
Added support of Python 3.8
Example code updated to Python 3.6+, making use of f-strings for string interpolation
MATLAB API
Improved examples such that they free instantiated modules after use
Version 20.07.2325 (patch 1)
Fixed a problem where AWG programs, which should terminate, never finish (shows busy)
Fixed a communication issue when downloading certain AWG programs in channel grouping mode
Fixed a reliability issue with Zsync link establishment
Fixed a bug resulting in potentially invalid code generation in AWG compiler
Fixed device identification (blinking LED) for MF devices in proxy mode
Fixed the peak/trough finding algorithm for reverse and bidirectional sweep in LabOne
Version 20.07 (patch 2)
HDAWG: Improved compatibility check between device and LabOne version
HDAWG: Improved AWG error reporting
HDAWG: Fixed an issue where waveform data was not loaded correctly
HDAWG: Fixed an issue where AWG channels were not correctly enabled in 4- and 8-channel mode
HDAWG: Fixed an issue where wrong code for multiplication was generated by the AWG compiler
HDAWG: Fixed an issue where the oscillator control rule was not updated correctly unless AWG program was reloaded
HDAWG: Fixed an issue with inconsistent sequencer state when channel grouping is changed
UHFQA: Fixed an issue where auxiliary outputs were not updated
UHFQA: Fixed an issue where the input overload indicators were wrongly triggered when switching from internal to external reference clock or vice versa
LabOne: Fixed an issue where the second plot of a dual plot is discarded when saving data in Sweeper Tab
[20.01]
PQSC
LabOne support for Zurich Instruments Programmable Quantum System Controller (PQSC)
Synchronized triggering of HDAWGs with ZSync
Triggering of 3rd party instruments via Trigger Out
Lock to external reference clock at 10 MHz or 100 MHz
Output internal reference clock at 10 MHz or 100 MHz
Fixed phase between internal and external reference clock
ZSync link initialization sometimes hangs (yellow LED)
HDAWG
Enable full digital IQ modulation
SeqC command resetOscPhase() added
SeqC command incrementSinePhase() added
SeqC command setSinePhase() added
Improved overall stability and predictability of the sequencer
Consistent alignment of waveform outputs in grouped mode with external trigger
New default values for sine oscillator selects: /DEV.../SINES/n/OSCSELECT
New default values for carrier oscillator selects (MF option required): /DEV.../AWGS/n/OUTPUTS/m/MODULATION/CARRIERS/k/OSCSELECT
New default values for triggers slope (rising edge): /DEV...AWGS/n/AUXTRIGGERS/m/SLOPE
New default values for triggers channel source: /DEV.../AWGS/n/AUXTRIGGERS/m/CHANNEL
New default value for AWG rerun (off): /DEV.../AWGS/n/SINGLE
New default values for DIO interface strobe: /DEV.../AWGS/n/DIO/STROBE/{SLOPE,INDEX}
New default values for DIO interface valid: /DEV.../AWGS/n/DIO/VALID/{INDEX,POLARITY}
New default values for DIO interface mask: /DEV.../AWGS/n/DIO/MASK/{VALUE,SHIFT}
Fixed jitter on DIO outputs
Soft-deprecated /DEV.../AWGS/n/OUTPUTS/m/AMPLITUDE; it now redirects to /DEV.../AWGS/n/OUTPUTS/m/GAINS/k
Added /DEV.../AWGS/n/OUTPUTS/m/GAINS/k
Removed /DEV.../DIOS/0/MODE
Timing misalignment between AWG channels in channel grouping modes 2x4, 1x8, 1x4 when getUserReg(n) is placed at the beginning of a sequence program
Timing misalignment between AWG channels in channel grouping modes 2x4, 1x8, 1x4 when operating at sampling rate other than 2.4 GSa/s
UHFLI
PID: Added option to control integrator reset on stop/restart
Added /DEV.../PIDS/n/KEEPINT
UHFQA
SeqC command startQAResult() added
SeqC command startQAMonitor() added
Added option to externally trigger signal monitoring and integration
Result Logger: Added sequential averaging mode
Improved latency for vector readout
Added /DEV.../QAS/0/INTEGRATION/TRIGGER/CHANNEL
Added /DEV.../QAS/0/MONITOR/TRIGGER/CHANNEL
Added /DEV.../QAS/0/RESULT/MODE
MFLI & MFIA
External reference mode is available for all demodulator paths
MOD: Enable simultaneous demodulation of both sidebands when carrier and sideband frequencies are provided by external references
PID: Added option to control integrator reset on stop/restart
Added /DEV.../PIDS/n/KEEPINT
LabOne Data Server
Memory footprint drastically reduced when connected to multiple instruments. This was particularly noticeable when connected to multiple HDAWG instruments causing unresponsiveness in the LabOne User Interface.
Improved handling of wildcards in node paths
Fixed spurious poll warning at the beginning of a subscribe/poll sequence ("No poll within 10 sec.")
Fixed USB communication issues (disconnect after 20 seconds and timeout due to packet size)
LabOne User Interface
Math: Added linear fit to Sweeper and DAQ
Added option to save histogram data as a CSV file
Precompensation Advisor: added import of custom waveform from CSV file
QA Result: Added complex data plot with persistence
AWG: Removed output amplitudes from the UI
Precompensation Advisor: Reduced number of client sessions
Improved usability of checkbox and radio button groups
Improved importing of saved SVG figures to main vector graphics editors
Histogram: Add option to display a normal or Rice distribution fit (only in Plotter tab with demod X, Y, R and boxcar signals)
LabOne API
Added quantum analyzer API module
Revision numbers (/ZI/ABOUT/REVISION, ziAPIGetRevision, ...) now contain the full version information as a packed decimal (YYMMBBBBB)
Improved error handling when subscribing/unsubscribing to non-existent nodes. An error is now returned instead of failing silently.
Improved error handling when a device is not connected or misspelled ("Device not found")
LabOne Modules (Shared Functionality API & User Interface)
API Log: Removed module prefix from API log entries as it is no longer
required; a descriptive name is used for the handle variable.
AWG Compiler Module: Improved stability of compiler
Precompensation Advisor: Fixed infinite recursion (crash) for certain
exponential filter amplitude coefficients
AWG Compiler Module: Fixed unpredictable behaviour when enabling AWGs
Fixed recurring ZIAPINotFoundException if the 'device' parameter was set to
an unconnected device
Python API
Added deprecation warning for users of Python 2.7 and 3.5. Future versions of LabOne will remove Python 2.7 and 3.5 support.
.NET API
Impedance flags added to ZISweeperImpedanceWave class. The results of impedance sweeps now contain impedance flags.
NOTE: This is an ABI breaking change. You need to recompile your client code.
C API
Impedance flags added to ZISweeperImpedanceSample struct. The results of impedance sweeps now contain impedance flags.
NOTE: This is an ABI breaking change. You need to recompile your client code.
Version 20.01.1335 (patch 1)
Fixed code signature of Windows MSI packages
Fixed an issue with AWG re-run on HDAWG
Version 20.01.1818 (patch 2)
Fixed an issue where HDAWG missed the first few triggers of a measurement
Fixed an issue where DIOs on HDAWG4 were not working
Version 20.01.2199 (patch 3)
Fixed a performance issue of LabOne with Windows 10, Version 2004
Fixed an issue where playWaveDigTrigger() works only on core 1 of HDAWG
[19.05]
All
Low level communication protocol changed, older versions of LabOne will not be able to communicate with devices running 19.05 firmware without downgrading them first
HDAWG
Marker output delay can be controlled in relation to the analog outputs
SeqC command waitSineOscPhase() added
Increase the sequencer program memory to 8192 instructions
Precompensation: Display of filtered waveform on the LabOne UI
Output clipping indication
Waveforms are now ordered according to the sequence in which they are defined in the sequencer program, rather than alphabetically
Restrict sequencers programs to the cache memory for improved reliability
Precompensation: improved latency reporting upon changing the sample clock frequency
Waveform viewer improvement supporting now waveforms up to 10M samples
Added check for SeqC compiler/firmware version compatibility
Fixed race condition when starting AWG after waveform upload over /DEV.../AWGS/n/WAVEFORM/WAVES/m
Added support for unicode characters in waveform (*.csv) filenames
Improved marker display in waveform viewer
Added over-temperature warning log message
Improved handling of getUserReg()-commands in AWG programs
Improved compatibility check of AWG programs
Improved speed of locking to external clock
Improved minimum configurable Sample Clock frequency to 100 MHz
Improved error reporting functionality
Improved waveform and ELF file upload stability
Fixed firmware update notifications on Linux hosts
Fixed bug where calling waitWave() could prevent any further waveform output
Fixed update of waveform list when modified program is uploaded
Fixed issue with interleaving when playing a waveform on 2 channels
Fixed status indicator in GUI
Fixed issue in AWG compiler for large waveforms (>536e6 samples)
Fixed an issue with boolean operators in AWG compiler
Fixed an issue with advanced modulation for non default AWG sampling rates
Fixed an issue where the instrument would sometimes fail to lock to external clock
Removed /DEV.../AWGS/n/WAVEFORM/DATA (replaced by by /DEV.../AWGS/n/WAVEFORM/WAVES/m); use the helper functions convert_awg_waveform and parse_awg_waveform to convert to the new format
Removed /DEV.../AWGS/n/WAVEFORM/INDEX
Added /DEV.../SYSTEM/INTERFACESPEED (USB only)
Added /DEV.../DIOS/0/MODE
Added /DEV.../SIGOUTS/n/OVER
Removed /DEV.../SYSTEM/STATUS
Removed /DEV.../AWGS/n/DIO/VALUE
Manual prefetch commands may fail if not inserted for all AWG cores
Use of sequencer instruction waitSineOscPhase() in channel grouping modes other than 4x2 on HDAWG8, and 2x2 on HDAWG4, is not prevented by the compiler
UHFLI & UHFAWG
Improved firmware update speed and reliability
Restrict AWG programs to the cache memory for improved reliability
Removed /DEV.../AWGS/0/WAVEFORM/DATA (replaced by by /DEV.../AWGS/0/WAVEFORM/WAVES/m); use the helper functions convert_awg_waveform and parse_awg_waveform to convert to the new format
Removed /DEV.../AWGS/0/WAVEFORM/INDEX
Added /DEV.../SYSTEM/INTERFACESPEED (USB only)
UHFQA
Bypass of the cross correlation matrix to improve latency
Oscillator can now be directly output on Signal Output 1 (sine) and 2 (cosine) using controls in the Signal Outputs tab
Discriminated qubit state can now be output on the Ref/Trigger and Trigger Out connectors of the instrument
Added waitQAResultTrigger() to enable the AWG to wait for qubit discrimination to complete
Added getQAResult() function to enable the AWG to read the result of the last qubit discrimination operation
Waveform viewer improvement supporting now waveforms up to 10M samples
Restrict AWG programs to the cache memory for improved reliability
Cross correlation entries can be edited on the LabOne UI
Improved deskew matrix display on the LabOne UI
Fixed an issue where the integration length was not configured correctly when switching Standard and Spectroscopy mode
Fixed an issue where the Drive of the individual DIO bits could only be changed in Normal mode
Fixed an issue where it was not possible to use setDouble to change the oscillator frequency from a SeqC program
Fixed an issue where an internal data overflow could happen when many measurement averages were acquired
Node path change: Output mixer channel indices changed from /DEV.../SIGOUTS/n/AMPLITUDES/3 and /DEV.../SIGOUTS/n/AMPLITUDES/7 to /DEV.../SIGOUTS/n/AMPLITUDES/0, respectively /DEV.../SIGOUTS/n/AMPLITUDES/1
Removed /DEV.../AWGS/0/WAVEFORM/DATA (replaced by by /DEV.../AWGS/0/WAVEFORM/WAVES/m); use the helper functions convert_awg_waveform and parse_awg_waveform to convert to the new format
Removed /DEV.../AWGS/0/WAVEFORM/INDEX
Added /DEV.../SYSTEM/INTERFACESPEED (USB only)
MFLI & MFIA
MDS: Added warning when using multiple devices with different hardware revisions
PID: Fixed result distribution - includes oscillator frequency update after PID turned off
HF2
Fixed state display of HF2CA on the LabOne UI
LabOne API
Support of vector data for modules, e.g., in precompensation module for HDAWG
Added ZI_LIST_NODES_EXCLUDESTREAMING flag to allow exclusion of streaming nodes when getting node list
Added ZI_LIST_NODES_EXCLUDEVECTORS flag to allow exclusion of vector nodes when getting node list
get() now supports comma-separated paths with wildcards
get() with a leaf-node path tries to obtain the node disregarding the flags
vectorWrite() function was renamed to setVector()
Improved get() functionality: returns data for all nodes except for streaming nodes
Improved performance of high-level get()
High-level get() no longer interferes with poll data
Improved logging of small numbers in the API command log to use exponential notation
LabOne Modules (Shared Functionality API & User Interface)
Added precompensation API module
It is no longer required to prefix the module parameter path with the module name.
Added listNodesJSON() and help() functions to API modules
Non-user-initiated get() commands issued during module initialization are no longer logged
Numeric: Fixed bug where histogram would reset every 10s
Scope: Fixed bug where clearing history would not reset record count
LabOne User Interface
Support of HDF5 file format for saving of measurement data
Loading of HDF5 measurement data from disk into the history list
macOS support
Context menus added for plots, input fields, device connection dialog
Plots can be saved in PNG format
The save interval for recording node data to disk can now be specified under Config/Record Data
Command line option to specify the number of multicast hops for device discovery
Frequency column when saving x-y plot data
DAQ: Frequency span is now updated according to selected signal when multiple signals are present
Errors during device firmware updates are displayed
Disabled live autocomplete of comments in AWG sequence editor. (Can still be enabled with Ctrl + Space.)
Code editor autocomplete and snippets are loaded per-device
IA: Compensation advisor warning for low load extended to loads below 10 Ohm
IA: User compensation will disable DC mode before calibration start
IA: Improved handling of DC impedance measurements
Improved labelling of channel grouping settings
Improved startup time
UI improvements for Safari browser
AWG: Fixed waveform viewer issue when viewing > 2000 data points
AWG: Fixed issue where markers in the Waveform Viewer were wrongly displayed
AWG: Improved handling of special characters in program code
AWG: Fixed UI freeze when channel grouping changed
AWG compiler: Fixed bug where comments could result in subsequent code being ignored
AWG compiler: Fixed crash when compiling SeqC program without playWave instruction
Fixed device identification over device connection dialog when multiple network cards are present
Device Firmware Upgrade and AWG: "Save As" dialog closed correctly when user hits the Enter key
Fixed rendering performance issue in Chrome when math tab is open
DAQ: Fixed display of trigger level when tracking edge trigger is used in reverse scanning directions
DAQ: Fixed display of trigger level when vertical cursors are moved
Sweeper: Fixed issue where sweeper would continue to sweep previously-subscribed device nodes even after unsubscribing
Fixed spinner display during firmware update
Fixed configuration data of local data servers on Linux
Fixed sidebar display when switching between devices
Fixed inclusion of settings file updates when saving to SVG
Fixed opening of error log from status bar
LabOne Data Server
Command line option to specify the number of multicast hops for device discovery
Improved device update stability
Python API
listNodes(), listNodesJSON(), and get() now support keyword arguments
Improved and cleaned up docstrings and function signatures
Module handles are released automatically when no longer used
Fixed handling of strides in non-contiguous NumPy arrays
listNodes() returns an empty list if no nodes match the specified path (instead of [''])
MATLAB API
Removed the need to set LD_PRELOAD
Added warning for module instantiation with too many parameters
Fixed issue with retrieval of string node values
.NET API
Added support for obtaining data from vector nodes when polling
C API
Removed unnecessary symbol exports
Fixed broken ziAPIGetComplexData function
[18.12]
HDAWG
USB 3.0 interface support for HDAWG devices
Support of fast node and index sweeps
Thermal shut-down in case of over-temperature
Able to lock to 100 MHZ external reference clock
Added reference clock frequency readout node: /DEV.../SYSTEM/CLOCKS/REFERENCECLOCK/FREQ
Enable sample clock (currently limited to the range of 600 MHz to 2400 MHz)
Added Error Module to collect warnings and errors from the Hardware and show them in UI and accessible by API
Sweeper module: Allow AWG index and node sweeps
Allow delay (skew) adjustement to align output waves
SeqC command prefetch() added. Uses the same channel/wave arguments as playWave()
SeqC command prefetchIndexed added. Uses the same channel/wave arguments as playWaveIndexed()
SeqC "" (empty string) can be used as dummy waveform in playWave to alter AWG output assignment
SeqC command randomSeed() added to force a new seed for the subsequent random wave commands
SeqC commands setInt() and setDouble() to write to nodes from AWG program
Added pre-compensation feature for compensating for external imperfections in the signal chain such as bounces, low-pass and high-pass effects
SeqC command rand() deprecated, use randomGauss() or randomUniform() instead
Improved AWG pattern download speed
Improved alignment of marker bits and analog output signal
Higher fan speed for v1 hardware to achieve better temperature margin
Improved stability when compiling and downloading large AWG programs (solves disconnects)
Trigger-to-output latency below 50 ns when using playWaveDigTrigger() with one channel pair
Trigger-to-output latency below 180 ns when using waitDigTrigger() from any input to any output
Increase maximum streaming rate for trigger and counter streams
MDS in AWG module: Stacking of several HDAWGs is possible
MDS: Improved MDS accuracy to be better than 1 ns
MDS: AWG Output now allows mixed 4 channel and 8 channel HDAWG stacks
Fixed firmware startup behavior for static ip configuration if network cable is disconnected
AWG: Fixed playback interruptions and jitter on long waveforms
Fixed external reference clock locking after switching between external and internal consecutively
Reduced temperature drift between channels if only some outputs are active
Fixed device disconnects due to kernel crash
The timing between consecutive playWave commands and playWaveNow commands separated by wait commands has changed and must be rechecked by the user
Sample clock will only have a fixed delay in relation to the reference clock if the following two conditions are fulfilled:
(Sample clock frequency is denoted f_s, reference clock frequency is denoted f_r, and gcd denotes the greatest common divisor operation)
f_s/16 > f_r
f_s/16/gcd(f_s/16, fr) <= 63
In addition, to make sure the delay is repeatable across instrument startups, the following condition must be fulfilled: f_s/f_r/16 must be an integer value
UHFLI & UHFAWG
AU: Fixed scaling for polar arithmetic traces in scope
AWG: setRate command sets rate immediately, instead of only when a channel assignment changed
UHFAWG DIO Tab: Clock select shows ""
UHFQA
Initial enabling of UHFQA device for LabOne
HF2LI & HF2IS
RT: Fixed silent failure of loading memfile
Fix for overwritten demodulator bandwidth by the PID bandwidth during a device reconnect
MFLI & MFIA
Scope: DIG option now has access to "TU n Output Value"
MDS: Improved precision of timestamp synchronization
IA: Improved handling of user compensation in 4T mode for small DUTs e.g. < 10 Ohm
IA: Improved output range handling during user compensation
Improved stability of flash drive handling
Improved USB stick support for special formats
DIG: Fixed occasional channel swapping on large recordings
IA: Fix for crash when uploading a user compensation if the device is in proxy mode
LabOne Data Server
Improved udev rules handling for USB devices under Linux
fixed for broken ziDiscoveryUtil.exe on Windows 7
LabOne Modules (Shared Functionality API & User Interface)
Saving and Loading Settings from and to multiple synchronized devices
DAQ Module: implement full MDS support
/DEV.../SYSTEM/IDENTIFY node available on all devices except HF2 triggering a frontend LED blinking
Support of string vector nodes
Support of complex data types (setComplex, getComplex, poll)
NaN values instead of suppressed data streaming during autorange or calibration (must be enabled by API user)
Enabled sinc filter support in manual mode for non-frequency sweeps
AWG Module: Various improvements when working with long and/or complex waveforms
AWG Module: Progress report improvement when multiple cores are in use
Overwriting an old settings file now removes unused nodes
History list becomes read only if autosave is enabled
Improved clamping of integer module parameters
AWG: Improved stability when compiling long sequencer programs
Sweeper: Fix for "Illegal order for demodulator" warning when loading settings with fixed 3dB BW
Fixed empty result when consecutive string vectors transfers are executed on the same node
MDS: Improved overall stability of the module
AWG Module: Saved scope shots can be loaded again
Properly load PWA with disabled interlock input
Spectrum Module: Auto Save now saves the history list upon every change
LabOne User Interface
Support of multiple devices on the same user interface
Spectrum: Display of FFT phase
Device identification possible even without being connected to the device
Command line option --dir-watching to disable directory watching functionality of file manager
Math: Labeling of troughs in sweeper math
MDS: Device connection can now also be performed on the MDS tab
Manual check for update availability on session dialog
Chinese translation of tooltips
Numerical Tab: Display of device serial in path
Numerical Tab: Added missing mouse actions for zoom and double click
Better visualization of success and error in dialogs
Plot axis tracking only supported for x/y-plots
Improved scroll behavior on the session dialog
Config Tab: Reordering of control elements to achieve a better space usage
Improved handling of special characters in user and host names
Improved stability when loading corrupt setting files
Command log contains discovery code at beginning of a session
Command line option for resource path no longer needed on Linux with default installation
Improved rendering by removed blank frames during zoom / cursor events
The start of multiple instances of web servers are only blocked when using the same port
Improved axis rescaling for 'rescale axis to data' for the plotter
Scope: Improved axis full scale update on signals change
Starting the Webserver manually on Linux finds the resource folder in the standard path automatically
IA: Impedance max bandwidth and omega suppression were not correctly loaded for setting files
IA: Fix for illegal 'different representation' warnings in plotter
Spectrum: Fixed frequency range in plotter for very small frequency spans
Spectrum: Fix for unresponsive UI when closing spectrum tab
Correct trigger level adjustments for logarithmic plots for scope and DAQ tab
Loading dialog closes correctly when setting file doesn't contain tabs
No devices visible if web server is started in discovery off mode (--discovery 0)
Soft shutdown on MF and HDAWG devices now reliably shows turn-off dialog
Fixed DAQ module crash upon subscribe() if module is already enabled
API command log properly escapes special characters for Windows
Python API
ziPython API is now available as wheel file. See https://pypi.org/project/zhinst/ for more information
Support of Python 3.7 (also on macOS)
MacOS: Support of other Python environments than System Python
Check that proper numpy is installed
MATLAB API
Changed "uhf_example_awg.m" and "hdawg_example_awg.m" to not rely on DSP toolbox anymore
Labview API
Improvements of several ziLV examples
Fixed connection handling in case of an error during getDemodSample
.NET API
MDS: Example for multi device synchronization (MDS) added
C API
MDS: Example for multi device synchronization (MDS) added
ziControl
PID: Monitor values do not initialize correctly
MOD: Osc frequency toggles between Osc and sideband frequency when MOD is enabled
Patch Version 18.12.1 Revision 59107
Fixed crash of LabOne UI when confirming message dialog on HF2
Fixed crash when using LabOne with unusual locale settings on Windows
Fixed superfluous scaling in Python example for UHFQA
Patch Version 18.12.2 Revision 59443
Fix for connection problems on HDAWG
Fix for wrongly displayed marker bits in AWG waveform viewer
Patch Version 18.12.3 Revision 60796
Stability fix for device discovery
[18.05]
HDAWG
LabOne support for Zurich Instruments HDAWG4 and HDAWG8 devices
UHFLI & UHFAWG
AWG: Fix for PID controller with AWG output gain as an output
AWG: Correct index assignment for waitAnaTrigger and waitDigTrigger
AWG: Fix for broken index sweep
AWG: Level triggering not supported on analog trigger sources of AWG
HF2LI & HF2IS
PID: Support of set point control over Aux In on the LabOne UI
PID: Support default output enable and value on the LabOne UI
MFLI & MFIA
MDS: Support of oscillator phase and sampling alignment between MDS synchronized devices
Impedance: Added Aux In channels as voltage/current source for impedance
WIFI: Wifi settings are stored persistent on the device
WIFI: Fixed sample loss when wifi is enabled
LabOne Modules (Shared Functionality API & User Interface)
Sweeper Module: Support of auto bandwidth mode for non-frequency sweeps
Sweeper Module: Improved sinc control for non-frequency sweeps
PID Advisor: Increased stability by restricting target bandwidth to valid region
MDS Module: Improved handling of synchronization groups if groups are changed
AWG Compiler Module: Improved stability of pattern compilation
AWG Compiler Module: Support of compound assignment operators (+=, -=, *= etc)
AWG Compiler Module: Fixed handling of markers for circshift
Data Acquisition Module: Fix for broken force trigger parameter
LabOne User Interface
Auto save functionality for plots with history list
Image rendering on LabOne supports high resolution monitors (4K)
Removed /DEV.../PLLS/n/PGAIN replaced by /DEV.../PLLS/n/P
Removed /DEV.../PLLS/n/ITIMECONSTANT replaced by /DEV.../PLLS/n/I
Removed /DEV.../PLLS/n/DTIMECONSTANT replaced by /DEV.../PLLS/n/D
Conversion between values of the old PGAIN and the new P node can be done using the formula
P = 0.5 * PGAIN.
Conversion between values of the old ITIMECONSTANT and the new I node can be done using the formula
I = 0.5 * PGAIN/ITIMECONSTANT.
Note that the conversion requires the old PGAIN value.
Conversion between values of the old DTIMECONSTANT and the new D node can be done using the formula
D = 0.5 * DTIMECONSTANT*PGAIN.
Note that the conversion requires the old PGAIN value.
LabOne Data Server
Device discovery support for HF2 and UHF devices
Support of multiple network card setups with UHF
Fixed for --help command line option
LabOne User Interface
Network device discovery to support connection to all ZI devices on the same user interface
Single HW trigger lines can be displayed in plotter
PID advisor: Stable indicator for internal PLL at 45 degree
Improved resource locking indication when using the PID
Improved command logging format for setInt commands
Recording data gives information on saving queue and improved reporting
Debug tab renamed to ZI Labs
Better functionality matching in graphical lock-in tab
Improved stability for IP configuration
Correct unit for current noise sweeps
Improved unit display for complex user units in combination with spectral density
Improved stability of command logging when using special characters
Sweeper and spectrum results saved with UI contain empty fields
Scope: Fix for displaying two traces
LabOne API
SW Trigger: Support of all data types with timestamp
Improved error reporting over API boundary
Network discovery for UHF and HF2 devices
Change of API module path 'savepath' to 'directory'
Improved directory handling for API modules
Fix for missing typedef in ziAPI.h
Path names within modules are now case insensitive
Fix for incorrectly saved timeconstant values when used in auto mode
ziPython
ziDAQ
Error message when using a unsupported MATLAB (< R2013b) version under Linux
Fixed crash when using logOn command
ziLV
Support of SW Trigger Module
Added Sync vi for synchronization
Example improvements
Improved stability under Linux and Mac OS X
Dual-channel scope streaming improved
ziControl
PLL: Offer both "P, I" and "P, Timeconstant" notation
MOD: Offer "Peak F Deviation" and "Index of Modulation" for FM generation
MOD: Rework MOD option to be like UHFLI
Preamplifiers: improved user experience upon plugging and unplugging of HF2TA and HF2CA
Adjustments under the hood to account for node tree changes (see above, "HF2LI&HF2IS")
LI: Fixed problem with linked Demod Settings
PID Advisor: 2nd order LP takes resonance frequency and not 3dB bandwidth
[15.05]
UHFLI
Support of input signal scaling for scope, demodulators, and pid
Presets saved on the instruments to operate the device stand-alone without PC connection
DIG: Improved transfer performance for segmented data
Disabling of sinc filter when ExtRef is enabled
Phase Streaming data of scope and PID in radians
Improved precision of width and reduced jitter on Trigger Out when outputting Scope Trigger, Armed and Active
MFLI
LabOne support for Zurich Instruments MFLI devices
File transfer over the User Interface only supported up to 2GB per file
Triggering demodulators using Trigger In 1 or Trigger In 2 not working
HF2LI & HF2IS
LabOne Data Server
Improved performance of sync(), syncSetDouble(), syncSetInt() commands
Improved stability during UHFLI device calibration
Fixed memory leak on special nodes
Fixed race between device disconnect and session connect
LabOne User Interface
Graphical Lock-in tabs to display lock-in functionality and signal routing dynamically
File Manager: New tab for direct access of measurements, settings, and log files
Support of input signal scaling
Secured handling of special characters on input fields
Improved number resolution when saving CSV files
Fixed memory leak on browser when session dialogue is idling
Scope: Fix for broken persistence by 15.01 release
Sweeper: Fix for broken bidirectional sweep
Deleting the setting directory causes web server to go into endless loop on Windows
Unit display for plots with complex unit strings may not correctly handle the input unit
LabOne API
C API support for sweeper, software trigger, PID advisor, and spectrum modules
Device discovery object to detect host names of devices connected over TCP and USB
PID Advisor: Model supports input scaling
Sweeper: Improved sweeper start performance
SW Trigger: Fixed hardware trigger line selection
PID Advisor: Correct model for resonator amplitude
Sweeper: Secured against multiple execute() calls
Sweeper: Avoid sweeper dead-locks by limiting sweep to max frequency
Added /DEV.../SIGINS/n/SCALING
Added /DEV.../STATS/CPULOAD
Added /DEV.../STATS/MEMLOAD
Added /DEV.../STATS/DATASERVERCPULOAD
Added /DEV.../STATS/DATASERVERMEMLOAD
ziPython
ziDiscovery object to retrieve IP address, port, and API level for a device
ziDAQ
Discovery methods to retrieve IP address, port, and API level for a device
SW Trigger: Fixed crash when data loss happens during recording
ziLV
beta 32-bit ziLV support for OSX
Added modules support in ziLV
Sweeper: Support of the sweeper module in ziLV
PID Advisor: Support of the pid advisor trigger module in ziLV
Spectrum: Support of the spectrum module in ziLV
ziOpen.vi: Simplified user interface and added discovery methods to retrieve ip address, port, and API level for a device
DIG: Hold-off specified as number of trigger events
DIG: Support of boxcar, demodulator, and pid data recording
DIG: Cross domain triggering for scope based on boxcar, demodulator, and pid data
Boxcar: Reporting of the current data streaming rate
AU: Support of multiplication
AU: Support of boxcar data
AU: Overflow indicator
Trigger: Pulse width for trigger output signals
AU: Several bugfixes for scaling and zero flag
ExtRef: Improved stability
HF2LI & HF2IS
Selecting the external 10 MHz reference clock when no signal is present no longer causes device restart.
ZSync port now allows the timestamps of two or more HF2LI devices to be synchronized using the /DEV.../SYSTEM/SYNCENABLE
and /DEV.../SYSTEM/SYNCRESET nodes.
LabOne Data Server
Fixed directory permissions on Linux
LabOne User Interface
PID: PID advisor
Sweeper: Indicator for estimated sweep time
Scope: Spectral Density for FFT of Scope Data
Scope: Support of different FFT window functions
Start-up screen can be skipped by enabling the 'Auto Start' flag
Double click on device or settings on the session dialogue will start a new session
File upload for setting files (drag&drop or file dialogue)
Improved user interface start-up time
Improved handling of memory allocation errors
Node indexes are all one references on the user interface
Improved rendering of data stream gaps on plotter
Saving at least one data point for each node during recording
Scope: Significantly improved rendering speed of large scope shots
Sweeper: Improved memory resource usage
Improved saving of SVG figures
Scope: Log x-axis not working
Fix for missing input fields at UI start-up
dBm signal output is off by 6dBm
Vertical cursors cannot be moved below 1e-15 for power display modes
Scope power spectrum y-axis scaling is wrong
WebServer doesn't release memory when streaming data to CSV
Spectrum: FS works not correct with log x-axis
LabOne API
PID: PID advisor
Input auto range support on API level /DEV.../SIGINS/n/AUTORANGE
MATLAB files not readable in octave
Added /DEV.../TRIGGERS/OUT/n/PULSEWIDTH
Added /DEV.../SCOPES/0/TRIGHOLDOFFCOUNT
Added /DEV.../SCOPES/0/TRIGHOLDOFFMODE
Added /DEV.../SCOPES/0/CHANNELS/n/LIMITLOWER
Added /DEV.../SCOPES/0/CHANNELS/n/LIMITUPPER
Added /DEV.../SCOPES/0/TRIGGATE/ENABLE
Added /DEV.../SCOPES/0/TRIGGATE/INPUTSELECT
Added /DEV.../SCOPES/0/TRIGREFERENCE
Added /DEV.../SCOPES/0/TRIGDELAY
Added /DEV.../SCOPES/0/STREAM/ENABLES/*
Added /DEV.../SCOPES/0/STREAM/RATE
Added /DEV.../SCOPES/0/STREAM/SAMPLE
Added /DEV.../SIGINS/n/MIN
Added /DEV.../SIGINS/n/MAX
Added /DEV.../SIGINS/n/AUTORANGE
Added /DEV.../BOXCARS/n/RATE
Renamed /DEV.../BOXCARS/n/TARGETRATE to /DEV.../BOXCARS/n/LIMITRATE
Removed /DEV.../PLLS/n/AUTOCOEFF
Obsolete /DEV.../SCOPES/0/TRIGPREDELAY (replaced by /DEV.../SCOPES/0/TRIGDELAY)
ziPython
ziDeviceSettings utility functions to load and save XML setting files
Scope: (API Level 4) returns consistent block wave for single and double channels.
Breaking change in Python API default single channel scope data:
one block/shot previously available in data['/dev.../scopes/0/wave'][0],
now it must be indexed as data['/dev.../scopes/0/wave'][0][:,0]
ziDAQ
ziDeviceSettings utility functions to load and save XML setting files
ziLV
Scope: added support for new scope data type (API Level 5)
Improved memory consumption by redesigned ziHandle
ziControl
Sweeper: fixed suffix of saved config file
Save Data: now also works for demodulator sample rates <1Hz
Linux Installer: Improved Scientific Linux and Redhat compatibility
[14.08]
UHFLI
Arithmetic Unit
Scope: Support for dual channel @ 1.8GHz (UHF-DIG)
Scope: Segmented recording (UHF-DIG)
Scope: Relative hysteresis support
PID: High-frequency limit on D (D limit timeconstant)
PID: Phase unwrap
MOD: Phase, timeconstant, and order adjustment for side bands
Sinc filter
Aux Out: PID shift data streaming
Boxcar: Boxcar gate width internally based on time / samples and no more phase
Boxcar: Boxcar result in V and no more Vs
Scope: Trigger level functionality changed for both edge mode
Scope: Improved trigger jitter for scope rates < 1.8GHz
Scope: Stability improvements
Scope: Trigger hysteresis can be specified absolute or relative
Scope: Reduced dead-time between scope shots by simultaneous recording and data transfer
PID: Input data rate fixed to 14MHz
Scope: Switching sampling rate for large sample length doesn't cause long delays
MOD: Output amplitude is no more forced when not selected
HF2LI
LabOne Data Server
No streaming data transfer during automatic calibration at start-up
More restrictive firewall rules
Improved wildcard handling on paths
getAsEvent does no more silently subscribe
LabOne UI
Scope: Trigger level indicators and adjustment in plot
Scope: Multi-wave support
SW Trigger: Trigger level indicators
SW Trigger: Tracking pulse trigger added
SW Trigger: Filter curve shown as dashed line
PWA: Indication of boxcar gate and baseline range
PWA: Total harmonic distortion calculation in cursor math
Aux Out: PID shift and Arithmetic Unit signal sources
Sweeper: Sinc support
Sweeper: Support for pid, boxcar, arithmetic unit data
Sweeper: Selection of order to use in auto or fixed bw mode
Sweeper: Reverse scan direction support
Sweeper: Maximum bandwidth can be specified
Sweeper: Additional application modes for 3-omega and sinc FRA
User preferences for UI style and format configurations
Signal out of visible range indicators on all plots
One axis zoom rectangle
Chrome browser: Support for drag-out of downloads
Sweeper: Multi-wave support
Sweeper: Demodulator settling time is now specified in inaccuracy amount (instead of number of timeconstants)
SW Trigger: Multi-wave support
SW Trigger: Trigger level functionality (hysteresis instead of two levels)
Scope: Improved averaging and persistence refresh handling
Scope: Invalid scope shots are indicated by yellow trigger LED
Double click on plot area resets to full scale
PWA: Improved FFT data display
MOD: TC, BW, NEBW control enabled
MOD: Improved hardware resource locking
Sweeper: BW can now be adjusted in timeconstant units
Improved group control in multi-wave selection
Active wave selection to control cursor math wave usage
Improved unit handling
Sweeper: Missed results if demodulators and other signals swept together
Sweeper: Using the sweeper on nodes without native timestamp will no more hang
Spectrum: Fixed filter compensation for signal power display
Scope: Fixes for very long rendering times causing unresponsive behaviour
API
Sync function
Compiler warnings fixed
Fixed link errors with gcc 4.6
Fix for gcc -x c usage
echoDevice supported but deprecated
Removed /DEV.../SYSTEM/EXTCLKSQUARE
Added /DEV.../PIDS/n/DLIMITTIMECONSTANT
Added /DEV.../PIDS/n/PHASEUNWRAP
Added /DEV.../PLLS/n/DLIMITTIMECONSTANT
Added /DEV.../AUCARTS/*
Added /DEV.../AUPOLARS/*
Added /DEV.../MODS/n/CARRIER/ORDER
Added /DEV.../MODS/n/CARRIER/HARMONIC
Added /DEV.../MODS/n/CARRIER/TIMECONSTANT
Added /DEV.../MODS/n/CARRIER/INPUTSELECT
Added /DEV.../MODS/n/SIDEBANDS/m/ORDER
Added /DEV.../MODS/n/SIDEBANDS/m/HARMONIC
Added /DEV.../MODS/n/SIDEBANDS/m/TIMECONSTANT
Added /DEV.../MODS/n/SIDEBANDS/m/INPUTSELECT
Added /DEV.../SCOPES/0/FULLSCALE
Added /DEV.../SCOPES/0/SEGMENTS/COUNT
Added /DEV.../SCOPES/0/SEGMENTS/ENABLE
Added /DEV.../SCOPES/0/TRIGHYSTERESIS/RELATIVE
Added /DEV.../SCOPES/0/TRIGHYSTERESIS/ENABLE
Added /DEV.../SCOPES/0/TRIGFORCE
Added /DEV.../BOXCARS/n/PERIODOVERFLOWEVENTS
Renamed /DEV.../SCOPES/0/TRIGHYSTERESIS to /DEV.../SCOPES/0/TRIGHYSTERESIS/ABSOLUTE
Renamed /DEV.../STATS/PHYSICAL/*BOARD/*TEMPS/* to /DEV.../STATS/PHYSICAL/TEMPERATURES/*
Renamed /DEV.../STATS/PHYSICAL/*BOARD/CURRENTS/* to /DEV.../STATS/PHYSICAL/CURRENTS/*
Renamed /DEV.../STATS/PHYSICAL/*BOARD/*VOLTS/* to /DEV.../STATS/PHYSICAL/VOLTAGES/*
Renamed /DEV.../SYSTEM/*BOARDREVISION to /DEV.../SYSTEM/BOARDREVISIONS/*
Removed /DEV.../PIDS/n/DSHIFT
Removed /DEV.../MODS/n/ORDER
Removed /DEV.../MODS/n/TIMECONSTANT
Removed /DEV.../MODS/n/INPUTSELECT
Removed /DEV.../MODS/n/SEGMENT
Removed /DEV.../SIGOUTS/SYNCFALLING/*
Removed /DEV.../SIGOUTS/SYNCRISING/*
ziPython
Sync command
PLL advisor module
MSI installer to support unattended installations
Example improvements
SW Trigger: Path name changes for trigger levels
Sweeper: Paths for maxbandwidth and omegasuppression
ziDAQ
Sync command
PLL advisor module
Example improvements
SW Trigger: Path name changes for trigger levels
Sweeper: Paths for maxbandwidth and omegasuppression
ziLV
Example improvements
ziGetEventByteArray now working on UHF
ziControl
Sweeper: HF2IS: Save Impedance in Scribner ZView format
Sweeper: Speed up of sinc mode sweep
Sweeper: Several settling time bug fixes
Added ziHF2TipProtect and ziHF2QControl executables to installer package
Save Data Filename: date is now prepended instead of appended
HF2LI: Output Amplitude is now re-enabled (/DEV.../SIGOUTS/n/ENABLES/m) when previously disabled by API
UDP port assignment per device starting from port 8013
Trigger: Trigger 3/4 termination swapped
Ethernet: Reconnect after cable disconnect
HW Trigger: Mode High/Low are scrambled
Scope: Switching sampling rate for large sample length may cause long delays
HF2LI
MOD: Fixed calculation of index of modulation
PID: Fixed calculation of MOD sidebands
LabOne Data Server
Support of multiple devices per server
Device connect/disconnect without server restart
PID and boxcar data streaming
Indication of required FW update
Improved memory release
Speed optimization
Data Server restricted to localhost connections (set /ZI/CONFIG/OPEN to 1)
If several NICs are in a PC the multicast may sent over the wrong one
LabOne UI
Start-up screen with device and setting selection
Support of device connect/disconnect and change
Cursor Math (with copy&paste of values)
CSV transfer to other applications (Excel, ...) via LiveLink
Histograms
Error reporting on the user interface
Dual channel scope up to 512MS (requires UHF-DIG Option)
Plotter: Support for PID and boxcar streaming data
Footer: More information for next calibration indicator
Lock-in: 50Ohm/HiZ target impedance on output
Lock-in: Amplitude includes target impedance
Lock-in: Vpk, Vrms, dBm support
Cursor: Relative cursor
Session settings saved at exit (for recovery)
Num: Fix for speed limitation
Num: Support for PID and boxcar streaming data
Sweeper: Unbiased standard deviation
Sweeper: Speed increase down to 6ms per sweep point
Save: Same directory structure for mat and csv files
Improved log messages
Mouse wheel does only change value when pointer on element
Fixed load/save settings
Several fixes related to units handling
Save: Proper start/stop behaviour
PWA: Tracking cursor value wrong for Freq Domain FFT mode
API
Programmer's Manual (PM)
Performance and stability improvements
Standard deviation reports unbiased values (before biased values)
Scope: UHF support
Faster command execution time
HW Trigger: Included in demodulator data
SW Trigger: Trigger support on HW trigger lines
Sweeper: Fix for very small sweep steps
Sweeper: Fix for higher harmonics at low frequencies (mHz)
Static API linking no more supported
Added /DEV.../SIGOUTS/n/IMP50
Added /DEV.../PIDS/n/OVERFLOW
Added /DEV.../PIDS/n/STREAM/RATE
Added /DEV.../PIDS/n/STREAM/DECIMATION
Added /DEV.../PIDS/n/STREAM/VALUE
Added /DEV.../PIDS/n/STREAM/ERROR
Added /DEV.../PIDS/n/STREAM/SHIFT
Added /DEV.../BOXCARS/n/BASELINE/*
Added /DEV.../BOXCARS/n/AVERAGERBANDWIDTH
Added /DEV.../INPUTPWAS/n/INPUTINTERLOCK
Added /DEV.../SYSTEM/CALIB/NEXT
Added /DEV.../SYSTEM/CALIB/CALIBRATE
Added /DEV.../SYSTEM/JUMBO
Added /DEV.../SYSTEM/SAVEPORTS
Added /DEV.../SYSTEM/PORTUDP
Added /DEV.../SYSTEM/PORTTCP
Renamed /DEV.../BOXCARS/n/ADCSELECT to /DEV.../BOXCARS/n/INPUTSELECT
Renamed /DEV.../TRIGGERS/FRONT/n/DRIVE to /DEV.../TRIGGERS/OUT/n/DRIVE
Renamed /DEV.../SYSTEM/NICS/*/*
Renamed /DEV.../CONN/OWNER to /DEV.../SYSTEM/OWNER
Renamed /DEV.../CONN/ACTIVEINTERFACE to /DEV.../SYSTEM/ACTIVEINTERFACE
Removed /DEV.../SAMPLES node
Removed /DEV.../TRIGGERS/n/IN/VALUE
Removed /DEV.../PIDS/n/AUTOCENTER
Removed /DEV.../CONN/CONNECT
ziPython
Documentation
Fixed support of flat dict
ziDAQ
Documentation
ziLV
Renamed API from "Zurich Instruments HF2" to "Zurich Instruments LabOne"
Added polymorphic vi's for set and get data
PWA: Added support for periodic wave form analyzer (PWA)
Boxcar: Added support for boxcar averager (BOX)
Scope: Added support for UHFLI Scope
Added example for 3-omega method
Added examples for UHFLI
Improved documentation
Fixed Ticks-> conversion for UHFLI
ziControl
HF2IS: Demodulator filters can now be configured in time constant or bandwidth
Sweeper: Support of Setpoint of a PID controller
Sweeper: Now doesn't restore initial frequency when sweep is finished or stopped
Sweeper: Auto BW on now suppresses omega-components
HF2IS: Spectroscope can now also display Z data
Reduced CPU usage after start of program
HF2LI Scope: Trigger Level on Signal Output was not working
Sweeper: In save file the default unit column was not averaged if averaging was enabled
PLL: Auto-bandwidth mode fixed
Load Settings: PLL auto-center not restored correctly if off in the settings file but currently on
[13.10]
UHFLI
USB interface support
Boxcar Averager and Periodic Wave form Analyzer (jitter free averaging scope) on Signal Inputs
Periodic Wave form Analyzer on Boxcar outputs
Integrated Tandem demodulation (full support of Auxiliary Input and Output signals as demodulator inputs)
Scope supports sampling rates down to 27kS/s
Changed meaning of colors of the power LED
LabOne Data Server
Improved ziDataServer performance and stability
ziDataServer is not installed if HF2 is deselected
Installer fails if firewall service is not running
Crash on Ctrl + C
LabOne UI
Plotter: Vertical axis groups in the plotter supporting the display of boxcar, hw trigger, and various other signals
Lock-in: Phase to zero adjustment
Lock-in: Output Amplitude setting in V and dBm
Lock-in: Support of edge and gating triggers
Aux: Automatic adjustment of Preoffset and Offset to zero outputs
Sweep: Additional sweep parameters
PLL: Center point adjustment for PLL
UI: up/down arrows for fast increase/decrease of values
SW Trigger: Triggering on Ref/Trigger lines
Spectrum: Higher number of samples for FFT spectrum to suppress windowing effects
Spectrum: ZoomFFT renamed to Spectrum
Spectrum: Spectral density and power calculation on FFT spectrum
Num: Increased font size for numerical values
Lock-in: To nearest value rounding of sampling rate
Scope: Improved triggering if dual edge trigger is enabled
Scope: Scope and FFT are now integrated on a single tab
PID: simultaneous operation of all 4 controllers at a rate of 14 MSa/s
Plotter: Fix of plotter data shifting artefacts
Sweep: Improved sweep speed and support for odd configurations
UI: Unified directory structure for both MATLAB and CSV data saving
UI: Improved design and drag & drop functionality for tabs
UI: Improved stability of zoom/autoscaling for extreme limits
UI: Chaining is only applied once and transfers last changed value (solves update storms)
UI: SVG saving of dual plots only saves the lower plot
Lock-in: Aux In 2 disappears
SW Trigger: Returns twice the data for subsequent 'execute'
API
Timestamp support on double and integer values (API4 mode)
LabVIEW 64-bit support
Added hwtrigger field to the demod sample structure (lowest 4bits for the trigger lines)
Added PWA data type to APIs
Clean-up of ziAPI.h
Improved examples running on all device types
LabView: hwtrigger not available in sample data
LabView: PWA data type not available (no API4 level support)
Renamed /DEV.../STATS/TCP/* to /DEV.../STATS/CMDSTREAM
Renamed /DEV.../STATS/UDP/* to /DEV.../STATS/DATASTREAM
Removed /DEV.../STATS/USB/*
Renamed /DEV.../SYSTEM/NICS/* to /DEV.../SYSTEM/NICS/0/*
Added /DEV.../CONN/ACTIVEINTERFACE
Added /DEV.../SYSTEM/NICS/0/JUMBO
Added /DEV.../SYSTEM/FWLOG
Added /DEV.../SYSTEM/FWLOGENABLE
Added /DEV.../STATS/PHYSICAL/FANSPEED
Removed /DEV.../SYSTEM/NICS/SAVEMAC
[13.06]
UHFLI
Number of demodulators increased from 6 to 8
Auto re-calibrate after 20 minutes warmup
External reference moved from demodulator 7 to 4
Default output enable moved from demodulator 7 to 4
Several bug fixes and improvements in MOD option
Increased network stability and reconnect behavior
Improved Ext Ref performance
PLL/PID: increased max bandwidth
LabOne UI
One-click start of LabOne GUI
Sweeper: added Bode plot
Sweeper: measurements referencing against saved data / history
Save/Load Settings feature fully supported
Renaming of servers (LabOne Data Server and LabOne Web Server)
General improvement of look and feel
Lock-in: major improvements on Lock-In tab
Improved status bar
Stability and performance improvements on Sweeper, ZoomFFT, and SW Trigger
API
Due to the new 8 demodulator scheme, customer API programs may need to be adapted
Wrong button image scaling under browser zoom for Firefox versions equal or older than 22.0
LabVIEW: Fixed various UHFLI compatibility issues in sweeper and examples
Improved error messages
[13.02]
UHFLI
Added MOD Option for sideband analysis
Scope level trigger
Many PID/PLL enhancements
External reference support on Ref / Trigger inputs
Auto-range on Signal Output
Auto-zero phase adjustment
LabOne UI
Improved look and feel
Persistence mode on scope
Sweeper, SW Trigger: Select waves to display and individually set colors or names
Stability and performance improvements on Sweeper, ZoomFFT, and SW Trigger
Additional functionality on Numerical Tab
Averaging on FFT and ZoomFFT
Unit support
Command log added
Saving of MATLAB and .csv files
PLL Advisor
Save ASCII files with structure
Automatic level find on SW Trigger
Additional status information in the status bar
At least one demodulator must be enabled to get proper refresh functionality on browser
Browser resizing will reset some read-only elements
Number of displayed entries on the history is restricted to 100
Missing functionality on some buttons in ZoomFFT tab
MATLAB data files may contain additional structure levels
API
API examples added
Interface change: The API read of sweeper, zoomFFT, and SW trigger return cell arrays of measurements for MATLAB and lists for Python. Therefore, data access to the structure needs an additional indirection.