dls-dodal 1.35.0__py3-none-any.whl → 1.36.1a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/METADATA +33 -31
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/RECORD +46 -37
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/WHEEL +1 -1
- dodal/_version.py +2 -2
- dodal/beamlines/b01_1.py +16 -31
- dodal/beamlines/i22.py +124 -265
- dodal/beamlines/i24.py +56 -7
- dodal/beamlines/p38.py +16 -1
- dodal/beamlines/p99.py +22 -53
- dodal/beamlines/training_rig.py +16 -26
- dodal/cli.py +54 -8
- dodal/common/beamlines/beamline_utils.py +32 -2
- dodal/common/beamlines/device_helpers.py +2 -0
- dodal/devices/aperture.py +7 -0
- dodal/devices/aperturescatterguard.py +195 -79
- dodal/devices/dcm.py +5 -4
- dodal/devices/eiger.py +88 -49
- dodal/devices/fast_grid_scan.py +21 -46
- dodal/devices/focusing_mirror.py +8 -3
- dodal/devices/i24/beam_center.py +12 -0
- dodal/devices/i24/focus_mirrors.py +60 -0
- dodal/devices/i24/pilatus_metadata.py +44 -0
- dodal/devices/linkam3.py +1 -1
- dodal/devices/motors.py +14 -10
- dodal/devices/oav/oav_detector.py +2 -2
- dodal/devices/oav/pin_image_recognition/__init__.py +4 -5
- dodal/devices/oav/utils.py +1 -0
- dodal/devices/p99/sample_stage.py +12 -16
- dodal/devices/pressure_jump_cell.py +299 -0
- dodal/devices/robot.py +1 -1
- dodal/devices/tetramm.py +1 -1
- dodal/devices/undulator.py +4 -1
- dodal/devices/undulator_dcm.py +3 -19
- dodal/devices/zocalo/zocalo_results.py +7 -7
- dodal/plan_stubs/__init__.py +0 -0
- dodal/{plans/data_session_metadata.py → plan_stubs/data_session.py} +2 -2
- dodal/{plans/motor_util_plans.py → plan_stubs/motor_utils.py} +2 -2
- dodal/plan_stubs/wrapped.py +150 -0
- dodal/plans/__init__.py +4 -0
- dodal/plans/scanspec.py +66 -0
- dodal/plans/wrapped.py +57 -0
- dodal/utils.py +151 -2
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/LICENSE +0 -0
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/entry_points.txt +0 -0
- {dls_dodal-1.35.0.dist-info → dls_dodal-1.36.1a0.dist-info}/top_level.txt +0 -0
- /dodal/{plans → plan_stubs}/check_topup.py +0 -0
dodal/beamlines/i22.py
CHANGED
|
@@ -5,12 +5,12 @@ from ophyd_async.epics.adpilatus import PilatusDetector
|
|
|
5
5
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
6
6
|
|
|
7
7
|
from dodal.common.beamlines.beamline_utils import (
|
|
8
|
-
|
|
8
|
+
device_factory,
|
|
9
9
|
get_path_provider,
|
|
10
10
|
set_path_provider,
|
|
11
11
|
)
|
|
12
12
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
13
|
-
from dodal.common.beamlines.device_helpers import
|
|
13
|
+
from dodal.common.beamlines.device_helpers import HDF5_PREFIX
|
|
14
14
|
from dodal.common.crystal_metadata import (
|
|
15
15
|
MaterialsEnum,
|
|
16
16
|
make_crystal_metadata_from_material,
|
|
@@ -27,9 +27,10 @@ from dodal.devices.tetramm import TetrammDetector
|
|
|
27
27
|
from dodal.devices.undulator import Undulator
|
|
28
28
|
from dodal.devices.watsonmarlow323_pump import WatsonMarlow323Pump
|
|
29
29
|
from dodal.log import set_beamline as set_log_beamline
|
|
30
|
-
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
30
|
+
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
31
31
|
|
|
32
32
|
BL = get_beamline_name("i22")
|
|
33
|
+
PREFIX = BeamlinePrefix(BL)
|
|
33
34
|
set_log_beamline(BL)
|
|
34
35
|
set_utils_beamline(BL)
|
|
35
36
|
|
|
@@ -47,237 +48,141 @@ set_path_provider(
|
|
|
47
48
|
)
|
|
48
49
|
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
y_pixel_size=(1.72e-1, "mm"),
|
|
64
|
-
description="Dectris Pilatus3 2M",
|
|
65
|
-
type="Photon Counting Hybrid Pixel",
|
|
66
|
-
sensor_material="silicon",
|
|
67
|
-
sensor_thickness=(0.45, "mm"),
|
|
68
|
-
distance=(4711.833684146172, "mm"),
|
|
69
|
-
),
|
|
51
|
+
@device_factory()
|
|
52
|
+
def saxs() -> PilatusDetector:
|
|
53
|
+
metadata_holder = NXSasMetadataHolder(
|
|
54
|
+
x_pixel_size=(1.72e-1, "mm"),
|
|
55
|
+
y_pixel_size=(1.72e-1, "mm"),
|
|
56
|
+
description="Dectris Pilatus3 2M",
|
|
57
|
+
type="Photon Counting Hybrid Pixel",
|
|
58
|
+
sensor_material="silicon",
|
|
59
|
+
sensor_thickness=(0.45, "mm"),
|
|
60
|
+
distance=(4711.833684146172, "mm"),
|
|
61
|
+
)
|
|
62
|
+
return NXSasPilatus(
|
|
63
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PILAT-01:",
|
|
70
64
|
path_provider=get_path_provider(),
|
|
65
|
+
drv_suffix="CAM:",
|
|
66
|
+
hdf_suffix=HDF5_PREFIX,
|
|
67
|
+
metadata_holder=metadata_holder,
|
|
71
68
|
)
|
|
72
69
|
|
|
73
70
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return device_instantiation(
|
|
78
|
-
Synchrotron,
|
|
79
|
-
"synchrotron",
|
|
80
|
-
"",
|
|
81
|
-
wait_for_connection,
|
|
82
|
-
fake_with_ophyd_sim,
|
|
83
|
-
)
|
|
71
|
+
@device_factory()
|
|
72
|
+
def synchrotron() -> Synchrotron:
|
|
73
|
+
return Synchrotron()
|
|
84
74
|
|
|
85
75
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
y_pixel_size=(1.72e-1, "mm"),
|
|
100
|
-
description="Dectris Pilatus3 2M",
|
|
101
|
-
type="Photon Counting Hybrid Pixel",
|
|
102
|
-
sensor_material="silicon",
|
|
103
|
-
sensor_thickness=(0.45, "mm"),
|
|
104
|
-
distance=(175.4199417092314, "mm"),
|
|
105
|
-
),
|
|
76
|
+
@device_factory()
|
|
77
|
+
def waxs() -> PilatusDetector:
|
|
78
|
+
metadata_holder = NXSasMetadataHolder(
|
|
79
|
+
x_pixel_size=(1.72e-1, "mm"),
|
|
80
|
+
y_pixel_size=(1.72e-1, "mm"),
|
|
81
|
+
description="Dectris Pilatus3 2M",
|
|
82
|
+
type="Photon Counting Hybrid Pixel",
|
|
83
|
+
sensor_material="silicon",
|
|
84
|
+
sensor_thickness=(0.45, "mm"),
|
|
85
|
+
distance=(175.4199417092314, "mm"),
|
|
86
|
+
)
|
|
87
|
+
return NXSasPilatus(
|
|
88
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PILAT-03:",
|
|
106
89
|
path_provider=get_path_provider(),
|
|
90
|
+
drv_suffix="CAM:",
|
|
91
|
+
hdf_suffix=HDF5_PREFIX,
|
|
92
|
+
metadata_holder=metadata_holder,
|
|
107
93
|
)
|
|
108
94
|
|
|
109
95
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return device_instantiation(
|
|
115
|
-
TetrammDetector,
|
|
116
|
-
"i0",
|
|
117
|
-
"-EA-XBPM-02:",
|
|
118
|
-
wait_for_connection,
|
|
119
|
-
fake_with_ophyd_sim,
|
|
120
|
-
type="Cividec Diamond XBPM",
|
|
96
|
+
@device_factory()
|
|
97
|
+
def i0() -> TetrammDetector:
|
|
98
|
+
return TetrammDetector(
|
|
99
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-XBPM-02:",
|
|
121
100
|
path_provider=get_path_provider(),
|
|
101
|
+
type="Cividec Diamond XBPM",
|
|
122
102
|
)
|
|
123
103
|
|
|
124
104
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return device_instantiation(
|
|
130
|
-
TetrammDetector,
|
|
131
|
-
"it",
|
|
132
|
-
"-EA-TTRM-02:",
|
|
133
|
-
wait_for_connection,
|
|
134
|
-
fake_with_ophyd_sim,
|
|
135
|
-
type="PIN Diode",
|
|
105
|
+
@device_factory()
|
|
106
|
+
def it() -> TetrammDetector:
|
|
107
|
+
return TetrammDetector(
|
|
108
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-TTRM-02:",
|
|
136
109
|
path_provider=get_path_provider(),
|
|
110
|
+
type="PIN Diode",
|
|
137
111
|
)
|
|
138
112
|
|
|
139
113
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return device_instantiation(
|
|
145
|
-
FocusingMirror,
|
|
146
|
-
"vfm",
|
|
147
|
-
"-OP-KBM-01:VFM:",
|
|
148
|
-
wait_for_connection,
|
|
149
|
-
fake_with_ophyd_sim,
|
|
114
|
+
@device_factory()
|
|
115
|
+
def vfm() -> FocusingMirror:
|
|
116
|
+
return FocusingMirror(
|
|
117
|
+
prefix=f"{PREFIX.beamline_prefix}-OP-KBM-01:VFM:",
|
|
150
118
|
)
|
|
151
119
|
|
|
152
120
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
return device_instantiation(
|
|
158
|
-
FocusingMirror,
|
|
159
|
-
"hfm",
|
|
160
|
-
"-OP-KBM-01:HFM:",
|
|
161
|
-
wait_for_connection,
|
|
162
|
-
fake_with_ophyd_sim,
|
|
121
|
+
@device_factory()
|
|
122
|
+
def hfm() -> FocusingMirror:
|
|
123
|
+
return FocusingMirror(
|
|
124
|
+
prefix=f"{PREFIX.beamline_prefix}-OP-KBM-01:HFM:",
|
|
163
125
|
)
|
|
164
126
|
|
|
165
127
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
DoubleCrystalMonochromator,
|
|
172
|
-
"dcm",
|
|
173
|
-
f"{BeamlinePrefix(BL).beamline_prefix}-MO-DCM-01:",
|
|
174
|
-
wait_for_connection,
|
|
175
|
-
fake_with_ophyd_sim,
|
|
176
|
-
bl_prefix=False,
|
|
177
|
-
temperature_prefix=f"{BeamlinePrefix(BL).beamline_prefix}-DI-DCM-01:",
|
|
128
|
+
@device_factory()
|
|
129
|
+
def dcm() -> DoubleCrystalMonochromator:
|
|
130
|
+
return DoubleCrystalMonochromator(
|
|
131
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:",
|
|
132
|
+
temperature_prefix=f"{PREFIX.beamline_prefix}-DI-DCM-01:",
|
|
178
133
|
crystal_1_metadata=make_crystal_metadata_from_material(
|
|
179
134
|
MaterialsEnum.Si, (1, 1, 1)
|
|
180
135
|
),
|
|
181
136
|
crystal_2_metadata=make_crystal_metadata_from_material(
|
|
182
|
-
MaterialsEnum.Si,
|
|
183
|
-
(1, 1, 1),
|
|
137
|
+
MaterialsEnum.Si, (1, 1, 1)
|
|
184
138
|
),
|
|
185
139
|
)
|
|
186
140
|
|
|
187
141
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
Undulator,
|
|
194
|
-
"undulator",
|
|
195
|
-
f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
|
|
196
|
-
wait_for_connection,
|
|
197
|
-
fake_with_ophyd_sim,
|
|
198
|
-
bl_prefix=False,
|
|
142
|
+
@device_factory()
|
|
143
|
+
def undulator() -> Undulator:
|
|
144
|
+
return Undulator(
|
|
145
|
+
prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
|
|
146
|
+
id_gap_lookup_table_path="/dls_sw/i22/software/daq_configuration/lookup/BeamLine_Undulator_toGap.txt",
|
|
199
147
|
poles=80,
|
|
200
148
|
length=2.0,
|
|
201
|
-
id_gap_lookup_table_path="/dls_sw/i22/software/daq_configuration/lookup/BeamLine_Undulator_toGap.txt",
|
|
202
149
|
)
|
|
203
150
|
|
|
204
151
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
) -> Slits:
|
|
209
|
-
return numbered_slits(
|
|
210
|
-
1,
|
|
211
|
-
wait_for_connection,
|
|
212
|
-
fake_with_ophyd_sim,
|
|
213
|
-
)
|
|
152
|
+
@device_factory()
|
|
153
|
+
def slits_1() -> Slits:
|
|
154
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-01:")
|
|
214
155
|
|
|
215
156
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
) -> Slits:
|
|
220
|
-
return numbered_slits(
|
|
221
|
-
2,
|
|
222
|
-
wait_for_connection,
|
|
223
|
-
fake_with_ophyd_sim,
|
|
224
|
-
)
|
|
157
|
+
@device_factory()
|
|
158
|
+
def slits_2() -> Slits:
|
|
159
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-02:")
|
|
225
160
|
|
|
226
161
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
) -> Slits:
|
|
231
|
-
return numbered_slits(
|
|
232
|
-
3,
|
|
233
|
-
wait_for_connection,
|
|
234
|
-
fake_with_ophyd_sim,
|
|
235
|
-
)
|
|
162
|
+
@device_factory()
|
|
163
|
+
def slits_3() -> Slits:
|
|
164
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-03:")
|
|
236
165
|
|
|
237
166
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
) -> Slits:
|
|
242
|
-
return numbered_slits(
|
|
243
|
-
4,
|
|
244
|
-
wait_for_connection,
|
|
245
|
-
fake_with_ophyd_sim,
|
|
246
|
-
)
|
|
167
|
+
@device_factory()
|
|
168
|
+
def slits_4() -> Slits:
|
|
169
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-04:")
|
|
247
170
|
|
|
248
171
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
) -> Slits:
|
|
253
|
-
return numbered_slits(
|
|
254
|
-
5,
|
|
255
|
-
wait_for_connection,
|
|
256
|
-
fake_with_ophyd_sim,
|
|
257
|
-
)
|
|
172
|
+
@device_factory()
|
|
173
|
+
def slits_5() -> Slits:
|
|
174
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-05:")
|
|
258
175
|
|
|
259
176
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
) -> Slits:
|
|
264
|
-
return numbered_slits(
|
|
265
|
-
6,
|
|
266
|
-
wait_for_connection,
|
|
267
|
-
fake_with_ophyd_sim,
|
|
268
|
-
)
|
|
177
|
+
@device_factory()
|
|
178
|
+
def slits_6() -> Slits:
|
|
179
|
+
return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-06:")
|
|
269
180
|
|
|
270
181
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
return device_instantiation(
|
|
276
|
-
FSwitch,
|
|
277
|
-
"fswitch",
|
|
278
|
-
"-MO-FSWT-01:",
|
|
279
|
-
wait_for_connection,
|
|
280
|
-
fake_with_ophyd_sim,
|
|
182
|
+
@device_factory()
|
|
183
|
+
def fswitch() -> FSwitch:
|
|
184
|
+
return FSwitch(
|
|
185
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-FSWT-01:",
|
|
281
186
|
lens_geometry="paraboloid",
|
|
282
187
|
cylindrical=True,
|
|
283
188
|
lens_material="Beryllium",
|
|
@@ -286,107 +191,61 @@ def fswitch(
|
|
|
286
191
|
|
|
287
192
|
# Must document what PandAs are physically connected to
|
|
288
193
|
# See: https://github.com/bluesky/ophyd-async/issues/284
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
return device_instantiation(
|
|
294
|
-
HDFPanda,
|
|
295
|
-
"panda1",
|
|
296
|
-
"-EA-PANDA-01:",
|
|
297
|
-
wait_for_connection,
|
|
298
|
-
fake_with_ophyd_sim,
|
|
194
|
+
@device_factory()
|
|
195
|
+
def panda1() -> HDFPanda:
|
|
196
|
+
return HDFPanda(
|
|
197
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PANDA-01:",
|
|
299
198
|
path_provider=get_path_provider(),
|
|
300
199
|
)
|
|
301
200
|
|
|
302
201
|
|
|
303
|
-
@
|
|
304
|
-
def panda2(
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
) -> HDFPanda:
|
|
308
|
-
return device_instantiation(
|
|
309
|
-
HDFPanda,
|
|
310
|
-
"panda2",
|
|
311
|
-
"-EA-PANDA-02:",
|
|
312
|
-
wait_for_connection,
|
|
313
|
-
fake_with_ophyd_sim,
|
|
202
|
+
@device_factory(skip=True)
|
|
203
|
+
def panda2() -> HDFPanda:
|
|
204
|
+
return HDFPanda(
|
|
205
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PANDA-02:",
|
|
314
206
|
path_provider=get_path_provider(),
|
|
315
207
|
)
|
|
316
208
|
|
|
317
209
|
|
|
318
|
-
@
|
|
319
|
-
def panda3(
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
) -> HDFPanda:
|
|
323
|
-
return device_instantiation(
|
|
324
|
-
HDFPanda,
|
|
325
|
-
"panda3",
|
|
326
|
-
"-EA-PANDA-03:",
|
|
327
|
-
wait_for_connection,
|
|
328
|
-
fake_with_ophyd_sim,
|
|
210
|
+
@device_factory(skip=True)
|
|
211
|
+
def panda3() -> HDFPanda:
|
|
212
|
+
return HDFPanda(
|
|
213
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PANDA-03:",
|
|
329
214
|
path_provider=get_path_provider(),
|
|
330
215
|
)
|
|
331
216
|
|
|
332
217
|
|
|
333
|
-
@
|
|
334
|
-
def panda4(
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
) -> HDFPanda:
|
|
338
|
-
return device_instantiation(
|
|
339
|
-
HDFPanda,
|
|
340
|
-
"panda4",
|
|
341
|
-
"-EA-PANDA-04:",
|
|
342
|
-
wait_for_connection,
|
|
343
|
-
fake_with_ophyd_sim,
|
|
218
|
+
@device_factory(skip=True)
|
|
219
|
+
def panda4() -> HDFPanda:
|
|
220
|
+
return HDFPanda(
|
|
221
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-PANDA-04:",
|
|
344
222
|
path_provider=get_path_provider(),
|
|
345
223
|
)
|
|
346
224
|
|
|
347
225
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
"
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
226
|
+
@device_factory()
|
|
227
|
+
def oav() -> AravisDetector:
|
|
228
|
+
metadata_holder = NXSasMetadataHolder(
|
|
229
|
+
x_pixel_size=(3.45e-3, "mm"), # Double check this figure
|
|
230
|
+
y_pixel_size=(3.45e-3, "mm"),
|
|
231
|
+
description="AVT Mako G-507B",
|
|
232
|
+
distance=(-1.0, "m"),
|
|
233
|
+
)
|
|
234
|
+
return NXSasOAV(
|
|
235
|
+
prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
357
236
|
drv_suffix="DET:",
|
|
358
|
-
hdf_suffix=
|
|
359
|
-
metadata_holder=NXSasMetadataHolder(
|
|
360
|
-
x_pixel_size=(3.45e-3, "mm"), # Double check this figure
|
|
361
|
-
y_pixel_size=(3.45e-3, "mm"),
|
|
362
|
-
description="AVT Mako G-507B",
|
|
363
|
-
distance=(-1.0, "m"),
|
|
364
|
-
),
|
|
237
|
+
hdf_suffix=HDF5_PREFIX,
|
|
365
238
|
path_provider=get_path_provider(),
|
|
239
|
+
metadata_holder=metadata_holder,
|
|
366
240
|
)
|
|
367
241
|
|
|
368
242
|
|
|
369
|
-
@
|
|
370
|
-
def linkam(
|
|
371
|
-
|
|
372
|
-
) -> Linkam3:
|
|
373
|
-
return device_instantiation(
|
|
374
|
-
Linkam3,
|
|
375
|
-
"linkam",
|
|
376
|
-
"-EA-TEMPC-05",
|
|
377
|
-
wait_for_connection,
|
|
378
|
-
fake_with_ophyd_sim,
|
|
379
|
-
)
|
|
243
|
+
@device_factory(skip=True)
|
|
244
|
+
def linkam() -> Linkam3:
|
|
245
|
+
return Linkam3(prefix=f"{PREFIX.beamline_prefix}-EA-TEMPC-05:")
|
|
380
246
|
|
|
381
247
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
) -> WatsonMarlow323Pump:
|
|
248
|
+
@device_factory()
|
|
249
|
+
def ppump() -> WatsonMarlow323Pump:
|
|
385
250
|
"""Sample Environment Peristaltic Pump"""
|
|
386
|
-
return
|
|
387
|
-
WatsonMarlow323Pump,
|
|
388
|
-
"ppump",
|
|
389
|
-
"-EA-PUMP-01:",
|
|
390
|
-
wait_for_connection,
|
|
391
|
-
fake_with_ophyd_sim,
|
|
392
|
-
)
|
|
251
|
+
return WatsonMarlow323Pump(f"{PREFIX.beamline_prefix}-EA-PUMP-01:")
|
dodal/beamlines/i24.py
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
from dodal.common.beamlines.beamline_utils import
|
|
2
|
-
BL,
|
|
3
|
-
device_instantiation,
|
|
4
|
-
)
|
|
1
|
+
from dodal.common.beamlines.beamline_utils import BL, device_instantiation
|
|
5
2
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
6
3
|
from dodal.devices.detector import DetectorParams
|
|
7
4
|
from dodal.devices.eiger import EigerDetector
|
|
8
5
|
from dodal.devices.hutch_shutter import HutchShutter
|
|
9
6
|
from dodal.devices.i24.aperture import Aperture
|
|
7
|
+
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
10
8
|
from dodal.devices.i24.beamstop import Beamstop
|
|
11
9
|
from dodal.devices.i24.dcm import DCM
|
|
12
10
|
from dodal.devices.i24.dual_backlight import DualBacklight
|
|
11
|
+
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
13
12
|
from dodal.devices.i24.i24_detector_motion import DetectorMotion
|
|
13
|
+
from dodal.devices.i24.pilatus_metadata import PilatusMetadata
|
|
14
14
|
from dodal.devices.i24.pmac import PMAC
|
|
15
15
|
from dodal.devices.i24.vgonio import VerticalGoniometer
|
|
16
16
|
from dodal.devices.oav.oav_detector import OAV
|
|
@@ -70,7 +70,6 @@ def backlight(
|
|
|
70
70
|
)
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
@skip_device(lambda: BL == "s24")
|
|
74
73
|
def detector_motion(
|
|
75
74
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
76
75
|
) -> DetectorMotion:
|
|
@@ -151,7 +150,6 @@ def oav(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) ->
|
|
|
151
150
|
)
|
|
152
151
|
|
|
153
152
|
|
|
154
|
-
@skip_device(lambda: BL == "s24")
|
|
155
153
|
def vgonio(
|
|
156
154
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
157
155
|
) -> VerticalGoniometer:
|
|
@@ -180,7 +178,6 @@ def zebra(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) -
|
|
|
180
178
|
)
|
|
181
179
|
|
|
182
180
|
|
|
183
|
-
@skip_device(lambda: BL == "s24")
|
|
184
181
|
def shutter(
|
|
185
182
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
186
183
|
) -> HutchShutter:
|
|
@@ -194,3 +191,55 @@ def shutter(
|
|
|
194
191
|
wait_for_connection,
|
|
195
192
|
fake_with_ophyd_sim,
|
|
196
193
|
)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def focus_mirrors(
|
|
197
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
198
|
+
) -> FocusMirrorsMode:
|
|
199
|
+
"""Get the i24 focus mirror devise to find the beam size."""
|
|
200
|
+
return device_instantiation(
|
|
201
|
+
FocusMirrorsMode,
|
|
202
|
+
"focus_mirrors",
|
|
203
|
+
"-OP-MFM-01:",
|
|
204
|
+
wait_for_connection,
|
|
205
|
+
fake_with_ophyd_sim,
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def eiger_beam_center(
|
|
210
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
211
|
+
) -> DetectorBeamCenter:
|
|
212
|
+
"""A device for setting/reading the beamcenter from the eiger on i24."""
|
|
213
|
+
return device_instantiation(
|
|
214
|
+
DetectorBeamCenter,
|
|
215
|
+
"eiger_bc",
|
|
216
|
+
"-EA-EIGER-01:CAM:",
|
|
217
|
+
wait_for_connection,
|
|
218
|
+
fake_with_ophyd_sim,
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
def pilatus_beam_center(
|
|
223
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
224
|
+
) -> DetectorBeamCenter:
|
|
225
|
+
"""A device for setting/reading the beamcenter from the pilatus on i24."""
|
|
226
|
+
return device_instantiation(
|
|
227
|
+
DetectorBeamCenter,
|
|
228
|
+
"pilatus_bc",
|
|
229
|
+
"-EA-PILAT-01:cam1:",
|
|
230
|
+
wait_for_connection,
|
|
231
|
+
fake_with_ophyd_sim,
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
def pilatus_metadata(
|
|
236
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
237
|
+
) -> PilatusMetadata:
|
|
238
|
+
"""A small pilatus driver device for figuring out the filename template."""
|
|
239
|
+
return device_instantiation(
|
|
240
|
+
PilatusMetadata,
|
|
241
|
+
"pilatus_meta",
|
|
242
|
+
"-EA-PILAT-01:",
|
|
243
|
+
wait_for_connection,
|
|
244
|
+
fake_with_ophyd_sim,
|
|
245
|
+
)
|
dodal/beamlines/p38.py
CHANGED
|
@@ -19,6 +19,7 @@ from dodal.devices.focusing_mirror import FocusingMirror
|
|
|
19
19
|
from dodal.devices.i22.dcm import DoubleCrystalMonochromator
|
|
20
20
|
from dodal.devices.i22.fswitch import FSwitch
|
|
21
21
|
from dodal.devices.linkam3 import Linkam3
|
|
22
|
+
from dodal.devices.pressure_jump_cell import PressureJumpCell
|
|
22
23
|
from dodal.devices.slits import Slits
|
|
23
24
|
from dodal.devices.tetramm import TetrammDetector
|
|
24
25
|
from dodal.devices.undulator import Undulator
|
|
@@ -312,7 +313,7 @@ def linkam(
|
|
|
312
313
|
return device_instantiation(
|
|
313
314
|
Linkam3,
|
|
314
315
|
"linkam",
|
|
315
|
-
"-EA-LINKM-02:",
|
|
316
|
+
f"{BeamlinePrefix(BL).insertion_prefix}-EA-LINKM-02:",
|
|
316
317
|
wait_for_connection,
|
|
317
318
|
fake_with_ophyd_sim,
|
|
318
319
|
)
|
|
@@ -329,3 +330,17 @@ def ppump(
|
|
|
329
330
|
wait_for_connection,
|
|
330
331
|
fake_with_ophyd_sim,
|
|
331
332
|
)
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
def high_pressure_xray_cell(
|
|
336
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
337
|
+
) -> PressureJumpCell:
|
|
338
|
+
return device_instantiation(
|
|
339
|
+
PressureJumpCell,
|
|
340
|
+
"high_pressure_xray_cell",
|
|
341
|
+
f"{BeamlinePrefix(BL).insertion_prefix}-EA",
|
|
342
|
+
wait_for_connection,
|
|
343
|
+
fake_with_ophyd_sim,
|
|
344
|
+
cell_prefix="-HPXC-01:",
|
|
345
|
+
adc_prefix="-ADC",
|
|
346
|
+
)
|