Skip to content

Commit e9ffcf2

Browse files
authored
Merge pull request #7497 from trlemon/tlemon/add-copper-mountain-m5065-driver
Add New Copper Mountain M5065 and M5180 Drivers
2 parents 4dff40f + d1bb830 commit e9ffcf2

10 files changed

Lines changed: 1819 additions & 0 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Added Copper Mountain Technologies M5065 driver
2+
Added Copper Mountain Technologies M5180 driver

docs/examples/driver_examples/QCoDeS example with CopperMountain_M5065.ipynb

Lines changed: 529 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
spec: "1.0"
2+
3+
resources:
4+
TCPIP0::localhost::hislip0::INSTR:
5+
device: M5065
6+
7+
devices:
8+
M5065:
9+
eom:
10+
TCPIP INSTR:
11+
q: "\n"
12+
r: "\n"
13+
error: ERROR
14+
dialogues:
15+
- q: "*IDN?"
16+
r: "CMT, M5065, 23047001, 25.3.1/2"
17+
properties:
18+
output:
19+
default: 0
20+
getter:
21+
q: "OUTP:STAT?"
22+
r: "{}"
23+
setter:
24+
q: "OUTP:STAT {}"
25+
specs:
26+
type: int
27+
valid: [0, 1]
28+
power:
29+
default: -20
30+
getter:
31+
q: "SOUR:POW?"
32+
r: "{}"
33+
setter:
34+
q: "SOUR:POW {}"
35+
specs:
36+
min: -50
37+
max: 10
38+
type: float
39+
if_bandwidth:
40+
default: 100000
41+
getter:
42+
q: "SENS1:BWID?"
43+
r: "{}"
44+
setter:
45+
q: "SENS1:BWID {}"
46+
averages_enabled:
47+
default: 0
48+
getter:
49+
q: "SENS1:AVER:STAT?"
50+
r: "{}"
51+
setter:
52+
q: "SENS1:AVER:STAT {}"
53+
specs:
54+
type: int
55+
valid: [0, 1]
56+
averages_trigger_enabled:
57+
default: 0
58+
getter:
59+
q: "TRIG:SEQ:AVER?"
60+
r: "{}"
61+
setter:
62+
q: "TRIG:SEQ:AVER {}"
63+
specs:
64+
type: int
65+
valid: [0, 1]
66+
electrical_delay:
67+
default: 0
68+
getter:
69+
q: "CALC1:CORR:EDEL:TIME?"
70+
r: "{}"
71+
setter:
72+
q: "CALC1:CORR:EDEL:TIME {}"
73+
electrical_distance:
74+
default: 20
75+
getter:
76+
q: "CALC1:CORR:EDEL:DIST?"
77+
r: "{}"
78+
setter:
79+
q: "CALC1:CORR:EDEL:DIST {}"
80+
clock_source:
81+
default: "INT"
82+
getter:
83+
q: "SENSe1:ROSCillator:SOURce?"
84+
r: "{}"
85+
setter:
86+
q: "SENSe1:ROSCillator:SOURce {}"
87+
start:
88+
default: 300000
89+
getter:
90+
q: "SENS1:FREQ:STAR?"
91+
r: "{}"
92+
setter:
93+
q: "SENS1:FREQ:STAR {}"
94+
specs:
95+
type: float
96+
stop:
97+
default: 6500000000
98+
getter:
99+
q: "SENS1:FREQ:STOP?"
100+
r: "{}"
101+
setter:
102+
q: "SENS1:FREQ:STOP {}"
103+
specs:
104+
type: float
105+
center:
106+
getter:
107+
q: "SENS1:FREQ:CENT?"
108+
r: "{}"
109+
setter:
110+
q: "SENS1:FREQ:CENT {}"
111+
span:
112+
getter:
113+
q: "SENS1:FREQ:SPAN?"
114+
r: "{}"
115+
setter:
116+
q: "SENS1:FREQ:SPAN {}"
117+
number_of_points:
118+
default: 201
119+
getter:
120+
q: "SENS1:SWE:POIN?"
121+
r: "{}"
122+
setter:
123+
q: "SENS1:SWE:POIN {}"
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
spec: "1.0"
2+
3+
resources:
4+
TCPIP0::localhost::hislip0::INSTR:
5+
device: M5180
6+
7+
devices:
8+
M5180:
9+
eom:
10+
TCPIP INSTR:
11+
q: "\n"
12+
r: "\n"
13+
error: ERROR
14+
dialogues:
15+
- q: "*IDN?"
16+
r: "CMT, M5180, 23047001, 25.3.1/2"
17+
properties:
18+
output:
19+
default: 0
20+
getter:
21+
q: "OUTP:STAT?"
22+
r: "{}"
23+
setter:
24+
q: "OUTP:STAT {}"
25+
specs:
26+
type: int
27+
valid: [0, 1]
28+
power:
29+
default: -20
30+
getter:
31+
q: "SOUR:POW?"
32+
r: "{}"
33+
setter:
34+
q: "SOUR:POW {}"
35+
specs:
36+
min: -50
37+
max: 10
38+
type: float
39+
if_bandwidth:
40+
default: 100000
41+
getter:
42+
q: "SENS1:BWID?"
43+
r: "{}"
44+
setter:
45+
q: "SENS1:BWID {}"
46+
averages_enabled:
47+
default: 0
48+
getter:
49+
q: "SENS1:AVER:STAT?"
50+
r: "{}"
51+
setter:
52+
q: "SENS1:AVER:STAT {}"
53+
specs:
54+
type: int
55+
valid: [0, 1]
56+
averages_trigger_enabled:
57+
default: 0
58+
getter:
59+
q: "TRIG:SEQ:AVER?"
60+
r: "{}"
61+
setter:
62+
q: "TRIG:SEQ:AVER {}"
63+
specs:
64+
type: int
65+
valid: [0, 1]
66+
electrical_delay:
67+
default: 0
68+
getter:
69+
q: "CALC1:CORR:EDEL:TIME?"
70+
r: "{}"
71+
setter:
72+
q: "CALC1:CORR:EDEL:TIME {}"
73+
electrical_distance:
74+
default: 20
75+
getter:
76+
q: "CALC1:CORR:EDEL:DIST?"
77+
r: "{}"
78+
setter:
79+
q: "CALC1:CORR:EDEL:DIST {}"
80+
clock_source:
81+
default: "INT"
82+
getter:
83+
q: "SENSe1:ROSCillator:SOURce?"
84+
r: "{}"
85+
setter:
86+
q: "SENSe1:ROSCillator:SOURce {}"
87+
start:
88+
default: 300000
89+
getter:
90+
q: "SENS1:FREQ:STAR?"
91+
r: "{}"
92+
setter:
93+
q: "SENS1:FREQ:STAR {}"
94+
specs:
95+
type: float
96+
stop:
97+
default: 18000000000
98+
getter:
99+
q: "SENS1:FREQ:STOP?"
100+
r: "{}"
101+
setter:
102+
q: "SENS1:FREQ:STOP {}"
103+
specs:
104+
type: float
105+
center:
106+
getter:
107+
q: "SENS1:FREQ:CENT?"
108+
r: "{}"
109+
setter:
110+
q: "SENS1:FREQ:CENT {}"
111+
span:
112+
getter:
113+
q: "SENS1:FREQ:SPAN?"
114+
r: "{}"
115+
setter:
116+
q: "SENS1:FREQ:SPAN {}"
117+
number_of_points:
118+
default: 201
119+
getter:
120+
q: "SENS1:SWE:POIN?"
121+
r: "{}"
122+
setter:
123+
q: "SENS1:SWE:POIN {}"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import TYPE_CHECKING
2+
3+
from ._M5xxx import CopperMountainM5xxx
4+
5+
if TYPE_CHECKING:
6+
from typing_extensions import Unpack
7+
8+
from qcodes.instrument import VisaInstrumentKWArgs
9+
10+
11+
class CopperMountainM5065(CopperMountainM5xxx):
12+
"""This is the QCoDeS driver for the M5065 VNA from Copper Mountain Technologies"""
13+
14+
def __init__(
15+
self,
16+
name: str,
17+
address: str,
18+
**kwargs: "Unpack[VisaInstrumentKWArgs]",
19+
):
20+
super().__init__(name, address, min_freq=300e3, max_freq=6.5e9, **kwargs)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import TYPE_CHECKING
2+
3+
from ._M5xxx import CopperMountainM5xxx
4+
5+
if TYPE_CHECKING:
6+
from typing_extensions import Unpack
7+
8+
from qcodes.instrument import VisaInstrumentKWArgs
9+
10+
11+
class CopperMountainM5180(CopperMountainM5xxx):
12+
"""This is the QCoDeS driver for the M5180 VNA from Copper Mountain Technologies"""
13+
14+
def __init__(
15+
self,
16+
name: str,
17+
address: str,
18+
**kwargs: "Unpack[VisaInstrumentKWArgs]",
19+
):
20+
super().__init__(name, address, min_freq=300e3, max_freq=18e9, **kwargs)

0 commit comments

Comments
 (0)