Skip to content

Bugfix for freq override for measure

Gábor Oszkár Dénes requested to merge bugfix-freq-override-measure into main

Explanation of changes

The Measure operation previously was compiled to these operations: set freq, readout pulse, acquisition, unset freq. Now, it's changed to: set freq, subschedule, unset freq. Here, the subschedule contains all the previous operations like the readout pulse and acquisition.

Motivation of changes

Thanks @npiot for finding this bug.

The previous behavior was sometimes buggy: the unset freq operation resetted the frequency at the wrong time sometime. The unset freq operation was relative to the end of the acquisition operation. In case the readout pulse's duration is longer than the acquisition operation, the unset freq starts in the middle of the readout pulse operation. This means the readout pulse first half can play with the set frequency, and the other half with the original (resetted) frequency, however, the whole readout pulse and acquisition must play/acquire with the same frequency that was set.

The solution will make sure that the readout pulse and the acquisition are in a subschedule, and the unset freq operation is instructed after the whole subschedule which contain those operations fully.


Merge checklist

See also merge request guidelines

  • Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer.
  • New code is covered by unit tests (or N/A).
  • New code is documented and docstrings use numpydoc format (or N/A).
  • New functionality: considered making private instead of extending public API (or N/A).
  • Public API changed: added @deprecated and entry in deprecated code suggestions (or N/A).
  • Newly added/adjusted documentation and docstrings render properly (or N/A).
  • Pipeline fix or dependency update: post in #software-for-developers channel to merge main back in or update local packages (or N/A).
  • Tested on hardware (or N/A).
  • CHANGELOG.md and AUTHORS.md have been updated (or N/A).
  • Update Hardware backends documentation if backend interface change or N/A
  • Check whether performance is significantly affected by looking at the Performance metrics results.
  • Windows tests in CI pipeline pass (manually triggered by maintainers before merging).
    • Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline

For reference, the issues workflow is described in the contribution guidelines.

Edited by Robert Sokolewicz

Merge request reports