Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Keithley drivers #6115

Merged
merged 10 commits into from
May 24, 2024
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
6 changes: 6 additions & 0 deletions docs/changes/newsfragments/6115.improved_driver
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The Keithley drivers shipping with QCoDeS
have been updated to ensure all Parameters are set as static
attributes that are documented and can be type checked. The docs for the same drivers have been
updated to not document inherited members. This makes the documentation significantly more readable
as it focuses on specific members for a given instrument. The documentation now also links superclasses.
Please consult these for inherited members.
1 change: 1 addition & 0 deletions docs/drivers_api/Keithley.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ Keithley Drivers

.. automodule:: qcodes.instrument_drivers.Keithley
:autosummary:
:no-inherited-members:
49 changes: 34 additions & 15 deletions src/qcodes/instrument_drivers/Keithley/Keithley_2000.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
if TYPE_CHECKING:
from typing_extensions import Unpack

from qcodes.parameters import Parameter


def _parse_output_string(s: str) -> str:
"""Parses and cleans string outputs of the Keithley"""
Expand Down Expand Up @@ -66,85 +68,95 @@
"frequency": '"FREQ"',
}

self.add_parameter(
self.mode: Parameter = self.add_parameter(

Check warning on line 71 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L71

Added line #L71 was not covered by tests
"mode",
get_cmd="SENS:FUNC?",
set_cmd="SENS:FUNC {}",
val_mapping=self._mode_map,
)
"""Parameter mode"""

Check warning on line 77 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L77

Added line #L77 was not covered by tests

# Mode specific parameters
self.add_parameter(
self.nplc: Parameter = self.add_parameter(

Check warning on line 80 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L80

Added line #L80 was not covered by tests
"nplc",
get_cmd=partial(self._get_mode_param, "NPLC", float),
set_cmd=partial(self._set_mode_param, "NPLC"),
vals=Numbers(min_value=0.01, max_value=10),
)
"""Parameter nplc"""

Check warning on line 86 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L86

Added line #L86 was not covered by tests

# TODO: validator, this one is more difficult since different modes
# require different validation ranges
self.add_parameter(
self.range: Parameter = self.add_parameter(

Check warning on line 90 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L90

Added line #L90 was not covered by tests
"range",
get_cmd=partial(self._get_mode_param, "RANG", float),
set_cmd=partial(self._set_mode_param, "RANG"),
vals=Numbers(),
)
"""Parameter range"""

Check warning on line 96 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L96

Added line #L96 was not covered by tests

self.add_parameter(
self.auto_range_enabled: Parameter = self.add_parameter(

Check warning on line 98 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L98

Added line #L98 was not covered by tests
"auto_range_enabled",
get_cmd=partial(self._get_mode_param, "RANG:AUTO", _parse_output_bool),
set_cmd=partial(self._set_mode_param, "RANG:AUTO"),
vals=Bool(),
)
"""Parameter auto_range_enabled"""

Check warning on line 104 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L104

Added line #L104 was not covered by tests

self.add_parameter(
self.digits: Parameter = self.add_parameter(

Check warning on line 106 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L106

Added line #L106 was not covered by tests
"digits",
get_cmd=partial(self._get_mode_param, "DIG", int),
set_cmd=partial(self._set_mode_param, "DIG"),
vals=Ints(min_value=4, max_value=7),
)
"""Parameter digits"""

Check warning on line 112 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L112

Added line #L112 was not covered by tests

self.add_parameter(
self.averaging_type: Parameter = self.add_parameter(

Check warning on line 114 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L114

Added line #L114 was not covered by tests
"averaging_type",
get_cmd=partial(self._get_mode_param, "AVER:TCON", _parse_output_string),
set_cmd=partial(self._set_mode_param, "AVER:TCON"),
vals=Enum("moving", "repeat"),
)
"""Parameter averaging_type"""

Check warning on line 120 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L120

Added line #L120 was not covered by tests

self.add_parameter(
self.averaging_count: Parameter = self.add_parameter(

Check warning on line 122 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L122

Added line #L122 was not covered by tests
"averaging_count",
get_cmd=partial(self._get_mode_param, "AVER:COUN", int),
set_cmd=partial(self._set_mode_param, "AVER:COUN"),
vals=Ints(min_value=1, max_value=100),
)
"""Parameter averaging_count"""

Check warning on line 128 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L128

Added line #L128 was not covered by tests

self.add_parameter(
self.averaging_enabled: Parameter = self.add_parameter(

Check warning on line 130 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L130

Added line #L130 was not covered by tests
"averaging_enabled",
get_cmd=partial(self._get_mode_param, "AVER:STAT", _parse_output_bool),
set_cmd=partial(self._set_mode_param, "AVER:STAT"),
vals=Bool(),
)
"""Parameter averaging_enabled"""

Check warning on line 136 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L136

Added line #L136 was not covered by tests

# Global parameters
self.add_parameter(
self.display_enabled: Parameter = self.add_parameter(

Check warning on line 139 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L139

Added line #L139 was not covered by tests
"display_enabled",
get_cmd="DISP:ENAB?",
get_parser=_parse_output_bool,
set_cmd="DISP:ENAB {}",
set_parser=int,
vals=Bool(),
)
"""Parameter display_enabled"""

Check warning on line 147 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L147

Added line #L147 was not covered by tests

self.add_parameter(
self.trigger_continuous: Parameter = self.add_parameter(

Check warning on line 149 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L149

Added line #L149 was not covered by tests
"trigger_continuous",
get_cmd="INIT:CONT?",
get_parser=_parse_output_bool,
set_cmd="INIT:CONT {}",
set_parser=int,
vals=Bool(),
)
"""Parameter trigger_continuous"""

Check warning on line 157 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L157

Added line #L157 was not covered by tests

self.add_parameter(
self.trigger_count: Parameter = self.add_parameter(

Check warning on line 159 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L159

Added line #L159 was not covered by tests
"trigger_count",
get_cmd="TRIG:COUN?",
get_parser=int,
Expand All @@ -154,17 +166,19 @@
Enum("inf", "default", "minimum", "maximum"),
),
)
"""Parameter trigger_count"""

Check warning on line 169 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L169

Added line #L169 was not covered by tests

self.add_parameter(
self.trigger_delay: Parameter = self.add_parameter(

Check warning on line 171 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L171

Added line #L171 was not covered by tests
"trigger_delay",
get_cmd="TRIG:DEL?",
get_parser=float,
set_cmd="TRIG:DEL {}",
unit="s",
vals=Numbers(min_value=0, max_value=999999.999),
)
"""Parameter trigger_delay"""

Check warning on line 179 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L179

Added line #L179 was not covered by tests

self.add_parameter(
self.trigger_source: Parameter = self.add_parameter(

Check warning on line 181 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L181

Added line #L181 was not covered by tests
"trigger_source",
get_cmd="TRIG:SOUR?",
set_cmd="TRIG:SOUR {}",
Expand All @@ -176,17 +190,22 @@
"external": "EXT",
},
)
"""Parameter trigger_source"""

Check warning on line 193 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L193

Added line #L193 was not covered by tests

self.add_parameter(
self.trigger_timer: Parameter = self.add_parameter(

Check warning on line 195 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L195

Added line #L195 was not covered by tests
"trigger_timer",
get_cmd="TRIG:TIM?",
get_parser=float,
set_cmd="TRIG:TIM {}",
unit="s",
vals=Numbers(min_value=0.001, max_value=999999.999),
)
"""Parameter trigger_timer"""

Check warning on line 203 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L203

Added line #L203 was not covered by tests

self.add_parameter("amplitude", unit="arb.unit", get_cmd=self._read_next_value)
self.amplitude: Parameter = self.add_parameter(

Check warning on line 205 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L205

Added line #L205 was not covered by tests
"amplitude", unit="arb.unit", get_cmd=self._read_next_value
)
"""Parameter amplitude"""

Check warning on line 208 in src/qcodes/instrument_drivers/Keithley/Keithley_2000.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2000.py#L208

Added line #L208 was not covered by tests

self.add_function("reset", call_cmd="*RST")

Expand Down
40 changes: 27 additions & 13 deletions src/qcodes/instrument_drivers/Keithley/Keithley_2400.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
if TYPE_CHECKING:
from typing_extensions import Unpack

from qcodes.parameters import Parameter


class Keithley2400(VisaInstrument):
"""
Expand All @@ -23,39 +25,43 @@
):
super().__init__(name, address, **kwargs)

self.add_parameter(
self.rangev: Parameter = self.add_parameter(

Check warning on line 28 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L28

Added line #L28 was not covered by tests
"rangev",
get_cmd="SENS:VOLT:RANG?",
get_parser=float,
set_cmd="SOUR:VOLT:RANG {:f}",
label="Voltage range",
)
"""Parameter rangev"""

Check warning on line 35 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L35

Added line #L35 was not covered by tests

self.add_parameter(
self.rangei: Parameter = self.add_parameter(

Check warning on line 37 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L37

Added line #L37 was not covered by tests
"rangei",
get_cmd="SENS:CURR:RANG?",
get_parser=float,
set_cmd="SOUR:CURR:RANG {:f}",
label="Current range",
)
"""Parameter rangei"""

Check warning on line 44 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L44

Added line #L44 was not covered by tests

self.add_parameter(
self.compliancev: Parameter = self.add_parameter(

Check warning on line 46 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L46

Added line #L46 was not covered by tests
"compliancev",
get_cmd="SENS:VOLT:PROT?",
get_parser=float,
set_cmd="SENS:VOLT:PROT {:f}",
label="Voltage Compliance",
)
"""Parameter compliancev"""

Check warning on line 53 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L53

Added line #L53 was not covered by tests

self.add_parameter(
self.compliancei: Parameter = self.add_parameter(

Check warning on line 55 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L55

Added line #L55 was not covered by tests
"compliancei",
get_cmd="SENS:CURR:PROT?",
get_parser=float,
set_cmd="SENS:CURR:PROT {:f}",
label="Current Compliance",
)
"""Parameter compliancei"""

Check warning on line 62 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L62

Added line #L62 was not covered by tests

self.add_parameter(
self.volt: Parameter = self.add_parameter(

Check warning on line 64 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L64

Added line #L64 was not covered by tests
"volt",
get_cmd=self._get_read_output_protected,
get_parser=self._volt_parser,
Expand All @@ -69,8 +75,9 @@
"Note that it is an error to read voltage with "
"output off",
)
"""Sets voltage in 'VOLT' mode. Get returns measured voltage if sensing 'VOLT' otherwise it returns setpoint value. Note that it is an error to read voltage with output off"""

Check warning on line 78 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L78

Added line #L78 was not covered by tests

self.add_parameter(
self.curr: Parameter = self.add_parameter(

Check warning on line 80 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L80

Added line #L80 was not covered by tests
"curr",
get_cmd=self._get_read_output_protected,
get_parser=self._curr_parser,
Expand All @@ -84,56 +91,63 @@
"Note that it is an error to read current with "
"output off",
)
"""Sets current in 'CURR' mode. Get returns measured current if sensing 'CURR' otherwise it returns setpoint value. Note that it is an error to read current with output off"""

Check warning on line 94 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L94

Added line #L94 was not covered by tests

self.add_parameter(
self.mode: Parameter = self.add_parameter(

Check warning on line 96 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L96

Added line #L96 was not covered by tests
"mode",
vals=Enum("VOLT", "CURR"),
get_cmd=":SOUR:FUNC?",
set_cmd=self._set_mode_and_sense,
label="Mode",
)
"""Parameter mode"""

Check warning on line 103 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L103

Added line #L103 was not covered by tests

self.add_parameter(
self.sense: Parameter = self.add_parameter(

Check warning on line 105 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L105

Added line #L105 was not covered by tests
"sense",
vals=Strings(),
get_cmd=":SENS:FUNC?",
set_cmd=':SENS:FUNC "{:s}"',
label="Sense mode",
)
"""Parameter sense"""

Check warning on line 112 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L112

Added line #L112 was not covered by tests

self.add_parameter(
self.output: Parameter = self.add_parameter(

Check warning on line 114 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L114

Added line #L114 was not covered by tests
"output",
set_cmd=":OUTP:STAT {}",
get_cmd=":OUTP:STAT?",
val_mapping=create_on_off_val_mapping(on_val="1", off_val="0"),
)
"""Parameter output"""

Check warning on line 120 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L120

Added line #L120 was not covered by tests

self.add_parameter(
self.nplcv: Parameter = self.add_parameter(

Check warning on line 122 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L122

Added line #L122 was not covered by tests
"nplcv",
get_cmd="SENS:VOLT:NPLC?",
get_parser=float,
set_cmd="SENS:VOLT:NPLC {:f}",
label="Voltage integration time",
)
"""Parameter nplcv"""

Check warning on line 129 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L129

Added line #L129 was not covered by tests

self.add_parameter(
self.nplci: Parameter = self.add_parameter(

Check warning on line 131 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L131

Added line #L131 was not covered by tests
"nplci",
get_cmd="SENS:CURR:NPLC?",
get_parser=float,
set_cmd="SENS:CURR:NPLC {:f}",
label="Current integration time",
)
"""Parameter nplci"""

Check warning on line 138 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L138

Added line #L138 was not covered by tests

self.add_parameter(
self.resistance: Parameter = self.add_parameter(

Check warning on line 140 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L140

Added line #L140 was not covered by tests
"resistance",
get_cmd=self._get_read_output_protected,
get_parser=self._resistance_parser,
label="Resistance",
unit="Ohm",
docstring="Measure resistance from current and voltage "
docstring="Measure resistance from current and voltage. "
"Note that it is an error to read current "
"and voltage with output off",
)
"""Measure resistance from current and voltage. Note that it is an error to read current and voltage with output off"""

Check warning on line 150 in src/qcodes/instrument_drivers/Keithley/Keithley_2400.py

View check run for this annotation

Codecov / codecov/patch

src/qcodes/instrument_drivers/Keithley/Keithley_2400.py#L150

Added line #L150 was not covered by tests

self.write(":TRIG:COUN 1;:FORM:ELEM VOLT,CURR")
# This line sends 2 commands to the instrument:
Expand Down
Loading
Loading