Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/mx_bluesky/beamlines/i23/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from mx_bluesky.beamlines.i23.centering import optical_centering_plan
from mx_bluesky.beamlines.i23.hello import hello
from mx_bluesky.beamlines.i23.serial import serial_collection

__all__ = ["serial_collection"]
__all__ = ["serial_collection", "optical_centering_plan", "hello"]
28 changes: 28 additions & 0 deletions src/mx_bluesky/beamlines/i23/centering.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from bluesky.utils import MsgGenerator
from dodal.common import inject
from dodal.devices.motors import XYZOmegaStage
from dodal.devices.oav.oav_detector import OAV
from dodal.devices.oav.pin_image_recognition import PinTipDetection

from mx_bluesky.common.experiment_plans.pin_tip_centring_plan import (
PinTipCentringComposite,
pin_tip_centre_plan,
)


def optical_centering_plan(
oav: OAV = inject("OAV"),
gonio: XYZOmegaStage = inject("gonio"),
pin_tip_detection: PinTipDetection = inject("pin_tip_detection"),
tip_offset_microns: float = 0,
oav_config_file: str = "/dls/science/groups/i23/aithre/daq_configuration/json/OAVCentring.json",
) -> MsgGenerator:
"""Plan to perform optical centering of the sample using the OAV pin tip detection."""

composite = PinTipCentringComposite(oav, gonio, pin_tip_detection)

yield from pin_tip_centre_plan(
composite=composite,
tip_offset_microns=tip_offset_microns,
oav_config_file=oav_config_file,
)
12 changes: 12 additions & 0 deletions src/mx_bluesky/beamlines/i23/hello.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import bluesky.plan_stubs as bps

from mx_bluesky.common.utils.log import LOGGER


def hello():
"""Plan to log 'Hello World' to the GDA log panel via Bluesky logging."""
LOGGER.info("Hello World from I23 Bluesky plan!")

# Example: Read a value and log it
yield from bps.sleep(0.1) # Yield to Bluesky to keep it a valid plan
LOGGER.info("Plan completed successfully")
4 changes: 2 additions & 2 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.