diff --git a/commands.py b/commands.py index e7b8f9b..033ec58 100644 --- a/commands.py +++ b/commands.py @@ -135,6 +135,7 @@ def frappy(main=None, stick=None, addons=None): - frappy(''): the stick is removed too - addons are not changed when not given! """ + all_cfg = {} if main is not None: all_cfg = frappy_start('main', main) if stick is None: diff --git a/devices.py b/devices.py index b75505b..c6d5caa 100644 --- a/devices.py +++ b/devices.py @@ -219,6 +219,9 @@ class FrappyNode(SecNodeDevice, Moveable): } parameters = { '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() @@ -237,6 +240,17 @@ class FrappyNode(SecNodeDevice, Moveable): self._cfgvalue = self._cache.get(self, 'value') 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 def config_dirs(cls, ins, service): sm = cls._service_manager