frappy_psi.extparams.StructParam: fix doc + simplify
- the doc string contained wrong, obsolete information + simplify: remove customizeable mapping member name -> param name Change-Id: I0ffdcb336f45001d45f68238b56e1e257d98dd3d Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33993 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
parent
455f15d975
commit
986065e1f6
@ -39,12 +39,11 @@ class StructParam(Parameter):
|
|||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
ctrlpars = StructParam('ctrlpars struct', [
|
ctrlpars = StructParam('ctrlpars struct', {
|
||||||
('pid_p', 'p', Parameter('control parameter p', FloatRange())),
|
'p': Parameter('control parameter p', FloatRange()),
|
||||||
('pid_i', 'i', Parameter('control parameter i', FloatRange())),
|
'i': Parameter('control parameter i', FloatRange()),
|
||||||
('pid_d', 'd', Parameter('control parameter d', FloatRange())),
|
'd': Parameter('control parameter d', FloatRange()),
|
||||||
], readonly=False)
|
}, prefix='pid_', readonly=False)
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
then implement either read_ctrlpars and write_ctrlpars or
|
then implement either read_ctrlpars and write_ctrlpars or
|
||||||
@ -60,22 +59,19 @@ class StructParam(Parameter):
|
|||||||
|
|
||||||
insideRW = 0 # counter for avoiding multiple superfluous updates
|
insideRW = 0 # counter for avoiding multiple superfluous updates
|
||||||
|
|
||||||
def __init__(self, description=None, paramdict=None, prefix_or_map='', *, datatype=None, readonly=False, **kwds):
|
def __init__(self, description=None, paramdict=None, prefix='', *, datatype=None, readonly=False, **kwds):
|
||||||
"""create a struct parameter together with individual parameters
|
"""create a struct parameter together with individual parameters
|
||||||
|
|
||||||
in addition to normal Parameter arguments:
|
in addition to normal Parameter arguments:
|
||||||
|
|
||||||
:param paramdict: dict <member name> of Parameter(...)
|
:param paramdict: dict <member name> of Parameter(...)
|
||||||
:param prefix_or_map: either a prefix for the parameter name to add to the member name
|
:param prefix: a prefix for the parameter name to add to the member name
|
||||||
or a dict <member name> or <parameter name>
|
|
||||||
"""
|
"""
|
||||||
if isinstance(paramdict, DataType):
|
if isinstance(paramdict, DataType):
|
||||||
raise ProgrammingError('second argument must be a dict of Param')
|
raise ProgrammingError('second argument must be a dict of Param')
|
||||||
if datatype is None and paramdict is not None: # omit the following on Parameter.copy()
|
if datatype is None and paramdict is not None: # omit the following on Parameter.copy()
|
||||||
if isinstance(prefix_or_map, str):
|
|
||||||
prefix_or_map = {m: prefix_or_map + m for m in paramdict}
|
|
||||||
for membername, param in paramdict.items():
|
for membername, param in paramdict.items():
|
||||||
param.name = prefix_or_map[membername]
|
param.name = prefix + membername
|
||||||
datatype = StructOf(**{m: p.datatype for m, p in paramdict.items()})
|
datatype = StructOf(**{m: p.datatype for m, p in paramdict.items()})
|
||||||
kwds['influences'] = [p.name for p in paramdict.values()]
|
kwds['influences'] = [p.name for p in paramdict.values()]
|
||||||
self.updateEnable = {}
|
self.updateEnable = {}
|
||||||
|
@ -116,12 +116,12 @@ def test_readonly():
|
|||||||
p = Parameter('control parameter p', FloatRange()),
|
p = Parameter('control parameter p', FloatRange()),
|
||||||
i = Parameter('control parameter i', FloatRange()),
|
i = Parameter('control parameter i', FloatRange()),
|
||||||
d = Parameter('control parameter d', FloatRange()),
|
d = Parameter('control parameter d', FloatRange()),
|
||||||
), {'p': 'pp', 'i':'ii', 'd': 'dd'}, readonly=True)
|
), readonly=True)
|
||||||
|
|
||||||
assert Mod.ctrlpars.readonly is True
|
assert Mod.ctrlpars.readonly is True
|
||||||
assert Mod.pp.readonly is True
|
assert Mod.p.readonly is True
|
||||||
assert Mod.ii.readonly is True
|
assert Mod.i.readonly is True
|
||||||
assert Mod.dd.readonly is True
|
assert Mod.d.readonly is True
|
||||||
|
|
||||||
|
|
||||||
def test_order_dependence1():
|
def test_order_dependence1():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user