Skip to content

Create a synchrotron "beamline" for Synchrotron related devices #1849

@oliwenmandiamond

Description

@oliwenmandiamond

With #1770 now complete, we are now able to reduce duplicate configuration for beamlines by including devices defined by a different device manager e.g shared optics such as pgm are using the same device on i05 and i05_1, but it can be defined once in i05_shared.

Synchrotron is also a device that is used on almost every beamline. We are redefining the same device close to 20 times. Once all beamlines have converted to the new DeviceManager, it would be worth creating a dodal/beamlines/synchrotron.py which defines devices (almost) all beamlines would use such as Synchrotron. Future devices added could be topup and checkbeam so there is a common solution for all beamlines defined once.

Then each beamline that requires it can do

from dodal.beamlines.synchrotron import devices as synchrotron_devices
...

devices = DeviceManager()
# Include Synchotron device + anything else added in future
devices.include(synchrotron_devices)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions