DiamondLightSource / DiamondLightSource/mx-bluesky

Hyperion device creation is incompatible with common plans

Open
#1,116 3 comments 0 reactions 1 assignee Claimed by @rtuck99 View on GitHub
Dominant language
Python
Stars
4
Forks
5
Avg merge
1d 30m
Merged PRs (30d)
2

Description

Hyperion instantiates it's devices using [device_composite_from_context](https://github.com/DiamondLightSource/mx-bluesky/blob/01423c05e6b865629b42c472c3e29db0a291b344/src/mx_bluesky/common/utils/context.py#L45), (whereas BlueAPI beamlines instantiate during BlueAPI startup).

In the case that a Hyperion plan is using `HyperionDeviceComposite(CommonDeviceComposite)`, and the `CommonDeviceComposite` uses generic devices names, like `goniometer` instead of `smargon`, Hyperion won't be able to instantiate the device since it will be looking for the name "goniometer" in its context.

We should think of a reasonable short term solution here, since the proper fix will be to move Hyperion to BlueAPI

## Acceptance Criteria
- Solution implemented and tested

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.