pcdsdevices.utils.move_subdevices_to_start
- pcdsdevices.utils.move_subdevices_to_start(cls: typing.Optional[type[ophyd.device.Device]] = None, subdevice_cls: type[ophyd.device.Device] = <class 'ophyd.device.Device'>) Union[type[ophyd.device.Device], Callable[[type[ophyd.device.Device]], type[ophyd.device.Device]]]
Arrange the component order of a device class to put subdevices first.
This can be useful to bring e.g. all the motors to the top for the typhos screen.
The relative ordering of subdevices is preserved.
- Parameters
cls (Device subclass) – The Device subclass that we’d like to rearrange the order of.
subdevice_cls (type, optional) – A specific class type to move to the front. If omitted, all device subclasses will be moved.
- Returns
cls (Device subclass, or function that returns it) – Decorator-compatible output. When used as a function or as a no-argument decorator, this will return the input device. When used as a decorator with the subdevice_cls argument, this will return a function as required by the decorator interface.