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] missing documentation on FastCounterInterface constraints #159

Open qku opened 1 month ago

qku commented 1 month ago

Version

current main

What is affected by the bug?

The constraints for fast counter hardware are a dictionary. The keys are nowhere specified however. Therefore I am having difficulty in writing a hardware module implementing the FastCounterInterface.

When does the bug occur?

not applicable

How do we replicate the issue?

not applicable

Expected behavior

The structure of the dictionary returned by get_constraints() is documented in the interface, e.g. in the docstring of this method.

Relevant log output

No response

Additional Comments

Looking through existing hardware implementations, I could find the following keys in FastComtec:

constraints['hardware_binwidth_list'] = list(self.minimal_binwidth * (2 ** np.array(np.linspace(0,24,25))))
constraints['max_sweep_len'] = 6.8
constraints['max_bins'] = 6.8 / 0.2e-9

If this implementation is correct, the docstring for get_constraints() is actually incorrect, since it states:

The items of the keys are again dictionaries which have the generic dictionary form: {'min': , 'max': , 'step': , 'unit': ''}

Only the key 'hardware_binwidth_list' differs, since they contain the list of possible binwidths.

Contact Details

No response

timoML commented 3 weeks ago

I started overhauling the FastCounterInterface in this branch.