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 mergemain
back in or update local packages (or N/A). -
Tested on hardware (or N/A). -
CHANGELOG.md
for breaking changes andAUTHORS.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