Skip to content
Closed
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
44 changes: 22 additions & 22 deletions src/dodal/beamlines/p45.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
from pathlib import Path

from ophyd_async.core import PathProvider
from ophyd_async.epics.adaravis import AravisDetector
from ophyd_async.fastcs.panda import HDFPanda

from dodal.common.beamlines.beamline_utils import (
device_factory,
get_path_provider,
set_path_provider,
)
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
from dodal.common.visit import StaticVisitPathProvider
from dodal.device_manager import DeviceManager
from dodal.devices.beamlines.p45 import TomoStageWithStretchAndSkew
from dodal.devices.motors import XYStage
from dodal.log import set_beamline as set_log_beamline
Expand All @@ -21,59 +18,62 @@
set_log_beamline(BL)
set_utils_beamline(BL)

set_path_provider(
StaticVisitPathProvider(
devices = DeviceManager()


@devices.fixture
def path_provider() -> PathProvider:
return StaticVisitPathProvider(
BL,
Path("/data/2024/cm37283-2/"), # latest commissioning visit
)
)


@device_factory()
@devices.factory
def sample() -> TomoStageWithStretchAndSkew:
return TomoStageWithStretchAndSkew(f"{PREFIX.beamline_prefix}-MO-STAGE-01:")


@device_factory()
@devices.factory
def choppers() -> XYStage:
return XYStage(f"{PREFIX.beamline_prefix}-MO-CHOP-01:")


# Disconnected
@device_factory(skip=True)
def det() -> AravisDetector:
@devices.factory(skip=True)
def det(path_provider: PathProvider) -> AravisDetector:
return AravisDetector(
f"{PREFIX.beamline_prefix}-EA-MAP-01:",
path_provider=get_path_provider(),
path_provider=path_provider,
drv_suffix=DET_SUFFIX,
fileio_suffix=HDF5_SUFFIX,
)


# Disconnected
@device_factory(skip=True)
def diff() -> AravisDetector:
@devices.factory(skip=True)
def diff(path_provider: PathProvider) -> AravisDetector:
return AravisDetector(
f"{PREFIX.beamline_prefix}-EA-DIFF-01:",
path_provider=get_path_provider(),
path_provider=path_provider,
drv_suffix=DET_SUFFIX,
fileio_suffix=HDF5_SUFFIX,
)


# Must document what PandAs are physically connected to
# See: https://github.com/bluesky/ophyd-async/issues/284
@device_factory(skip=True)
def panda1() -> HDFPanda:
@devices.factory(skip=True)
def panda1(path_provider: PathProvider) -> HDFPanda:
return HDFPanda(
f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
path_provider=get_path_provider(),
path_provider=path_provider,
)


@device_factory(skip=True)
def panda2() -> HDFPanda:
@devices.factory(skip=True)
def panda2(path_provider: PathProvider) -> HDFPanda:
return HDFPanda(
f"{PREFIX.beamline_prefix}-MO-PANDA-02:",
path_provider=get_path_provider(),
path_provider=path_provider,
)