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.
Files changed (74) hide show
  1. {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/METADATA +4 -6
  2. {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/RECORD +74 -66
  3. dodal/_version.py +16 -3
  4. dodal/beamline_specific_utils/i05_shared.py +11 -0
  5. dodal/beamlines/__init__.py +1 -0
  6. dodal/beamlines/aithre.py +2 -3
  7. dodal/beamlines/b01_1.py +2 -2
  8. dodal/beamlines/b07.py +6 -3
  9. dodal/beamlines/b07_1.py +17 -6
  10. dodal/beamlines/b16.py +0 -1
  11. dodal/beamlines/b21.py +4 -6
  12. dodal/beamlines/i03.py +10 -31
  13. dodal/beamlines/i04.py +19 -45
  14. dodal/beamlines/i05.py +22 -0
  15. dodal/beamlines/i05_1.py +22 -0
  16. dodal/beamlines/i09.py +7 -3
  17. dodal/beamlines/i09_1.py +6 -3
  18. dodal/beamlines/i13_1.py +0 -1
  19. dodal/beamlines/i19_1.py +1 -2
  20. dodal/beamlines/i19_2.py +0 -1
  21. dodal/beamlines/i19_optics.py +1 -4
  22. dodal/beamlines/i20_1.py +38 -9
  23. dodal/beamlines/i23.py +1 -2
  24. dodal/beamlines/i24.py +0 -12
  25. dodal/beamlines/p60.py +13 -3
  26. dodal/common/beamlines/beamline_parameters.py +1 -1
  27. dodal/common/beamlines/device_helpers.py +0 -33
  28. dodal/devices/aithre_lasershaping/__init__.py +0 -0
  29. dodal/devices/aithre_lasershaping/goniometer.py +3 -26
  30. dodal/devices/aithre_lasershaping/laser_robot.py +2 -2
  31. dodal/devices/b07/__init__.py +2 -2
  32. dodal/devices/b07/enums.py +15 -0
  33. dodal/devices/b07_1/__init__.py +10 -1
  34. dodal/devices/b07_1/ccmc.py +79 -0
  35. dodal/devices/b07_1/enums.py +3 -0
  36. dodal/devices/electron_analyser/abstract/base_driver_io.py +25 -48
  37. dodal/devices/electron_analyser/abstract/base_region.py +9 -11
  38. dodal/devices/electron_analyser/abstract/types.py +12 -0
  39. dodal/devices/electron_analyser/specs/detector.py +9 -9
  40. dodal/devices/electron_analyser/specs/driver_io.py +54 -21
  41. dodal/devices/electron_analyser/specs/region.py +13 -8
  42. dodal/devices/electron_analyser/types.py +15 -6
  43. dodal/devices/electron_analyser/vgscienta/detector.py +18 -8
  44. dodal/devices/electron_analyser/vgscienta/driver_io.py +62 -24
  45. dodal/devices/electron_analyser/vgscienta/region.py +33 -16
  46. dodal/devices/focusing_mirror.py +1 -1
  47. dodal/devices/i03/undulator_dcm.py +8 -3
  48. dodal/devices/i05/__init__.py +3 -0
  49. dodal/devices/i05/enums.py +8 -0
  50. dodal/devices/i09/__init__.py +2 -2
  51. dodal/devices/i09/enums.py +16 -0
  52. dodal/devices/i09_1/__init__.py +2 -2
  53. dodal/devices/i09_1/enums.py +13 -0
  54. dodal/devices/i10/mirrors.py +2 -6
  55. dodal/devices/i13_1/merlin_controller.py +1 -1
  56. dodal/devices/i19/beamstop.py +2 -2
  57. dodal/devices/i24/aperture.py +1 -1
  58. dodal/devices/motors.py +75 -1
  59. dodal/devices/oav/oav_to_redis_forwarder.py +1 -1
  60. dodal/devices/oav/pin_image_recognition/__init__.py +1 -2
  61. dodal/devices/p60/__init__.py +8 -2
  62. dodal/devices/p60/enums.py +16 -0
  63. dodal/devices/robot.py +7 -4
  64. dodal/devices/tetramm.py +1 -2
  65. dodal/devices/webcam.py +2 -1
  66. dodal/devices/zebra/zebra.py +1 -1
  67. dodal/devices/zebra/zebra_controlled_shutter.py +1 -1
  68. dodal/devices/zocalo/__init__.py +2 -0
  69. dodal/devices/zocalo/zocalo_results.py +16 -26
  70. dodal/utils.py +3 -10
  71. {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/WHEEL +0 -0
  72. {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/entry_points.txt +0 -0
  73. {dls_dodal-1.53.0.dist-info → dls_dodal-1.55.0.dist-info}/licenses/LICENSE +0 -0
  74. {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, name="backlight")
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:", "smargon")
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("", "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(name="zocalo", prefix=PREFIX.beamline_prefix, use_gpu=True)
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
- "webcam",
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
- ZOOM_PARAMS_FILE = (
50
- "/dls_sw/i04/software/gda/configurations/i04-config/xml/jCameraManZoomLevels.xml"
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(mock: bool = False) -> 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 device_instantiation(
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(mock: bool = False) -> S4SlitGaps:
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 device_instantiation(
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(skip=BL == "s04")
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(skip=BL == "s04")
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(skip=BL == "s04")
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()
@@ -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
@@ -52,7 +52,6 @@ def side_camera() -> AravisDetector:
52
52
  def merlin() -> Merlin:
53
53
  return Merlin(
54
54
  prefix=f"{PREFIX}-EA-DET-04:",
55
- name="merlin",
56
55
  drv_suffix="CAM:",
57
56
  fileio_suffix="HDF5:",
58
57
  path_provider=get_path_provider(),
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(skip=True)
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
@@ -47,7 +47,6 @@ def zebra() -> Zebra:
47
47
  """
48
48
  return Zebra(
49
49
  mapping=I19_2_ZEBRA_MAPPING,
50
- name="zebra",
51
50
  prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
52
51
  )
53
52
 
@@ -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()