Skip to content

Commit 3d49344

Browse files
authored
Merge pull request #807 from johnhornibrook/driver-n5245a
driver/Keysight N5245A
2 parents f7b173f + e9e13cf commit 3d49344

File tree

7 files changed

+879
-2
lines changed

7 files changed

+879
-2
lines changed

docs/examples/driver_examples/Qcodes_example_with_Keysight_Network_Analyzer.ipynb

+381
Large diffs are not rendered by default.

qcodes/dataset/measurements.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,8 @@ def register_parameter(
421421
my_setpoints: Optional[Sequence[Union[str, _BaseParameter]]]
422422
if isinstance(parameter, ArrayParameter):
423423
spname_parts = []
424-
if parameter.instrument is not None:
425-
inst_name = parameter.instrument.name
424+
if parameter._instrument is not None:
425+
inst_name = parameter._instrument.name
426426
if inst_name is not None:
427427
spname_parts.append(inst_name)
428428
if parameter.setpoint_names is not None:

qcodes/instrument/channel.py

+9
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,15 @@ def append(self, obj: InstrumentChannel):
280280
self._channels = cast(List[InstrumentChannel], self._channels)
281281
return self._channels.append(obj)
282282

283+
def clear(self):
284+
"""
285+
Clear all items from the channel list.
286+
"""
287+
if self._locked:
288+
raise AttributeError("Cannot clear a locked channel list")
289+
self._channels.clear()
290+
self._channel_mapping.clear()
291+
283292
def remove(self, obj: InstrumentChannel):
284293
"""
285294
Removes obj from channellist if not locked.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from . import N52xx
2+
3+
class N5230C(N52xx.PNABase):
4+
def __init__(self, name, address, **kwargs):
5+
super().__init__(name, address,
6+
min_freq=300e3, max_freq=13.5e9,
7+
min_power=-90, max_power=13,
8+
nports=2,
9+
**kwargs)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from . import N52xx
2+
3+
class N5245A(N52xx.PNAxBase):
4+
def __init__(self, name, address, **kwargs):
5+
super().__init__(name, address,
6+
min_freq=10e6, max_freq=50e9,
7+
min_power=-30, max_power=13,
8+
nports=4,
9+
**kwargs)
10+
11+
options = self.get_options()
12+
if "419" in options:
13+
self._set_power_limits(min_power=-90, max_power=13)
14+
if "080" in options:
15+
self._enable_fom()

0 commit comments

Comments
 (0)