Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/changes/newsfragments/7344.improved_driver
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added operation mode in the SGS100A instrument to be able to change between NORMal and BBBYpass operation modes. Defaults to NORMal.
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,16 @@
"# stop RF outout\n",
"sgsa.status(False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# set bypass operation mode\n",
"sgsa.operation_mode(\"BBBYpass\")"
]
}
],
"metadata": {
Expand Down
8 changes: 8 additions & 0 deletions src/qcodes/instrument/sims/RSSGS100A.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,14 @@ devices:
setter:
q: "SOUR:IQ:IMP:QUAD {:.2f}"

operation_mode:
default: "NORMal"
getter:
q: ":SOUR:OPMode?"
r: "{}"
setter:
q: ":SOUR:OPMode {}"

resources:
GPIB::1::INSTR:
device: SGS100A
Expand Down
11 changes: 11 additions & 0 deletions src/qcodes/instrument_drivers/rohde_schwarz/SGS100A.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,17 @@ def __init__(
vals=vals.Numbers(20e-9, 100),
)
"""Parameter pulsemod_width"""
self.operation_mode: Parameter = self.add_parameter(
"operation_mode",
label="Operation Mode",
get_cmd=":SOUR:OPMode?",
set_cmd=":SOUR:OPMode {}",
vals=vals.Enum(
"NORMal", # Normal - Normal Mode
"BBBYpass", # Bypass - Bypass Mode
),
)
"""Parameter operation_mode"""
self.add_function("reset", call_cmd="*RST")
self.add_function("run_self_tests", call_cmd="*TST?")

Expand Down
5 changes: 5 additions & 0 deletions tests/drivers/test_RS_SGS100A.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,8 @@ def test_IQ_gain_imbalance(sg) -> None:

def test_IQ_angle(sg) -> None:
verify_property(sg, "IQ_angle", [-8, -4, 0, 4, 8])


def test_operation_mode(sg) -> None:
print(f"operation mode is set to {sg.operation_mode()}")
verify_property(sg, "operation_mode", ["NORMal", "BBBYpass"])
Loading