dls-dodal 1.53.0__py3-none-any.whl → 1.55.0__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.53.0.dist-info → dls_dodal-1.55.0.dist-info}/METADATA +4 -6
- {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/RECORD +74 -66
- dodal/_version.py +16 -3
- dodal/beamline_specific_utils/i05_shared.py +11 -0
- dodal/beamlines/__init__.py +1 -0
- dodal/beamlines/aithre.py +2 -3
- dodal/beamlines/b01_1.py +2 -2
- dodal/beamlines/b07.py +6 -3
- dodal/beamlines/b07_1.py +17 -6
- dodal/beamlines/b16.py +0 -1
- dodal/beamlines/b21.py +4 -6
- dodal/beamlines/i03.py +10 -31
- dodal/beamlines/i04.py +19 -45
- dodal/beamlines/i05.py +22 -0
- dodal/beamlines/i05_1.py +22 -0
- dodal/beamlines/i09.py +7 -3
- dodal/beamlines/i09_1.py +6 -3
- dodal/beamlines/i13_1.py +0 -1
- dodal/beamlines/i19_1.py +1 -2
- dodal/beamlines/i19_2.py +0 -1
- dodal/beamlines/i19_optics.py +1 -4
- dodal/beamlines/i20_1.py +38 -9
- dodal/beamlines/i23.py +1 -2
- dodal/beamlines/i24.py +0 -12
- dodal/beamlines/p60.py +13 -3
- dodal/common/beamlines/beamline_parameters.py +1 -1
- dodal/common/beamlines/device_helpers.py +0 -33
- dodal/devices/aithre_lasershaping/__init__.py +0 -0
- dodal/devices/aithre_lasershaping/goniometer.py +3 -26
- dodal/devices/aithre_lasershaping/laser_robot.py +2 -2
- dodal/devices/b07/__init__.py +2 -2
- dodal/devices/b07/enums.py +15 -0
- dodal/devices/b07_1/__init__.py +10 -1
- dodal/devices/b07_1/ccmc.py +79 -0
- dodal/devices/b07_1/enums.py +3 -0
- dodal/devices/electron_analyser/abstract/base_driver_io.py +25 -48
- dodal/devices/electron_analyser/abstract/base_region.py +9 -11
- dodal/devices/electron_analyser/abstract/types.py +12 -0
- dodal/devices/electron_analyser/specs/detector.py +9 -9
- dodal/devices/electron_analyser/specs/driver_io.py +54 -21
- dodal/devices/electron_analyser/specs/region.py +13 -8
- dodal/devices/electron_analyser/types.py +15 -6
- dodal/devices/electron_analyser/vgscienta/detector.py +18 -8
- dodal/devices/electron_analyser/vgscienta/driver_io.py +62 -24
- dodal/devices/electron_analyser/vgscienta/region.py +33 -16
- dodal/devices/focusing_mirror.py +1 -1
- dodal/devices/i03/undulator_dcm.py +8 -3
- dodal/devices/i05/__init__.py +3 -0
- dodal/devices/i05/enums.py +8 -0
- dodal/devices/i09/__init__.py +2 -2
- dodal/devices/i09/enums.py +16 -0
- dodal/devices/i09_1/__init__.py +2 -2
- dodal/devices/i09_1/enums.py +13 -0
- dodal/devices/i10/mirrors.py +2 -6
- dodal/devices/i13_1/merlin_controller.py +1 -1
- dodal/devices/i19/beamstop.py +2 -2
- dodal/devices/i24/aperture.py +1 -1
- dodal/devices/motors.py +75 -1
- dodal/devices/oav/oav_to_redis_forwarder.py +1 -1
- dodal/devices/oav/pin_image_recognition/__init__.py +1 -2
- dodal/devices/p60/__init__.py +8 -2
- dodal/devices/p60/enums.py +16 -0
- dodal/devices/robot.py +7 -4
- dodal/devices/tetramm.py +1 -2
- dodal/devices/webcam.py +2 -1
- dodal/devices/zebra/zebra.py +1 -1
- dodal/devices/zebra/zebra_controlled_shutter.py +1 -1
- dodal/devices/zocalo/__init__.py +2 -0
- dodal/devices/zocalo/zocalo_results.py +16 -26
- dodal/utils.py +3 -10
- {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/WHEEL +0 -0
- {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/entry_points.txt +0 -0
- {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/licenses/LICENSE +0 -0
- {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/top_level.txt +0 -0
dodal/beamlines/i03.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from ophyd_async.fastcs.eiger import EigerDetector as FastEiger
|
|
2
2
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
3
|
+
from yarl import URL
|
|
3
4
|
|
|
4
5
|
from dodal.common.beamlines.beamline_parameters import get_beamline_parameters
|
|
5
6
|
from dodal.common.beamlines.beamline_utils import (
|
|
@@ -49,7 +50,7 @@ from dodal.devices.zebra.zebra_constants_mapping import (
|
|
|
49
50
|
ZebraTTLOutputs,
|
|
50
51
|
)
|
|
51
52
|
from dodal.devices.zebra.zebra_controlled_shutter import ZebraShutter
|
|
52
|
-
from dodal.devices.zocalo import ZocaloResults
|
|
53
|
+
from dodal.devices.zocalo import ZocaloResults, ZocaloSource
|
|
53
54
|
from dodal.log import set_beamline as set_log_beamline
|
|
54
55
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
55
56
|
|
|
@@ -105,7 +106,6 @@ def beamstop() -> Beamstop:
|
|
|
105
106
|
"""
|
|
106
107
|
return Beamstop(
|
|
107
108
|
prefix=f"{PREFIX.beamline_prefix}-MO-BS-01:",
|
|
108
|
-
name="beamstop",
|
|
109
109
|
beamline_parameters=get_beamline_parameters(),
|
|
110
110
|
)
|
|
111
111
|
|
|
@@ -117,7 +117,6 @@ def dcm() -> DCM:
|
|
|
117
117
|
"""
|
|
118
118
|
return DCM(
|
|
119
119
|
prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:",
|
|
120
|
-
name="dcm",
|
|
121
120
|
)
|
|
122
121
|
|
|
123
122
|
|
|
@@ -125,7 +124,6 @@ def dcm() -> DCM:
|
|
|
125
124
|
def vfm() -> FocusingMirrorWithStripes:
|
|
126
125
|
return FocusingMirrorWithStripes(
|
|
127
126
|
prefix=f"{PREFIX.beamline_prefix}-OP-VFM-01:",
|
|
128
|
-
name="vfm",
|
|
129
127
|
bragg_to_lat_lut_path=DAQ_CONFIGURATION_PATH
|
|
130
128
|
+ "/lookup/BeamLineEnergy_DCM_VFM_x_converter.txt",
|
|
131
129
|
x_suffix="LAT",
|
|
@@ -136,7 +134,6 @@ def vfm() -> FocusingMirrorWithStripes:
|
|
|
136
134
|
@device_factory()
|
|
137
135
|
def mirror_voltages() -> MirrorVoltages:
|
|
138
136
|
return MirrorVoltages(
|
|
139
|
-
name="mirror_voltages",
|
|
140
137
|
prefix=f"{PREFIX.beamline_prefix}-MO-PSU-01:",
|
|
141
138
|
daq_configuration_path=DAQ_CONFIGURATION_PATH,
|
|
142
139
|
)
|
|
@@ -147,7 +144,7 @@ def backlight() -> Backlight:
|
|
|
147
144
|
"""Get the i03 backlight device, instantiate it if it hasn't already been.
|
|
148
145
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
149
146
|
"""
|
|
150
|
-
return Backlight(prefix=PREFIX.beamline_prefix
|
|
147
|
+
return Backlight(prefix=PREFIX.beamline_prefix)
|
|
151
148
|
|
|
152
149
|
|
|
153
150
|
@device_factory()
|
|
@@ -157,7 +154,6 @@ def detector_motion() -> DetectorMotion:
|
|
|
157
154
|
"""
|
|
158
155
|
return DetectorMotion(
|
|
159
156
|
prefix=PREFIX.beamline_prefix,
|
|
160
|
-
name="detector_motion",
|
|
161
157
|
)
|
|
162
158
|
|
|
163
159
|
|
|
@@ -197,7 +193,6 @@ def zebra_fast_grid_scan() -> ZebraFastGridScan:
|
|
|
197
193
|
"""
|
|
198
194
|
return ZebraFastGridScan(
|
|
199
195
|
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
200
|
-
name="zebra_fast_grid_scan",
|
|
201
196
|
)
|
|
202
197
|
|
|
203
198
|
|
|
@@ -209,7 +204,6 @@ def panda_fast_grid_scan() -> PandAFastGridScan:
|
|
|
209
204
|
"""
|
|
210
205
|
return PandAFastGridScan(
|
|
211
206
|
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
212
|
-
name="panda_fast_grid_scan",
|
|
213
207
|
)
|
|
214
208
|
|
|
215
209
|
|
|
@@ -222,7 +216,6 @@ def oav(
|
|
|
222
216
|
"""
|
|
223
217
|
return OAVBeamCentreFile(
|
|
224
218
|
prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
225
|
-
name="oav",
|
|
226
219
|
config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
|
|
227
220
|
)
|
|
228
221
|
|
|
@@ -234,7 +227,6 @@ def pin_tip_detection() -> PinTipDetection:
|
|
|
234
227
|
"""
|
|
235
228
|
return PinTipDetection(
|
|
236
229
|
f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
237
|
-
"pin_tip_detection",
|
|
238
230
|
)
|
|
239
231
|
|
|
240
232
|
|
|
@@ -243,7 +235,7 @@ def smargon() -> Smargon:
|
|
|
243
235
|
"""Get the i03 Smargon device, instantiate it if it hasn't already been.
|
|
244
236
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
245
237
|
"""
|
|
246
|
-
return Smargon(f"{PREFIX.beamline_prefix}-MO-SGON-01:"
|
|
238
|
+
return Smargon(f"{PREFIX.beamline_prefix}-MO-SGON-01:")
|
|
247
239
|
|
|
248
240
|
|
|
249
241
|
@device_factory()
|
|
@@ -253,7 +245,6 @@ def s4_slit_gaps() -> S4SlitGaps:
|
|
|
253
245
|
"""
|
|
254
246
|
return S4SlitGaps(
|
|
255
247
|
f"{PREFIX.beamline_prefix}-AL-SLITS-04:",
|
|
256
|
-
"s4_slit_gaps",
|
|
257
248
|
)
|
|
258
249
|
|
|
259
250
|
|
|
@@ -262,7 +253,7 @@ def synchrotron() -> Synchrotron:
|
|
|
262
253
|
"""Get the i03 synchrotron device, instantiate it if it hasn't already been.
|
|
263
254
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
264
255
|
"""
|
|
265
|
-
return Synchrotron(
|
|
256
|
+
return Synchrotron()
|
|
266
257
|
|
|
267
258
|
|
|
268
259
|
@device_factory()
|
|
@@ -272,7 +263,6 @@ def undulator(daq_configuration_path: str | None = None) -> Undulator:
|
|
|
272
263
|
"""
|
|
273
264
|
return Undulator(
|
|
274
265
|
f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
|
|
275
|
-
name="undulator",
|
|
276
266
|
# evaluate here not as parameter default to enable post-import mocking
|
|
277
267
|
id_gap_lookup_table_path=f"{daq_configuration_path or DAQ_CONFIGURATION_PATH}/lookup/BeamLine_Undulator_toGap.txt",
|
|
278
268
|
)
|
|
@@ -290,7 +280,6 @@ def undulator_dcm(daq_configuration_path: str | None = None) -> UndulatorDCM:
|
|
|
290
280
|
else undulator()
|
|
291
281
|
)
|
|
292
282
|
return UndulatorDCM(
|
|
293
|
-
name="undulator_dcm",
|
|
294
283
|
prefix=PREFIX.beamline_prefix,
|
|
295
284
|
undulator=undulator_singleton,
|
|
296
285
|
dcm=dcm(),
|
|
@@ -304,7 +293,6 @@ def zebra() -> Zebra:
|
|
|
304
293
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
305
294
|
"""
|
|
306
295
|
return Zebra(
|
|
307
|
-
name="zebra",
|
|
308
296
|
prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
|
|
309
297
|
mapping=I03_ZEBRA_MAPPING,
|
|
310
298
|
)
|
|
@@ -317,7 +305,6 @@ def xspress3mini() -> Xspress3:
|
|
|
317
305
|
"""
|
|
318
306
|
return Xspress3(
|
|
319
307
|
f"{PREFIX.beamline_prefix}-EA-XSP3-01:",
|
|
320
|
-
"xspress3mini",
|
|
321
308
|
)
|
|
322
309
|
|
|
323
310
|
|
|
@@ -329,7 +316,6 @@ def panda() -> HDFPanda:
|
|
|
329
316
|
return HDFPanda(
|
|
330
317
|
f"{PREFIX.beamline_prefix}-EA-PANDA-01:",
|
|
331
318
|
path_provider=get_path_provider(),
|
|
332
|
-
name="panda",
|
|
333
319
|
)
|
|
334
320
|
|
|
335
321
|
|
|
@@ -340,7 +326,6 @@ def sample_shutter() -> ZebraShutter:
|
|
|
340
326
|
"""
|
|
341
327
|
return ZebraShutter(
|
|
342
328
|
f"{PREFIX.beamline_prefix}-EA-SHTR-01:",
|
|
343
|
-
"sample_shutter",
|
|
344
329
|
)
|
|
345
330
|
|
|
346
331
|
|
|
@@ -351,7 +336,6 @@ def flux() -> Flux:
|
|
|
351
336
|
"""
|
|
352
337
|
return Flux(
|
|
353
338
|
f"{PREFIX.beamline_prefix}-MO-FLUX-01:",
|
|
354
|
-
"flux",
|
|
355
339
|
)
|
|
356
340
|
|
|
357
341
|
|
|
@@ -362,7 +346,6 @@ def xbpm_feedback() -> XBPMFeedback:
|
|
|
362
346
|
"""
|
|
363
347
|
return XBPMFeedback(
|
|
364
348
|
PREFIX.beamline_prefix,
|
|
365
|
-
"xbpm_feedback",
|
|
366
349
|
)
|
|
367
350
|
|
|
368
351
|
|
|
@@ -371,7 +354,10 @@ def zocalo() -> ZocaloResults:
|
|
|
371
354
|
"""Get the i03 ZocaloResults device, instantiate it if it hasn't already been.
|
|
372
355
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
373
356
|
"""
|
|
374
|
-
return ZocaloResults(
|
|
357
|
+
return ZocaloResults(
|
|
358
|
+
prefix=PREFIX.beamline_prefix,
|
|
359
|
+
results_source=ZocaloSource.GPU,
|
|
360
|
+
)
|
|
375
361
|
|
|
376
362
|
|
|
377
363
|
@device_factory()
|
|
@@ -380,7 +366,6 @@ def robot() -> BartRobot:
|
|
|
380
366
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
381
367
|
"""
|
|
382
368
|
return BartRobot(
|
|
383
|
-
"robot",
|
|
384
369
|
f"{PREFIX.beamline_prefix}-MO-ROBOT-01:",
|
|
385
370
|
)
|
|
386
371
|
|
|
@@ -391,9 +376,7 @@ def webcam() -> Webcam:
|
|
|
391
376
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
392
377
|
"""
|
|
393
378
|
return Webcam(
|
|
394
|
-
"
|
|
395
|
-
PREFIX.beamline_prefix,
|
|
396
|
-
url="http://i03-webcam1/axis-cgi/jpg/image.cgi",
|
|
379
|
+
url=URL("http://i03-webcam1/axis-cgi/jpg/image.cgi"),
|
|
397
380
|
)
|
|
398
381
|
|
|
399
382
|
|
|
@@ -404,7 +387,6 @@ def thawer() -> Thawer:
|
|
|
404
387
|
"""
|
|
405
388
|
return Thawer(
|
|
406
389
|
f"{PREFIX.beamline_prefix}-EA-THAW-01",
|
|
407
|
-
"thawer",
|
|
408
390
|
)
|
|
409
391
|
|
|
410
392
|
|
|
@@ -415,7 +397,6 @@ def lower_gonio() -> XYZStage:
|
|
|
415
397
|
"""
|
|
416
398
|
return XYZStage(
|
|
417
399
|
f"{PREFIX.beamline_prefix}-MO-GONP-01:",
|
|
418
|
-
"lower_gonio",
|
|
419
400
|
)
|
|
420
401
|
|
|
421
402
|
|
|
@@ -426,7 +407,6 @@ def cryo_stream() -> CryoStream:
|
|
|
426
407
|
"""
|
|
427
408
|
return CryoStream(
|
|
428
409
|
PREFIX.beamline_prefix,
|
|
429
|
-
"cryo_stream",
|
|
430
410
|
)
|
|
431
411
|
|
|
432
412
|
|
|
@@ -447,7 +427,6 @@ def qbpm() -> QBPM:
|
|
|
447
427
|
"""
|
|
448
428
|
return QBPM(
|
|
449
429
|
f"{PREFIX.beamline_prefix}-DI-QBPM-01:",
|
|
450
|
-
"qbpm",
|
|
451
430
|
)
|
|
452
431
|
|
|
453
432
|
|
dodal/beamlines/i04.py
CHANGED
|
@@ -43,13 +43,13 @@ from dodal.devices.zebra.zebra_constants_mapping import (
|
|
|
43
43
|
)
|
|
44
44
|
from dodal.devices.zebra.zebra_controlled_shutter import ZebraShutter
|
|
45
45
|
from dodal.devices.zocalo import ZocaloResults
|
|
46
|
+
from dodal.devices.zocalo.zocalo_results import ZocaloSource
|
|
46
47
|
from dodal.log import set_beamline as set_log_beamline
|
|
47
48
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
DISPLAY_CONFIG = "/dls_sw/i04/software/gda_versions/var/display.configuration"
|
|
50
|
+
# Use BlueAPI scratch until https://github.com/DiamondLightSource/mx-bluesky/issues/1097 is done
|
|
51
|
+
ZOOM_PARAMS_FILE = "/dls_sw/i04/software/bluesky/scratch/jCameraManZoomLevels.xml"
|
|
52
|
+
DISPLAY_CONFIG = "/dls_sw/i04/software/bluesky/scratch/display.configuration"
|
|
53
53
|
DAQ_CONFIGURATION_PATH = "/dls_sw/i04/software/daq_configuration"
|
|
54
54
|
|
|
55
55
|
|
|
@@ -72,7 +72,6 @@ def smargon() -> Smargon:
|
|
|
72
72
|
"""
|
|
73
73
|
return Smargon(
|
|
74
74
|
f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
75
|
-
"smargon",
|
|
76
75
|
)
|
|
77
76
|
|
|
78
77
|
|
|
@@ -94,7 +93,6 @@ def sample_delivery_system() -> XYZStage:
|
|
|
94
93
|
"""
|
|
95
94
|
return XYZStage(
|
|
96
95
|
f"{PREFIX.beamline_prefix}-MO-SDE-01:",
|
|
97
|
-
"sample_delivery_system",
|
|
98
96
|
)
|
|
99
97
|
|
|
100
98
|
|
|
@@ -105,7 +103,6 @@ def ipin() -> IPin:
|
|
|
105
103
|
"""
|
|
106
104
|
return IPin(
|
|
107
105
|
f"{PREFIX.beamline_prefix}-EA-PIN-01:",
|
|
108
|
-
"ipin",
|
|
109
106
|
)
|
|
110
107
|
|
|
111
108
|
|
|
@@ -127,7 +124,6 @@ def sample_shutter() -> ZebraShutter:
|
|
|
127
124
|
"""
|
|
128
125
|
return ZebraShutter(
|
|
129
126
|
f"{PREFIX.beamline_prefix}-EA-SHTR-01:",
|
|
130
|
-
"sample_shutter",
|
|
131
127
|
)
|
|
132
128
|
|
|
133
129
|
|
|
@@ -149,7 +145,6 @@ def transfocator() -> Transfocator:
|
|
|
149
145
|
"""
|
|
150
146
|
return Transfocator(
|
|
151
147
|
f"{PREFIX.beamline_prefix}-MO-FSWT-01:",
|
|
152
|
-
"transfocator",
|
|
153
148
|
)
|
|
154
149
|
|
|
155
150
|
|
|
@@ -160,22 +155,15 @@ def xbpm_feedback() -> XBPMFeedback:
|
|
|
160
155
|
"""
|
|
161
156
|
return XBPMFeedback(
|
|
162
157
|
PREFIX.beamline_prefix,
|
|
163
|
-
"xbpm_feedback",
|
|
164
158
|
)
|
|
165
159
|
|
|
166
160
|
|
|
167
161
|
@device_factory()
|
|
168
|
-
def flux(
|
|
162
|
+
def flux() -> Flux:
|
|
169
163
|
"""Get the i04 flux device, instantiate it if it hasn't already been.
|
|
170
164
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
171
165
|
"""
|
|
172
|
-
return
|
|
173
|
-
Flux,
|
|
174
|
-
"flux",
|
|
175
|
-
"-MO-FLUX-01:",
|
|
176
|
-
wait=False,
|
|
177
|
-
fake=mock,
|
|
178
|
-
)
|
|
166
|
+
return Flux(f"{PREFIX.beamline_prefix}-MO-FLUX-01:")
|
|
179
167
|
|
|
180
168
|
|
|
181
169
|
@device_factory()
|
|
@@ -185,7 +173,6 @@ def dcm() -> DCM:
|
|
|
185
173
|
"""
|
|
186
174
|
return DCM(
|
|
187
175
|
f"{PREFIX.beamline_prefix}-MO-DCM-01:",
|
|
188
|
-
"dcm",
|
|
189
176
|
)
|
|
190
177
|
|
|
191
178
|
|
|
@@ -196,7 +183,6 @@ def backlight() -> Backlight:
|
|
|
196
183
|
"""
|
|
197
184
|
return Backlight(
|
|
198
185
|
PREFIX.beamline_prefix,
|
|
199
|
-
"backlight",
|
|
200
186
|
)
|
|
201
187
|
|
|
202
188
|
|
|
@@ -209,7 +195,6 @@ def aperture_scatterguard() -> ApertureScatterguard:
|
|
|
209
195
|
params = get_beamline_parameters()
|
|
210
196
|
return ApertureScatterguard(
|
|
211
197
|
prefix=PREFIX.beamline_prefix,
|
|
212
|
-
name="aperture_scatterguard",
|
|
213
198
|
loaded_positions=load_positions_from_beamline_parameters(params),
|
|
214
199
|
tolerances=AperturePosition.tolerances_from_gda_params(params),
|
|
215
200
|
)
|
|
@@ -242,23 +227,16 @@ def zebra_fast_grid_scan() -> ZebraFastGridScan:
|
|
|
242
227
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
243
228
|
"""
|
|
244
229
|
return ZebraFastGridScan(
|
|
245
|
-
name="zebra_fast_grid_scan",
|
|
246
230
|
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
247
231
|
)
|
|
248
232
|
|
|
249
233
|
|
|
250
234
|
@device_factory()
|
|
251
|
-
def s4_slit_gaps(
|
|
235
|
+
def s4_slit_gaps() -> S4SlitGaps:
|
|
252
236
|
"""Get the i04 s4_slit_gaps device, instantiate it if it hasn't already been.
|
|
253
237
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
254
238
|
"""
|
|
255
|
-
return
|
|
256
|
-
S4SlitGaps,
|
|
257
|
-
"s4_slit_gaps",
|
|
258
|
-
"-AL-SLITS-04:",
|
|
259
|
-
wait=False,
|
|
260
|
-
fake=mock,
|
|
261
|
-
)
|
|
239
|
+
return S4SlitGaps(f"{PREFIX.beamline_prefix}-AL-SLITS-04:")
|
|
262
240
|
|
|
263
241
|
|
|
264
242
|
@device_factory()
|
|
@@ -267,7 +245,6 @@ def undulator() -> Undulator:
|
|
|
267
245
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
268
246
|
"""
|
|
269
247
|
return Undulator(
|
|
270
|
-
name="undulator",
|
|
271
248
|
prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
|
|
272
249
|
id_gap_lookup_table_path="/dls_sw/i04/software/gda/config/lookupTables/BeamLine_Undulator_toGap.txt",
|
|
273
250
|
)
|
|
@@ -278,10 +255,7 @@ def synchrotron() -> Synchrotron:
|
|
|
278
255
|
"""Get the i04 synchrotron device, instantiate it if it hasn't already been.
|
|
279
256
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
280
257
|
"""
|
|
281
|
-
return Synchrotron(
|
|
282
|
-
"",
|
|
283
|
-
"synchrotron",
|
|
284
|
-
)
|
|
258
|
+
return Synchrotron()
|
|
285
259
|
|
|
286
260
|
|
|
287
261
|
@device_factory()
|
|
@@ -290,13 +264,14 @@ def zebra() -> Zebra:
|
|
|
290
264
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
291
265
|
"""
|
|
292
266
|
return Zebra(
|
|
293
|
-
name="zebra",
|
|
294
267
|
prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
|
|
295
268
|
mapping=I04_ZEBRA_MAPPING,
|
|
296
269
|
)
|
|
297
270
|
|
|
298
271
|
|
|
299
|
-
@device_factory(
|
|
272
|
+
@device_factory(
|
|
273
|
+
skip=BL == "s04",
|
|
274
|
+
)
|
|
300
275
|
def oav(params: OAVConfig | None = None) -> OAVBeamCentrePV:
|
|
301
276
|
"""Get the i04 OAV device, instantiate it if it hasn't already been.
|
|
302
277
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
@@ -307,7 +282,9 @@ def oav(params: OAVConfig | None = None) -> OAVBeamCentrePV:
|
|
|
307
282
|
)
|
|
308
283
|
|
|
309
284
|
|
|
310
|
-
@device_factory(
|
|
285
|
+
@device_factory(
|
|
286
|
+
skip=BL == "s04",
|
|
287
|
+
)
|
|
311
288
|
def oav_full_screen(params: OAVConfig | None = None) -> OAVBeamCentrePV:
|
|
312
289
|
"""Get the i04 OAV device, instantiate it if it hasn't already been.
|
|
313
290
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
@@ -319,13 +296,14 @@ def oav_full_screen(params: OAVConfig | None = None) -> OAVBeamCentrePV:
|
|
|
319
296
|
)
|
|
320
297
|
|
|
321
298
|
|
|
322
|
-
@device_factory(
|
|
299
|
+
@device_factory(
|
|
300
|
+
skip=BL == "s04",
|
|
301
|
+
)
|
|
323
302
|
def detector_motion() -> DetectorMotion:
|
|
324
303
|
"""Get the i04 detector motion device, instantiate it if it hasn't already been.
|
|
325
304
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
326
305
|
"""
|
|
327
306
|
return DetectorMotion(
|
|
328
|
-
name="detector_motion",
|
|
329
307
|
prefix=PREFIX.beamline_prefix,
|
|
330
308
|
)
|
|
331
309
|
|
|
@@ -337,7 +315,6 @@ def thawer() -> Thawer:
|
|
|
337
315
|
"""
|
|
338
316
|
return Thawer(
|
|
339
317
|
f"{PREFIX.beamline_prefix}-EA-THAW-01",
|
|
340
|
-
"thawer",
|
|
341
318
|
)
|
|
342
319
|
|
|
343
320
|
|
|
@@ -347,7 +324,6 @@ def robot() -> BartRobot:
|
|
|
347
324
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
348
325
|
"""
|
|
349
326
|
return BartRobot(
|
|
350
|
-
"robot",
|
|
351
327
|
f"{PREFIX.beamline_prefix}-MO-ROBOT-01:",
|
|
352
328
|
)
|
|
353
329
|
|
|
@@ -359,7 +335,6 @@ def oav_to_redis_forwarder() -> OAVToRedisForwarder:
|
|
|
359
335
|
"""
|
|
360
336
|
return OAVToRedisForwarder(
|
|
361
337
|
f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
362
|
-
name="oav_to_redis_forwarder",
|
|
363
338
|
redis_host=RedisConstants.REDIS_HOST,
|
|
364
339
|
redis_password=RedisConstants.REDIS_PASSWORD,
|
|
365
340
|
redis_db=RedisConstants.MURKO_REDIS_DB,
|
|
@@ -372,7 +347,6 @@ def murko_results() -> MurkoResultsDevice:
|
|
|
372
347
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
373
348
|
"""
|
|
374
349
|
return MurkoResultsDevice(
|
|
375
|
-
name="murko_results",
|
|
376
350
|
redis_host=RedisConstants.REDIS_HOST,
|
|
377
351
|
redis_password=RedisConstants.REDIS_PASSWORD,
|
|
378
352
|
redis_db=RedisConstants.MURKO_REDIS_DB,
|
|
@@ -394,7 +368,7 @@ def zocalo() -> ZocaloResults:
|
|
|
394
368
|
"""Get the i04 ZocaloResults device, instantiate it if it hasn't already been.
|
|
395
369
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
396
370
|
"""
|
|
397
|
-
return ZocaloResults(channel="xrc.i04")
|
|
371
|
+
return ZocaloResults(channel="xrc.i04", results_source=ZocaloSource.CPU)
|
|
398
372
|
|
|
399
373
|
|
|
400
374
|
@device_factory()
|
dodal/beamlines/i05.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from dodal.beamline_specific_utils.i05_shared import pgm as i05_pgm
|
|
2
|
+
from dodal.common.beamlines.beamline_utils import device_factory
|
|
3
|
+
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
4
|
+
from dodal.devices.pgm import PGM
|
|
5
|
+
from dodal.devices.synchrotron import Synchrotron
|
|
6
|
+
from dodal.log import set_beamline as set_log_beamline
|
|
7
|
+
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
8
|
+
|
|
9
|
+
BL = get_beamline_name("i05")
|
|
10
|
+
PREFIX = BeamlinePrefix(BL)
|
|
11
|
+
set_log_beamline(BL)
|
|
12
|
+
set_utils_beamline(BL)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@device_factory()
|
|
16
|
+
def synchrotron() -> Synchrotron:
|
|
17
|
+
return Synchrotron()
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@device_factory()
|
|
21
|
+
def pgm() -> PGM:
|
|
22
|
+
return i05_pgm()
|
dodal/beamlines/i05_1.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from dodal.beamline_specific_utils.i05_shared import pgm as i05_pgm
|
|
2
|
+
from dodal.common.beamlines.beamline_utils import device_factory
|
|
3
|
+
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
4
|
+
from dodal.devices.pgm import PGM
|
|
5
|
+
from dodal.devices.synchrotron import Synchrotron
|
|
6
|
+
from dodal.log import set_beamline as set_log_beamline
|
|
7
|
+
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
8
|
+
|
|
9
|
+
BL = get_beamline_name("i05-1")
|
|
10
|
+
PREFIX = BeamlinePrefix(BL, suffix="J")
|
|
11
|
+
set_log_beamline(BL)
|
|
12
|
+
set_utils_beamline(BL)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@device_factory()
|
|
16
|
+
def pgm() -> PGM:
|
|
17
|
+
return i05_pgm()
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@device_factory()
|
|
21
|
+
def synchrotron() -> Synchrotron:
|
|
22
|
+
return Synchrotron()
|
dodal/beamlines/i09.py
CHANGED
|
@@ -3,7 +3,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
|
|
6
|
-
from dodal.devices.i09 import DCM, Grating, LensMode
|
|
6
|
+
from dodal.devices.i09 import DCM, Grating, LensMode, PassEnergy, PsuMode
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
9
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -33,14 +33,18 @@ def dcm() -> DCM:
|
|
|
33
33
|
return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
|
|
34
34
|
|
|
35
35
|
|
|
36
|
+
# Connect will work again after this work completed
|
|
37
|
+
# https://jira.diamond.ac.uk/browse/I09-651
|
|
36
38
|
@device_factory()
|
|
37
|
-
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
|
|
39
|
+
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy]:
|
|
38
40
|
energy_sources = {
|
|
39
41
|
"source1": pgm().energy.user_readback,
|
|
40
42
|
"source2": dcm().energy_in_ev,
|
|
41
43
|
}
|
|
42
|
-
return VGScientaAnalyserDriverIO[LensMode](
|
|
44
|
+
return VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy](
|
|
43
45
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
44
46
|
lens_mode_type=LensMode,
|
|
47
|
+
psu_mode_type=PsuMode,
|
|
48
|
+
pass_energy_type=PassEnergy,
|
|
45
49
|
energy_sources=energy_sources,
|
|
46
50
|
)
|
dodal/beamlines/i09_1.py
CHANGED
|
@@ -4,7 +4,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
6
6
|
from dodal.devices.i09.dcm import DCM
|
|
7
|
-
from dodal.devices.i09_1 import LensMode
|
|
7
|
+
from dodal.devices.i09_1 import LensMode, PsuMode
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
9
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
10
10
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
@@ -25,10 +25,13 @@ def dcm() -> DCM:
|
|
|
25
25
|
return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
# Connect will work again after this work completed
|
|
29
|
+
# https://jira.diamond.ac.uk/browse/I09-651
|
|
28
30
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
-
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
|
|
32
|
+
return SpecsAnalyserDriverIO[LensMode, PsuMode](
|
|
31
33
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
32
34
|
lens_mode_type=LensMode,
|
|
35
|
+
psu_mode_type=PsuMode,
|
|
33
36
|
energy_sources={"source1": dcm().energy_in_ev},
|
|
34
37
|
)
|
dodal/beamlines/i13_1.py
CHANGED
dodal/beamlines/i19_1.py
CHANGED
|
@@ -42,7 +42,7 @@ DISPLAY_CONFIG = "/dls_sw/i19-1/software/daq_configuration/domain/display.config
|
|
|
42
42
|
|
|
43
43
|
# Needs to wait until enum is fixed on the beamline
|
|
44
44
|
# See https://github.com/DiamondLightSource/dodal/issues/1150
|
|
45
|
-
@device_factory(
|
|
45
|
+
@device_factory()
|
|
46
46
|
def beamstop() -> BeamStop:
|
|
47
47
|
"""Get the i19-1 beamstop device, instantiate it if it hasn't already been.
|
|
48
48
|
If this is called when already instantiated in i19-1, it will return the existing object.
|
|
@@ -65,7 +65,6 @@ def zebra() -> Zebra:
|
|
|
65
65
|
"""
|
|
66
66
|
return Zebra(
|
|
67
67
|
mapping=I19_1_ZEBRA_MAPPING,
|
|
68
|
-
name="zebra",
|
|
69
68
|
prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-03:",
|
|
70
69
|
)
|
|
71
70
|
|
dodal/beamlines/i19_2.py
CHANGED
dodal/beamlines/i19_optics.py
CHANGED
|
@@ -20,10 +20,7 @@ def shutter() -> HutchShutter:
|
|
|
20
20
|
"""Get the i19 hutch shutter device, instantiate it if it hasn't already been.
|
|
21
21
|
If this is called when already instantiated, it will return the existing object.
|
|
22
22
|
"""
|
|
23
|
-
return HutchShutter(
|
|
24
|
-
f"{PREFIX.beamline_prefix}-PS-SHTR-01:",
|
|
25
|
-
"shutter",
|
|
26
|
-
)
|
|
23
|
+
return HutchShutter(f"{PREFIX.beamline_prefix}-PS-SHTR-01:")
|
|
27
24
|
|
|
28
25
|
|
|
29
26
|
@device_factory()
|