From 9ad2d607f743d749e4d1ce339173f8ab12430f7a Mon Sep 17 00:00:00 2001 From: Jacob Williamson Date: Tue, 19 May 2026 13:21:50 +0100 Subject: [PATCH] Add cams to i15-1 --- src/dodal/beamlines/i15_1.py | 63 +++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/dodal/beamlines/i15_1.py b/src/dodal/beamlines/i15_1.py index aca9b72842..376c05d0de 100644 --- a/src/dodal/beamlines/i15_1.py +++ b/src/dodal/beamlines/i15_1.py @@ -3,12 +3,13 @@ from daq_config_server import ConfigClient from ophyd_async.core import PathProvider, StaticPathProvider, UUIDFilenameProvider -from ophyd_async.epics.adcore import NDPluginBaseIO +from ophyd_async.epics.adcore import ADWriterType, ContAcqDetector, NDPluginBaseIO from ophyd_async.epics.motor import Motor from ophyd_async.fastcs.eiger import EigerDetector from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline from dodal.common.beamlines.beamline_utils import set_config_client +from dodal.common.beamlines.device_helpers import CAM_SUFFIX from dodal.device_manager import DeviceManager from dodal.devices.beamlines.i15.laue import LaueMonochrometer from dodal.devices.beamlines.i15.motors import NumberedTripleAxisStage @@ -295,3 +296,63 @@ def zebra() -> Zebra: prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:", mapping=ZebraMapping(), ) + + +@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:", + )