Skip to content
Open
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
76 changes: 76 additions & 0 deletions src/dodal/beamlines/i15_1.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
from functools import cache
from pathlib import Path

from ophyd_async.core import PathProvider
from ophyd_async.epics.adcore import ADWriterType, ContAcqDetector
from ophyd_async.epics.motor import Motor

from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
from dodal.common.beamlines.device_helpers import CAM_SUFFIX
from dodal.common.visit import StaticVisitPathProvider
from dodal.device_manager import DeviceManager
from dodal.devices.beamlines.i15.laue import LaueMonochrometer
from dodal.devices.beamlines.i15.motors import NumberedTripleAxisStage
Expand Down Expand Up @@ -34,6 +41,15 @@
"""


@devices.fixture
@cache
def path_provider() -> PathProvider:
return StaticVisitPathProvider(
BL,
Path("/dls/i15-1/data/2026/cm44163-2/"),
)


@devices.factory()
def att_y() -> NumberedTripleAxisStage:
return NumberedTripleAxisStage(
Expand Down Expand Up @@ -221,3 +237,63 @@ def gonio_interlock() -> GonioInterlock:
return GonioInterlock(
bl_prefix=PREFIX.beamline_prefix, interlock_suffix="-VA-OMRON-01:INT3:ILK"
)


@devices.factory()
def webcam_1(path_provider: PathProvider) -> ContAcqDetector:
return ContAcqDetector(
f"{PREFIX.beamline_prefix}-DI-WEB-01:",
path_provider=path_provider,
driver_suffix=CAM_SUFFIX,
cb_suffix="CIRC:",
writer_type=ADWriterType.JPEG,
writer_suffix="JPEG:",
)


@devices.factory()
def webcam_2(path_provider: PathProvider) -> ContAcqDetector:
return ContAcqDetector(
f"{PREFIX.beamline_prefix}-DI-WEB-02:",
path_provider=path_provider,
driver_suffix=CAM_SUFFIX,
cb_suffix="CIRC:",
writer_type=ADWriterType.JPEG,
writer_suffix="JPEG:",
)


@devices.factory()
def cam_1(path_provider: PathProvider) -> ContAcqDetector:
return ContAcqDetector(
f"{PREFIX.beamline_prefix}-DI-CAM-01:",
path_provider=path_provider,
driver_suffix=CAM_SUFFIX,
cb_suffix="CIRC:",
writer_type=ADWriterType.JPEG,
writer_suffix="JPEG:",
)


@devices.factory()
def cam_2(path_provider: PathProvider) -> ContAcqDetector:
return ContAcqDetector(
f"{PREFIX.beamline_prefix}-DI-CAM-02:",
path_provider=path_provider,
driver_suffix=CAM_SUFFIX,
cb_suffix="CIRC:",
writer_type=ADWriterType.JPEG,
writer_suffix="JPEG:",
)


@devices.factory()
def cam_3(path_provider: PathProvider) -> ContAcqDetector:
return ContAcqDetector(
f"{PREFIX.beamline_prefix}-DI-CAM-03:",
path_provider=path_provider,
driver_suffix=CAM_SUFFIX,
cb_suffix="CIRC:",
writer_type=ADWriterType.JPEG,
writer_suffix="JPEG:",
)
Loading