Qblox backend - Restructured compilation using external local oscillators.

Warning: some changes to the hardware mapping were made, so this includes breaking changes.

Explanation of changes

Moved the calculation of the IF and LO frequencies to sequencers. Also added a container class that allows the instruments to align their settings, along with a prepare method meant for that purpose.

Motivation of changes

This removes the deep dive into mapping dictionary to extract the frequencies and the complicated _assign_frequencies function. This also allows to handle the case without an LO much more easily.

Closes #134 (closed)


Merge checklist

See also merge request guidelines

  • Merge request has been reviewed and approved by a project maintainer.
  • Merge request contains a clear description of the proposed changes and the issue it addresses.
  • Merge request made onto appropriate branch (develop for most MRs).
  • New code is fully tested.
  • New code is documented and docstrings use numpydoc format.
  • Changelog has been updated (when applicable).
  • CI pipelines pass
    • black code-formatting passes (gitlab-ci),
    • test suite passes (gitlab-ci),
    • no degradation in code-coverage (codacy),
    • no (serious) new pylint code quality issues introduced (codacy),
    • documentation builds successfully (CI and readthedocs).
Edited by Damien Crielaard

Merge request reports

Loading