Skip to content

Commit f25a452

Browse files
committed
Return created parameter from add_parameter
1 parent 16e3a6a commit f25a452

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

qcodes/instrument/instrument_base.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import logging
66
import warnings
77
from collections.abc import Callable, Mapping, Sequence
8-
from typing import TYPE_CHECKING, Any
8+
from typing import TYPE_CHECKING, Any, Type, TypeVar, cast
99

1010
import numpy as np
1111

@@ -22,6 +22,8 @@
2222

2323
log = logging.getLogger(__name__)
2424

25+
TParameter = TypeVar("TParameter", bound=ParameterBase)
26+
2527

2628
class InstrumentBase(Metadatable, DelegateAttributes):
2729
"""
@@ -99,9 +101,9 @@ def label(self, label: str) -> None:
99101
def add_parameter(
100102
self,
101103
name: str,
102-
parameter_class: type[ParameterBase] | None = None,
104+
parameter_class: type[TParameter] | None = None,
103105
**kwargs: Any,
104-
) -> None:
106+
) -> TParameter:
105107
"""
106108
Bind one Parameter to this instrument.
107109
@@ -131,7 +133,7 @@ def add_parameter(
131133
one.
132134
"""
133135
if parameter_class is None:
134-
parameter_class = Parameter
136+
parameter_class = cast(Type[TParameter], Parameter)
135137

136138
if "bind_to_instrument" not in kwargs.keys():
137139
kwargs["bind_to_instrument"] = True
@@ -159,6 +161,7 @@ def add_parameter(
159161
QCoDeSDeprecationWarning,
160162
)
161163
self.parameters[name] = param
164+
return param
162165

163166
def add_function(self, name: str, **kwargs: Any) -> None:
164167
"""

0 commit comments

Comments
 (0)