From 5b4519d5336cfb5a3d83110d9be04830bf82f739 Mon Sep 17 00:00:00 2001 From: jjmartinezQT Date: Mon, 28 Jul 2025 16:38:56 +0200 Subject: [PATCH 1/4] operation mode for SGS100A instrument --- src/qcodes/instrument/sims/RSSGS100A.yaml | 8 ++++++++ .../instrument_drivers/rohde_schwarz/SGS100A.py | 11 +++++++++++ tests/drivers/test_RS_SGS100A.py | 5 +++++ 3 files changed, 24 insertions(+) diff --git a/src/qcodes/instrument/sims/RSSGS100A.yaml b/src/qcodes/instrument/sims/RSSGS100A.yaml index 3b88a926f7fd..7768b1a9a3e4 100644 --- a/src/qcodes/instrument/sims/RSSGS100A.yaml +++ b/src/qcodes/instrument/sims/RSSGS100A.yaml @@ -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 diff --git a/src/qcodes/instrument_drivers/rohde_schwarz/SGS100A.py b/src/qcodes/instrument_drivers/rohde_schwarz/SGS100A.py index c84b58a30f3f..4849ecfca4d9 100644 --- a/src/qcodes/instrument_drivers/rohde_schwarz/SGS100A.py +++ b/src/qcodes/instrument_drivers/rohde_schwarz/SGS100A.py @@ -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?") diff --git a/tests/drivers/test_RS_SGS100A.py b/tests/drivers/test_RS_SGS100A.py index ab5b82454b24..655987563239 100644 --- a/tests/drivers/test_RS_SGS100A.py +++ b/tests/drivers/test_RS_SGS100A.py @@ -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"]) From 9e0c7f2a298542c30dee760c7aca08e2b5c9c314 Mon Sep 17 00:00:00 2001 From: jjmartinezQT Date: Mon, 28 Jul 2025 16:41:23 +0200 Subject: [PATCH 2/4] minimal example --- .../Qcodes example with Rohde Schwarz SGS100A.ipynb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/examples/driver_examples/Qcodes example with Rohde Schwarz SGS100A.ipynb b/docs/examples/driver_examples/Qcodes example with Rohde Schwarz SGS100A.ipynb index 8020155be651..afa69e031efd 100644 --- a/docs/examples/driver_examples/Qcodes example with Rohde Schwarz SGS100A.ipynb +++ b/docs/examples/driver_examples/Qcodes example with Rohde Schwarz SGS100A.ipynb @@ -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": { From c3caf7449f0859ad8efb28d6554262bf1ea23a4c Mon Sep 17 00:00:00 2001 From: jjmartinezQT Date: Mon, 28 Jul 2025 16:45:52 +0200 Subject: [PATCH 3/4] newsfragments --- docs/changes/newsfragments/7344.new | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/changes/newsfragments/7344.new diff --git a/docs/changes/newsfragments/7344.new b/docs/changes/newsfragments/7344.new new file mode 100644 index 000000000000..deff47ad4dc2 --- /dev/null +++ b/docs/changes/newsfragments/7344.new @@ -0,0 +1 @@ +Added operation mode in the SGS100A instrument to be able to change between NORMal and BBBYpass operation modes. Defaults to NORMal. \ No newline at end of file From 26d9080de8cf2c17b0bc92196d8615accc6c7dce Mon Sep 17 00:00:00 2001 From: Mikhail Astafev Date: Tue, 5 Aug 2025 19:00:24 +0200 Subject: [PATCH 4/4] Update and rename 7344.new to 7344.improved_driver --- docs/changes/newsfragments/{7344.new => 7344.improved_driver} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/changes/newsfragments/{7344.new => 7344.improved_driver} (96%) diff --git a/docs/changes/newsfragments/7344.new b/docs/changes/newsfragments/7344.improved_driver similarity index 96% rename from docs/changes/newsfragments/7344.new rename to docs/changes/newsfragments/7344.improved_driver index deff47ad4dc2..7cf8f08c21cb 100644 --- a/docs/changes/newsfragments/7344.new +++ b/docs/changes/newsfragments/7344.improved_driver @@ -1 +1 @@ -Added operation mode in the SGS100A instrument to be able to change between NORMal and BBBYpass operation modes. Defaults to NORMal. \ No newline at end of file +Added operation mode in the SGS100A instrument to be able to change between NORMal and BBBYpass operation modes. Defaults to NORMal.