allow to configure category of parameters
by default, in datafile headers only value, status etc. is stored. put the sec node devices 'param_category' to 'general' will put all parameters into the header
This commit is contained in:
@ -135,6 +135,7 @@ def frappy(main=None, stick=None, addons=None):
|
|||||||
- frappy(''): the stick is removed too
|
- frappy(''): the stick is removed too
|
||||||
- addons are not changed when not given!
|
- addons are not changed when not given!
|
||||||
"""
|
"""
|
||||||
|
all_cfg = {}
|
||||||
if main is not None:
|
if main is not None:
|
||||||
all_cfg = frappy_start('main', main)
|
all_cfg = frappy_start('main', main)
|
||||||
if stick is None:
|
if stick is None:
|
||||||
|
14
devices.py
14
devices.py
@ -219,6 +219,9 @@ class FrappyNode(SecNodeDevice, Moveable):
|
|||||||
}
|
}
|
||||||
parameters = {
|
parameters = {
|
||||||
'service': Param('frappy service name (main, stick or addons)', type=str, default=''),
|
'service': Param('frappy service name (main, stick or addons)', type=str, default=''),
|
||||||
|
'param_category': Param("category of parameters\n\n"
|
||||||
|
"set to 'general' if all parameters should appear in the datafile header",
|
||||||
|
type=str, default='', settable=True),
|
||||||
}
|
}
|
||||||
|
|
||||||
_service_manager = FrappyManager()
|
_service_manager = FrappyManager()
|
||||||
@ -237,6 +240,17 @@ class FrappyNode(SecNodeDevice, Moveable):
|
|||||||
self._cfgvalue = self._cache.get(self, 'value')
|
self._cfgvalue = self._cache.get(self, 'value')
|
||||||
return self._cfgvalue
|
return self._cfgvalue
|
||||||
|
|
||||||
|
def createDevices(self):
|
||||||
|
super().createDevices()
|
||||||
|
if self.param_category:
|
||||||
|
for devname, (_, devcfg) in self.setup_info.items():
|
||||||
|
params_cfg = devcfg['params_cfg']
|
||||||
|
dev = session.devices[devname]
|
||||||
|
for pname, pargs in params_cfg.items():
|
||||||
|
pinfo = dev.parameters[pname]
|
||||||
|
if not pinfo.category:
|
||||||
|
pinfo.category = self.param_category
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def config_dirs(cls, ins, service):
|
def config_dirs(cls, ins, service):
|
||||||
sm = cls._service_manager
|
sm = cls._service_manager
|
||||||
|
Reference in New Issue
Block a user