Merged
Conversation
69b3527 to
3a5d913
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7996 +/- ##
==========================================
+ Coverage 70.26% 70.53% +0.26%
==========================================
Files 333 333
Lines 32169 32220 +51
==========================================
+ Hits 22604 22726 +122
+ Misses 9565 9494 -71 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
46b53be to
0569fd2
Compare
jenshnielsen
commented
Apr 7, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Refactors the TektronixAWG5014 driver to expose per-channel and per-marker parameters via InstrumentChannel submodules (awg.ch1, awg.ch1.m1, etc.), updates the pyvisa-sim YAML to support these commands, and expands/updates tests and documentation to match the new API and backwards-compat behavior.
Changes:
- Introduce
TektronixAWG5014ChannelandTektronixAWG5014Markersubmodules and migrate channel/marker parameters onto them. - Add legacy flat-attribute compatibility via
__getattr__(with deprecation warnings). - Expand test coverage and update the example notebook + newsfragment accordingly.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/qcodes/instrument_drivers/tektronix/AWG5014.py |
Refactors channel/marker parameters into InstrumentChannel submodules; adds legacy attribute compatibility; updates helper methods to use the new structure. |
src/qcodes/instrument_drivers/tektronix/__init__.py |
Exports the new channel/marker classes from the Tektronix driver package. |
src/qcodes/instrument/sims/Tektronix_AWG5014C.yaml |
Extends the simulation to support channel/marker SCPI queries/sets used by the refactored driver and tests. |
tests/drivers/test_tektronix_AWG5014C.py |
Adds extensive tests for channel/marker structure, helpers, config generation, and legacy attribute warnings. |
docs/examples/driver_examples/Qcodes example with Tektronix AWG5014C.ipynb |
Updates usage examples to the new awg.chX.param / awg.chX.mY.param access pattern. |
docs/changes/newsfragments/7996.improved_driver |
Documents the refactor and the deprecation path for legacy flat attribute names. |
Add tests for the new channel/marker submodule structure, instrument-level parameters, helper functions (parsestr, newlinestripper, _tek_outofrange_get_parser), _pack_waveform edge cases, _pack_record, _file_dict, parse_marker_channel_name, make_awg_file variants, generate_channel_cfg, generate_sequence_cfg, and all_channels_on/off. Extend the pyvisa sim file with properties for all 4 channels, 8 markers, and additional instrument-level parameters to support the new tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the new channel-based parameter access (e.g. awg1.ch2.offset instead of awg1.ch2_offset) and update the parameter listing to show the top-level, channel, and marker parameter hierarchy. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Annotate all awg fixture parameters with TektronixAWG5014 and add Generator return type to the fixture. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix __getattr__ to delegate to super().__getattr__ instead of raising AttributeError directly, preserving InstrumentBase attribute delegation for submodules, parameters, and functions. - Add '"ESIGnal"' to addinptrans dict in generate_channel_cfg to handle the alternate valid value accepted by the add_input validator. - Remove unnecessary test classes; convert to plain functions since self was unused (classes were only for grouping). - Fix Generator fixture return type to use 3 type arguments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add not-None assertions before np.array_equal calls in test_file_dict to narrow the union type returned by _file_dict. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
3546c2a to
406d0cf
Compare
astafan8
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.