Skip to content

Commit

Permalink
Merge pull request #28 from qdev-dk/add-param-class
Browse files Browse the repository at this point in the history
arbitrary class to Instrument.add_parameter
  • Loading branch information
alexcjohnson committed Feb 17, 2016
2 parents 6fa554e + 17fa995 commit 749e692
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions qcodes/instrument/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ def __init__(self, name, **kwargs):
# anyway threading.Lock is unpicklable on Windows
# self.lock = threading.Lock()

def add_parameter(self, name, **kwargs):
def add_parameter(self, name, parameter_class=InstrumentParameter,
**kwargs):
'''
binds one InstrumentParameter to this instrument.
Expand All @@ -35,11 +36,14 @@ def add_parameter(self, name, **kwargs):
shortcut methods:
instrument.set(param_name, value) etc.
see InstrumentParameter for the list of kwargs
`parameter_class` can be used to construct the parameter out of
something other than InstrumentParameter
kwargs: see InstrumentParameter (or `parameter_class`)
'''
if name in self.parameters:
raise KeyError('Duplicate parameter name {}'.format(name))
self.parameters[name] = InstrumentParameter(self, name, **kwargs)
self.parameters[name] = parameter_class(self, name, **kwargs)

def add_function(self, name, **kwargs):
'''
Expand Down

0 comments on commit 749e692

Please sign in to comment.