Skip to content

Commit

Permalink
Instantiate i22 saxs, waxs detectors from Pilatus in ophyd_async
Browse files Browse the repository at this point in the history
  • Loading branch information
DiamondJoseph committed Apr 11, 2024
1 parent 6b43b48 commit 6647c21
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions src/dodal/beamlines/i22.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
from ophyd_async.epics.areadetector import PilatusDetector
from ophyd_async.epics.areadetector.drivers.pilatus_driver import PilatusDriver
from ophyd_async.epics.areadetector.writers.nd_file_hdf import NDFileHDF

from dodal.beamlines.beamline_utils import device_instantiation, get_directory_provider
from dodal.beamlines.beamline_utils import set_beamline as set_utils_beamline
from dodal.devices.tetramm import TetrammDetector
Expand Down Expand Up @@ -35,3 +39,87 @@ def it(
fake_with_ophyd_sim,
directory_provider=get_directory_provider(),
)


def saxs_driver(
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
) -> PilatusDriver:
return device_instantiation(
PilatusDriver,
"",
"-EA-PILAT-01:DRV:",
wait_for_connection,
fake_with_ophyd_sim,
)


def saxs_writer(
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
) -> NDFileHDF:
return device_instantiation(
NDFileHDF,
"",
"-EA-PILAT-01:HDF:",
wait_for_connection,
fake_with_ophyd_sim,
)


def saxs(
saxs_writer: NDFileHDF,
saxs_driver: PilatusDriver,
wait_for_connection: bool = True,
fake_with_ophyd_sim: bool = False,
) -> PilatusDetector:
return device_instantiation(
PilatusDetector,
"waxs",
"-EA-PILAT-01:",
wait_for_connection,
fake_with_ophyd_sim,
hdf=saxs_writer,
driver=saxs_driver,
directory_provider=get_directory_provider(),
)


def waxs_driver(
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
) -> PilatusDriver:
return device_instantiation(
PilatusDriver,
"",
"-EA-PILAT-03:DRV:",
wait_for_connection,
fake_with_ophyd_sim,
)


def waxs_writer(
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
) -> NDFileHDF:
return device_instantiation(
NDFileHDF,
"",
"-EA-PILAT-03:HDF:",
wait_for_connection,
fake_with_ophyd_sim,
)


def waxs(
waxs_writer: NDFileHDF,
waxs_driver: PilatusDriver,
wait_for_connection: bool = True,
fake_with_ophyd_sim: bool = False,
) -> PilatusDetector:
return device_instantiation(
PilatusDetector,
"waxs",
"-EA-PILAT-03:",
wait_for_connection,
fake_with_ophyd_sim,
hdf=waxs_writer,
driver=waxs_driver,
directory_provider=get_directory_provider(),
)

0 comments on commit 6647c21

Please sign in to comment.