Skip to content

Commit 29b6b4a

Browse files
authored
Merge pull request #7996 from jenshnielsen/awg5014_channel
Awg5014 with channels
2 parents 4efecf2 + 867ffe1 commit 29b6b4a

6 files changed

Lines changed: 1494 additions & 257 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
The ``TektronixAWG5014`` driver has been refactored to use ``InstrumentChannel``
2+
submodules. Per-channel parameters (e.g. ``amp``, ``offset``, ``state``) are now
3+
accessed via ``awg.ch1.amp`` instead of ``awg.ch1_amp``, and marker parameters
4+
via ``awg.ch1.m1.high`` instead of ``awg.ch1_m1_high``. The old flat attribute
5+
names still work but emit a deprecation warning. The example notebook has been
6+
updated accordingly.

docs/examples/driver_examples/Qcodes example with Tektronix AWG5014C.ipynb

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,17 @@
8181
"metadata": {},
8282
"outputs": [],
8383
"source": [
84-
"print(awg1.ch3_state.get())\n",
85-
"print(awg1.ch2_offset.get())\n",
86-
"awg1.ch2_offset.set(0.1)\n",
87-
"print(awg1.ch2_offset.get())"
84+
"print(awg1.ch3.state.get())\n",
85+
"print(awg1.ch2.offset.get())\n",
86+
"awg1.ch2.offset.set(0.1)\n",
87+
"print(awg1.ch2.offset.get())"
8888
]
8989
},
9090
{
9191
"cell_type": "markdown",
9292
"metadata": {},
9393
"source": [
94-
"A list of all available parameters can be found in the following manner:"
94+
"The instrument has top-level parameters as well as per-channel parameters accessible via `awg1.ch1`, `awg1.ch2`, etc. Each channel also has marker submodules `m1` and `m2`."
9595
]
9696
},
9797
{
@@ -100,9 +100,19 @@
100100
"metadata": {},
101101
"outputs": [],
102102
"source": [
103-
"pars = np.sort(list(awg1.parameters.keys()))\n",
104-
"for param in pars:\n",
105-
" print(param, \": \", awg1.parameters[param].label)"
103+
"# Top-level parameters\n",
104+
"for name in sorted(awg1.parameters):\n",
105+
" print(name, \": \", awg1.parameters[name].label)\n",
106+
"\n",
107+
"# Channel parameters (e.g. ch1)\n",
108+
"print(\"\\nChannel 1 parameters:\")\n",
109+
"for name in sorted(awg1.ch1.parameters):\n",
110+
" print(f\" ch1.{name}: \", awg1.ch1.parameters[name].label)\n",
111+
"\n",
112+
"# Marker parameters (e.g. ch1.m1)\n",
113+
"print(\"\\nChannel 1 Marker 1 parameters:\")\n",
114+
"for name in sorted(awg1.ch1.m1.parameters):\n",
115+
" print(f\" ch1.m1.{name}: \", awg1.ch1.m1.parameters[name].label)"
106116
]
107117
},
108118
{

0 commit comments

Comments
 (0)