Skip to content

feat: add QRC module basic functionality

Explanation of changes

Add QRC basic functionality.

Explanation of changes

The QRC module has two versions: a QRM-like version, and a final version. The final version will replace the QRM-like version in the future. Currently, the code will handle only the QRM-like version.

The QRC module behaves as if it was a QRM-RF module in every way, except for the following.

  • It has 6 outputs, and 2 inputs.
  • O1 and I1 share the same LO.
  • O2 and I2 share the same LO.
  • O3, O4, O5, O6 have separate LOs.
  • There is only one marker physically, and the marker setting only allows one bit (the qcodes parameter and the set_mark instruction too).
  • It does not have any AMC capabilities (no mixer correction, not calibration).
  • It does not have offsets, only gains and attenuations.
  • The LO frequency setting should not be used for QRC; instead, it should use "output frequency" or "center frequency". This has the same effect from the user's perspective.
  • Scope acquisition is now 4 channels instead of 2. The code needs to be modified for QRC.

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 for breaking changes 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 Gábor Oszkár Dénes

Merge request reports

Loading