Ulm-IQO / qudi-iqo-modules

A collection of qudi measurement modules originally developed for experiments on colorcenters in semiconductor materials.
GNU General Public License v3.0
12 stars 29 forks source link

[Bug] Sequence generator analog levels not updated #102

Open timoML opened 1 year ago

timoML commented 1 year ago

Version

current main

What is affected by the bug?

The sequence generator holds a copy of __analog_levels to calculate the swing of any analog output. The __analog_levels get set by sequencegenerator.set_pulse_generator_settings(). However, if a script or external manufacturer software is changing the levels (without a call to this method), samples might no be created with the correct amplitude. Probably it's enough to call _read_settings_from_device() before creating waves.

When does the bug occur?

Changing a pulser's physical amplitude settings by external script.

How do we replicate the issue?

Eg. with Keysight AWGs:

  1. Sample a waveform
  2. Change the ampliute settings in the front panel
  3. Sample waveform again

Expected behavior

The waveforms should have the physical amplitude set in the "predefined methods" tab.

Relevant log output

No response

Additional Comments

No response

Contact Details

timo.joas@uni-ulm.de

Neverhorst commented 1 year ago

Hi @timoML ,

the extra settings buffer in the hardware module was introduced by me specifically for the Tektronix AWG70k series. The reasoning was that this setting is needed quite frequently in the pulsed toolchain and a hardware query of the pulse generator settings (sample rate, voltages, marker levels, etc.) is quite slow on these devices. Since you can change all these settings from qudi, I thought this would be the lesser evil because you do not need to use the vendor software directly. But if it proves to be a problem for users, it needs to be changed.