dls-dodal 1.29.4__py3-none-any.whl → 1.30.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.29.4.dist-info → dls_dodal-1.30.0.dist-info}/METADATA +27 -42
- dls_dodal-1.30.0.dist-info/RECORD +132 -0
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/WHEEL +1 -1
- dls_dodal-1.30.0.dist-info/entry_points.txt +3 -0
- dodal/__init__.py +1 -4
- dodal/_version.py +2 -2
- dodal/beamlines/__init__.py +3 -1
- dodal/beamlines/i03.py +28 -23
- dodal/beamlines/i04.py +34 -12
- dodal/beamlines/i13_1.py +66 -0
- dodal/beamlines/i22.py +5 -5
- dodal/beamlines/i24.py +1 -1
- dodal/beamlines/p38.py +7 -7
- dodal/beamlines/p45.py +7 -5
- dodal/beamlines/p99.py +61 -0
- dodal/cli.py +6 -3
- dodal/common/beamlines/beamline_parameters.py +2 -2
- dodal/common/beamlines/beamline_utils.py +6 -5
- dodal/common/maths.py +1 -3
- dodal/common/types.py +2 -3
- dodal/common/udc_directory_provider.py +14 -3
- dodal/common/visit.py +2 -3
- dodal/devices/CTAB.py +22 -17
- dodal/devices/aperturescatterguard.py +114 -136
- dodal/devices/areadetector/adaravis.py +8 -6
- dodal/devices/areadetector/adsim.py +2 -3
- dodal/devices/areadetector/adutils.py +20 -12
- dodal/devices/cryostream.py +19 -7
- dodal/devices/detector/__init__.py +13 -2
- dodal/devices/detector/det_dim_constants.py +2 -2
- dodal/devices/detector/det_dist_to_beam_converter.py +1 -1
- dodal/devices/detector/detector.py +5 -5
- dodal/devices/detector/detector_motion.py +38 -31
- dodal/devices/eiger.py +11 -15
- dodal/devices/eiger_odin.py +9 -10
- dodal/devices/fast_grid_scan.py +4 -3
- dodal/devices/fluorescence_detector_motion.py +13 -4
- dodal/devices/focusing_mirror.py +4 -4
- dodal/devices/hutch_shutter.py +4 -4
- dodal/devices/i22/dcm.py +4 -3
- dodal/devices/i22/fswitch.py +4 -4
- dodal/devices/i22/nxsas.py +23 -32
- dodal/devices/i24/pmac.py +47 -8
- dodal/devices/ipin.py +7 -4
- dodal/devices/linkam3.py +11 -5
- dodal/devices/logging_ophyd_device.py +1 -1
- dodal/devices/motors.py +31 -5
- dodal/devices/oav/grid_overlay.py +1 -0
- dodal/devices/oav/microns_for_zoom_levels.json +1 -1
- dodal/devices/oav/oav_detector.py +2 -1
- dodal/devices/oav/oav_parameters.py +18 -10
- dodal/devices/oav/oav_to_redis_forwarder.py +100 -0
- dodal/devices/oav/pin_image_recognition/__init__.py +6 -6
- dodal/devices/oav/pin_image_recognition/utils.py +5 -6
- dodal/devices/oav/utils.py +2 -2
- dodal/devices/p99/__init__.py +0 -0
- dodal/devices/p99/sample_stage.py +43 -0
- dodal/devices/robot.py +30 -18
- dodal/devices/scintillator.py +8 -5
- dodal/devices/smargon.py +3 -3
- dodal/devices/status.py +2 -31
- dodal/devices/tetramm.py +4 -4
- dodal/devices/thawer.py +5 -3
- dodal/devices/undulator_dcm.py +6 -8
- dodal/devices/util/adjuster_plans.py +2 -2
- dodal/devices/util/epics_util.py +5 -7
- dodal/devices/util/lookup_tables.py +2 -3
- dodal/devices/util/save_panda.py +87 -0
- dodal/devices/util/test_utils.py +17 -0
- dodal/devices/webcam.py +3 -3
- dodal/devices/xbpm_feedback.py +0 -23
- dodal/devices/zebra.py +10 -10
- dodal/devices/zebra_controlled_shutter.py +3 -3
- dodal/devices/zocalo/zocalo_interaction.py +10 -2
- dodal/devices/zocalo/zocalo_results.py +31 -18
- dodal/log.py +14 -5
- dodal/plans/data_session_metadata.py +1 -0
- dodal/plans/motor_util_plans.py +117 -0
- dodal/utils.py +65 -22
- dls_dodal-1.29.4.dist-info/RECORD +0 -125
- dls_dodal-1.29.4.dist-info/entry_points.txt +0 -2
- dodal/devices/qbpm1.py +0 -8
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/LICENSE +0 -0
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/top_level.txt +0 -0
- /dodal/devices/i24/{I24_detector_motion.py → i24_detector_motion.py} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.30.0
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -210,8 +210,9 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
210
210
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
211
|
Classifier: Programming Language :: Python :: 3.10
|
|
212
212
|
Classifier: Programming Language :: Python :: 3.11
|
|
213
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
213
214
|
Requires-Python: >=3.10
|
|
214
|
-
Description-Content-Type: text/
|
|
215
|
+
Description-Content-Type: text/markdown
|
|
215
216
|
License-File: LICENSE
|
|
216
217
|
Requires-Dist: click
|
|
217
218
|
Requires-Dist: ophyd
|
|
@@ -220,7 +221,7 @@ Requires-Dist: bluesky
|
|
|
220
221
|
Requires-Dist: pyepics
|
|
221
222
|
Requires-Dist: dataclasses-json
|
|
222
223
|
Requires-Dist: pillow
|
|
223
|
-
Requires-Dist: zocalo
|
|
224
|
+
Requires-Dist: zocalo <1.0.0,>=0.32.0
|
|
224
225
|
Requires-Dist: requests
|
|
225
226
|
Requires-Dist: graypy
|
|
226
227
|
Requires-Dist: pydantic
|
|
@@ -230,18 +231,23 @@ Requires-Dist: p4p
|
|
|
230
231
|
Requires-Dist: numpy <2.0
|
|
231
232
|
Requires-Dist: aiofiles
|
|
232
233
|
Requires-Dist: aiohttp
|
|
234
|
+
Requires-Dist: redis
|
|
233
235
|
Provides-Extra: dev
|
|
236
|
+
Requires-Dist: black ; extra == 'dev'
|
|
237
|
+
Requires-Dist: diff-cover ; extra == 'dev'
|
|
234
238
|
Requires-Dist: mypy ; extra == 'dev'
|
|
235
|
-
Requires-Dist:
|
|
239
|
+
Requires-Dist: myst-parser ; extra == 'dev'
|
|
236
240
|
Requires-Dist: pipdeptree ; extra == 'dev'
|
|
237
241
|
Requires-Dist: pre-commit ; extra == 'dev'
|
|
238
242
|
Requires-Dist: psutil ; extra == 'dev'
|
|
239
243
|
Requires-Dist: pydata-sphinx-theme >=0.12 ; extra == 'dev'
|
|
244
|
+
Requires-Dist: pyright ; extra == 'dev'
|
|
240
245
|
Requires-Dist: pytest ; extra == 'dev'
|
|
241
246
|
Requires-Dist: pytest-asyncio ; extra == 'dev'
|
|
242
247
|
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
243
248
|
Requires-Dist: pytest-random-order ; extra == 'dev'
|
|
244
249
|
Requires-Dist: ruff ; extra == 'dev'
|
|
250
|
+
Requires-Dist: sphinx <7.4.6 ; extra == 'dev'
|
|
245
251
|
Requires-Dist: sphinx-autobuild ; extra == 'dev'
|
|
246
252
|
Requires-Dist: sphinx-copybutton ; extra == 'dev'
|
|
247
253
|
Requires-Dist: sphinxcontrib-mermaid ; extra == 'dev'
|
|
@@ -253,64 +259,43 @@ Requires-Dist: types-mock ; extra == 'dev'
|
|
|
253
259
|
Requires-Dist: types-PyYAML ; extra == 'dev'
|
|
254
260
|
Requires-Dist: types-aiofiles ; extra == 'dev'
|
|
255
261
|
|
|
256
|
-
dodal
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
262
|
+
[](https://github.com/DiamondLightSource/dodal/actions/workflows/ci.yml)
|
|
263
|
+
[](https://codecov.io/gh/DiamondLightSource/dodal)
|
|
264
|
+
[](https://pypi.org/project/dls-dodal)
|
|
265
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
260
266
|
|
|
267
|
+
# dodal
|
|
261
268
|
|
|
262
269
|
Ophyd devices and other utils that could be used across DLS beamlines
|
|
263
270
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
Documentation
|
|
268
|
-
Releases
|
|
269
|
-
============== ==============================================================
|
|
271
|
+
Source | <https://github.com/DiamondLightSource/dodal>
|
|
272
|
+
:---: | :---:
|
|
273
|
+
PyPI | `pip install dls-dodal`
|
|
274
|
+
Documentation | <https://diamondlightsource.github.io/dodal>
|
|
275
|
+
Releases | <https://github.com/DiamondLightSource/dodal/releases>
|
|
270
276
|
|
|
271
277
|
Testing Connectivity
|
|
272
278
|
--------------------
|
|
273
279
|
|
|
274
280
|
You can test your connection to a beamline if it's PVs are visible to your machine with:
|
|
275
281
|
|
|
276
|
-
.. code:: shell
|
|
277
282
|
|
|
283
|
+
```
|
|
278
284
|
# On any workstation:
|
|
279
285
|
dodal connect <BEAMLINE>
|
|
280
286
|
|
|
281
287
|
# On a beamline workstation, this should suffice:
|
|
282
288
|
dodal connect ${BEAMLINE}
|
|
289
|
+
```
|
|
283
290
|
|
|
284
291
|
|
|
285
|
-
For more options, including a list of valid beamlines, type
|
|
286
292
|
|
|
287
|
-
|
|
293
|
+
For more options, including a list of valid beamlines, type
|
|
288
294
|
|
|
295
|
+
```
|
|
289
296
|
dodal connect --help
|
|
297
|
+
```
|
|
290
298
|
|
|
299
|
+
<!-- README only content. Anything below this line won't be included in index.md -->
|
|
291
300
|
|
|
292
|
-
|
|
293
|
-
:target: https://github.com/DiamondLightSource/dodal/actions/workflows/code.yml
|
|
294
|
-
:alt: Code CI
|
|
295
|
-
|
|
296
|
-
.. |docs_ci| image:: https://github.com/DiamondLightSource/dodal/actions/workflows/docs.yml/badge.svg?branch=main
|
|
297
|
-
:target: https://github.com/DiamondLightSource/dodal/actions/workflows/docs.yml
|
|
298
|
-
:alt: Docs CI
|
|
299
|
-
|
|
300
|
-
.. |coverage| image:: https://codecov.io/gh/DiamondLightSource/dodal/branch/main/graph/badge.svg
|
|
301
|
-
:target: https://codecov.io/gh/DiamondLightSource/dodal
|
|
302
|
-
:alt: Test Coverage
|
|
303
|
-
|
|
304
|
-
.. |pypi_version| image:: https://img.shields.io/pypi/v/dls-dodal.svg
|
|
305
|
-
:target: https://pypi.org/project/dls-dodal
|
|
306
|
-
:alt: Latest PyPI version
|
|
307
|
-
|
|
308
|
-
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
309
|
-
:target: https://opensource.org/licenses/Apache-2.0
|
|
310
|
-
:alt: Apache License
|
|
311
|
-
|
|
312
|
-
..
|
|
313
|
-
Anything below this line is used when viewing README.rst and will be replaced
|
|
314
|
-
when included in index.rst
|
|
315
|
-
|
|
316
|
-
See https://DiamondLightSource.github.io/dodal for more detailed documentation.
|
|
301
|
+
See https://diamondlightsource.github.io/dodal for more detailed documentation.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
dodal/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
|
|
2
|
+
dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
|
|
3
|
+
dodal/_version.py,sha256=3O7CSAW5ITJG2wygPANaMSiqdTff8ZC6oMkdurXzaA8,413
|
|
4
|
+
dodal/adsim.py,sha256=OW2dcS7ciD4Yq9WFw4PN_c5Bwccrmu7R-zr-u6ZCbQM,497
|
|
5
|
+
dodal/cli.py,sha256=_crmaHchxphSW8eEJB58_XZIeK82aiUv9bV7tpz-LpA,2122
|
|
6
|
+
dodal/log.py,sha256=1o93tmUdeTxfzM5c1eAJq5yi_dwOBitcWIC1wp60CfI,8873
|
|
7
|
+
dodal/utils.py,sha256=VV-IQHehAdE95wxq3C4kIl5Dt5MTtmgzVaqKm-k3Q4I,11769
|
|
8
|
+
dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
dodal/beamline_specific_utils/i03.py,sha256=Ixe1anFQl-kwRJubmQx28TIW4Zw8qDxpElNNNapWQHI,396
|
|
10
|
+
dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
|
|
11
|
+
dodal/beamlines/__init__.py,sha256=XNjwp8yvxlF9eik6igebVs9jeur4Cu7xwEAMFcuhspU,2968
|
|
12
|
+
dodal/beamlines/i03.py,sha256=NF-CcIC93_6JyVuURgcX-w0iqrhbHaKr-vzqXYn6o24,17045
|
|
13
|
+
dodal/beamlines/i04.py,sha256=34m9KqKc9QlR_CeeXC_A1C_bPq9QJ5YdMg_-gTEZYtc,13759
|
|
14
|
+
dodal/beamlines/i04_1.py,sha256=KDxSUQNhIs_NFiRaLY-Jiory0DeN7Y0ErvGuoTrwCDU,4731
|
|
15
|
+
dodal/beamlines/i13_1.py,sha256=Nda_Saz1Q-ov37XKKWdjv8I3_jQEmjjjXQBVw1eOMzg,1879
|
|
16
|
+
dodal/beamlines/i20_1.py,sha256=MaPgONHqpoZuBtkiKEzYtViJnKBM2_ekeP4OdbmuXHE,1158
|
|
17
|
+
dodal/beamlines/i22.py,sha256=xvCqL3GH4JBz6GzjbCKhWTbymTIir8UlqYV4gk5ww2o,9880
|
|
18
|
+
dodal/beamlines/i23.py,sha256=2j5qLoqE_hg9ETHqNkOVu7LLkVB8qalgXeORnVYKN_I,1075
|
|
19
|
+
dodal/beamlines/i24.py,sha256=1XVCNWbzowQB6CWpJGSLp9Ih0zypktIzHxb64h-Xj6Y,6583
|
|
20
|
+
dodal/beamlines/p38.py,sha256=M6616HlwWhznK5MsDNqVy8KUFk1NcicCigDEAxBsSUo,8032
|
|
21
|
+
dodal/beamlines/p45.py,sha256=wyjrO2PdOGvhtz0hKXAoo-RegN_dQVt-iFzh2V9ZaKU,2997
|
|
22
|
+
dodal/beamlines/p99.py,sha256=mHMYi1M_jgSB9SrOPadxvPuMrxG8LmJOYtU0Iw6fnIQ,1708
|
|
23
|
+
dodal/common/__init__.py,sha256=ZC4ICKUDB0BDxRaVy8nmqclVmDBne-dPtk6UJsoFq6I,258
|
|
24
|
+
dodal/common/coordination.py,sha256=OxIjDiO1-9A9KESRPFtzwkvvQlavbgA5RHemlbubBPg,1168
|
|
25
|
+
dodal/common/maths.py,sha256=K9x7iL3xXLtWYTV-xlFHDNSTIL9a2UP3Ws7wr6Dm2rQ,1803
|
|
26
|
+
dodal/common/types.py,sha256=0dAF8XK9FT6PmT1KPMM4_YkN4zqMtfFzDPVRGpfEMDE,571
|
|
27
|
+
dodal/common/udc_directory_provider.py,sha256=kftG-Fb3hprSIh9AAXoA2bULlsxYU0-XHe60Kbx1WM0,1942
|
|
28
|
+
dodal/common/visit.py,sha256=i7I2sTzIzV7aGDKL5-xFEt_jB5cY9wKVb8-BCOXSCxc,6042
|
|
29
|
+
dodal/common/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
dodal/common/beamlines/beamline_parameters.py,sha256=PiOhmpNwF3Z8RsUZwgEqiF1RFQZVEiaxKDoiCaz9gxo,3570
|
|
31
|
+
dodal/common/beamlines/beamline_utils.py,sha256=7A1RL5ZyJiN5wsdtaAY51J5gXaqi7bUgS_YiI7XJ4Ls,4482
|
|
32
|
+
dodal/common/beamlines/device_helpers.py,sha256=s79js7no9k8JMfG7NvdmFomSP5m5VDQ6th_Hsbx1znA,939
|
|
33
|
+
dodal/devices/CTAB.py,sha256=vmvb7uleWCicKhFpIfCG-LgCYkhmTi7Lp6uxxnMR3uI,2001
|
|
34
|
+
dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
dodal/devices/adsim.py,sha256=dMU0TKIuiODHYFHQOH4_5UvB8iJtaJEtjqaEDGjcU-w,311
|
|
36
|
+
dodal/devices/aperture.py,sha256=0MtTzKMDZ5DVAz0DE0kXI0M76VCp0y9vFsrMggEMpxk,586
|
|
37
|
+
dodal/devices/aperturescatterguard.py,sha256=sgpYrvDTa1z9KwoPSzg0jx4ZCdfI16pFRuVnrZ_L8X0,10158
|
|
38
|
+
dodal/devices/attenuator.py,sha256=viK1iccNekX6ZvR_ZmSwj5JdM1j2B8pcTg8qWDdmzhQ,2584
|
|
39
|
+
dodal/devices/backlight.py,sha256=vsNGZB4C_mVMafllvJlOTghsfv6UqALMKUMLXu3WZ5k,1115
|
|
40
|
+
dodal/devices/beamstop.py,sha256=8L3qhlk-3ZBOp10xK1i8qZqYTGOXX1mVF1MgXoN0dfg,215
|
|
41
|
+
dodal/devices/cryostream.py,sha256=CpNA2HGhN_PXkL9eqH_yAPsDxyOLIiehlUxEoNmXJVg,668
|
|
42
|
+
dodal/devices/dcm.py,sha256=vfyGYDzfSwTiNqlzkfNjkrL-Q1hNVSgJddvJ5Un_lvg,1610
|
|
43
|
+
dodal/devices/eiger.py,sha256=sR-Fr97Y0lzzq57fFOUTwUZw5E7asoj36A1JR1QUkLI,13985
|
|
44
|
+
dodal/devices/eiger_odin.py,sha256=tDpEhOUY02YManYAMRI3TwSDDa3uITBxI0JHevaK7Rk,7010
|
|
45
|
+
dodal/devices/fast_grid_scan.py,sha256=HCa8WeNbkyaQFKS-qcSRqWh77sFNxhjP86OJgowVxlY,12531
|
|
46
|
+
dodal/devices/fluorescence_detector_motion.py,sha256=5IcyaVHXa9TXLFlLB0tfpQ1_ThgIRJNaFNw_uj6ahCA,501
|
|
47
|
+
dodal/devices/flux.py,sha256=RtPStHw7Mad0igVKntKWVZfuZn2clokVJqH14HLix6M,198
|
|
48
|
+
dodal/devices/focusing_mirror.py,sha256=gZhJWXaea2SPx9LklbxRWsFtX2rQAtBdHXoT35Rsz1Q,5943
|
|
49
|
+
dodal/devices/hutch_shutter.py,sha256=_-hR3SJHM05YHV_fEtc0VYOLamYnpVGDE56AwJGJS48,3320
|
|
50
|
+
dodal/devices/ipin.py,sha256=qsf8E3xrJYNDwzsacNLCCp3gaqsadqmN1b-Fvou8y8k,420
|
|
51
|
+
dodal/devices/linkam3.py,sha256=xcOAMTnifyML7e4qEluqDwAJSiaIzAtIYiqAs8rW6Yc,3850
|
|
52
|
+
dodal/devices/logging_ophyd_device.py,sha256=dUVE-XhWA56WUXez0mrc4sf322CXY3MVLreTycO5j_A,668
|
|
53
|
+
dodal/devices/motors.py,sha256=uezbefx_vt6rAkmXkJZYuT0mjlNQ2WbUjGwmXsAMz5s,1040
|
|
54
|
+
dodal/devices/p45.py,sha256=jzBW2fGRhIbGzSRs5Fgupxro6aqE611n1RTcrTTG-yY,1047
|
|
55
|
+
dodal/devices/robot.py,sha256=1HfS65aSW-n3UaxkRi-lvEwkgESJ1LsANpV_2ph6fgo,4856
|
|
56
|
+
dodal/devices/s4_slit_gaps.py,sha256=j3kgF9WfGFaU9xdUuiAh-QqI5u_vhiAftaDVINt91SM,243
|
|
57
|
+
dodal/devices/scatterguard.py,sha256=0qnvhoo3RjLsrxVgIoDJpryqunlgMVgaTsoyKRC2g4Y,331
|
|
58
|
+
dodal/devices/scintillator.py,sha256=nALikcx8Kix_1ampU-MQBNur_xykAovnFQDrd1EawJw,366
|
|
59
|
+
dodal/devices/slits.py,sha256=URru9VN2N19KqeUPDZaBmyKYn0_JJiE0Vko4sZpfsl8,601
|
|
60
|
+
dodal/devices/smargon.py,sha256=tylxDN4yfGNx5Pwe12wgn7FpEXuGK6K0XnuNxiJ0spc,4707
|
|
61
|
+
dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
|
|
62
|
+
dodal/devices/synchrotron.py,sha256=QtTufJA_fCaBawHougSc7nxwu240oX46_y0P-4qIW8o,1960
|
|
63
|
+
dodal/devices/tetramm.py,sha256=QdDvQiD_wZpR_ZdVH8NG6Y4MpCn9JWulq1bXCBC9OBA,8585
|
|
64
|
+
dodal/devices/thawer.py,sha256=Gq-3f__KJUM6_Ds9OVxpZ5jC447HywJxQGXen6L33Lk,1616
|
|
65
|
+
dodal/devices/turbo_slit.py,sha256=W3ZRIqDhq4iMhr5GcIiWvl2U1GaPtGanqkL7upQOZTY,1132
|
|
66
|
+
dodal/devices/undulator.py,sha256=kn84MQpuBHtQj7H7HeBoAYKXu5buGKvTgs3tf2gdEdw,2074
|
|
67
|
+
dodal/devices/undulator_dcm.py,sha256=qUMGKnRluO2jsfz6TuXx6ddN59MlLg1lBqloeBgYZIg,5134
|
|
68
|
+
dodal/devices/webcam.py,sha256=znZHHmQjM0T0XSAYXJraCGlwPPGbt3PF6rWjTSbAikI,1394
|
|
69
|
+
dodal/devices/xbpm_feedback.py,sha256=MxWi_jYGHJFehumadL9fuG8B9IDYCiWFMKjstAVmcoM,1209
|
|
70
|
+
dodal/devices/zebra.py,sha256=MQleFvBeS94JqEhPLi7e9USC20nebeq0bcM_uTNHK34,9182
|
|
71
|
+
dodal/devices/zebra_controlled_shutter.py,sha256=J6emrPmDhRXhH8d9m4dlGHJcNDhS1-T4Tr2AXJ1WXTY,1061
|
|
72
|
+
dodal/devices/areadetector/__init__.py,sha256=8IwLxuZMW0MOJpJp_ZDdlaE20hrtsH_PXWGaKgMiYs4,240
|
|
73
|
+
dodal/devices/areadetector/adaravis.py,sha256=Cqw_Mzrp_zODFxQ2LZBJzHp_DsZ6_dAITkZz8gYz_0w,3797
|
|
74
|
+
dodal/devices/areadetector/adsim.py,sha256=cIc9PRbKnftBk7Ut8d8CU_TVrin8EwcKHObP2n9VxWM,1876
|
|
75
|
+
dodal/devices/areadetector/adutils.py,sha256=4axFR3wtn-K-sjMVJyfTcu-8g35odf2cY8mTKv1gS-o,3093
|
|
76
|
+
dodal/devices/areadetector/plugins/MJPG.py,sha256=2ISGUg9JxJYzEH640WUIsvFwKolSTywkTyPy9wz6f_k,4064
|
|
77
|
+
dodal/devices/detector/__init__.py,sha256=-RdACL3tzc3lLArWOoGNje48UUlv2fElOmGOz9yOuO0,317
|
|
78
|
+
dodal/devices/detector/det_dim_constants.py,sha256=LNrVMd0DbFEcnyNFmXosCP-VYaZ71Ajuv6inwo4Mg3U,2299
|
|
79
|
+
dodal/devices/detector/det_dist_to_beam_converter.py,sha256=7keoqZYfvgayePVx97lHYpcFRTJnQOfAk_PYP4EZTZQ,1951
|
|
80
|
+
dodal/devices/detector/det_resolution.py,sha256=aQkKp24LpRGiwzPAQM3wLVa4ANw32HdrKc2kftHfKQA,3253
|
|
81
|
+
dodal/devices/detector/detector.py,sha256=h0vhSj_oKitECuM_yhfx_Mlff-BvYtpxWKJ3A9bJlLA,4829
|
|
82
|
+
dodal/devices/detector/detector_motion.py,sha256=oB0I9HnIBTsDpEsKUYC7GgYQe4J_r0JsfIYZl8csDbA,1629
|
|
83
|
+
dodal/devices/i03/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
+
dodal/devices/i04/transfocator.py,sha256=uieByXIj0JRbmvMB_om5NOAEbEJkzfkCD24bl2aEo1g,3154
|
|
85
|
+
dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
+
dodal/devices/i22/dcm.py,sha256=csNl3UAR4Sw4OfAaZZHeUwn72a9xshIzGWs2fhiRzQE,6291
|
|
87
|
+
dodal/devices/i22/fswitch.py,sha256=_ToiihS_6WjxwJ2gosvpcb-2JCrsE_pRwSPRdwm0tC8,3060
|
|
88
|
+
dodal/devices/i22/nxsas.py,sha256=RRzZHfpHZv6tWppB77zsAXgXe71ETzNc6aAHNAJfqo8,5450
|
|
89
|
+
dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
+
dodal/devices/i24/aperture.py,sha256=kKfHli5oKp-j-qZhZoXTRK81SAUNyhpI6VRvtw0SkZA,850
|
|
91
|
+
dodal/devices/i24/beamstop.py,sha256=28hQowTvgN5Zw38tkDh32h2ceyN-2GE8bAaGPvDOt5U,1234
|
|
92
|
+
dodal/devices/i24/dcm.py,sha256=Hx5pQ-SHEQ_bLCOnpQYDm6-t-it7nNDmUvopGyiGA2w,1991
|
|
93
|
+
dodal/devices/i24/dual_backlight.py,sha256=Th-RKr28aFxE8LCT_mdN9KkRIVw0BHLGKkI0ienfRZU,2049
|
|
94
|
+
dodal/devices/i24/i24_detector_motion.py,sha256=Joqr1orgeNvRS7n01bjaO-4Yu4obb8fnKaWHQfjPX14,365
|
|
95
|
+
dodal/devices/i24/i24_vgonio.py,sha256=Igqs7687z6lyhGVeJEDtDmPachYxU48MUH2BF0RpK9Q,461
|
|
96
|
+
dodal/devices/i24/pmac.py,sha256=vJrd8U00ZVoVJXcChMGzclPhc9TLVgKjNRVvm1Ufxcw,5266
|
|
97
|
+
dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
+
dodal/devices/oav/grid_overlay.py,sha256=kYs4sCvmo7yG75HQtptuI8jPzM7dR4fSqnOGL0D5j6g,5338
|
|
99
|
+
dodal/devices/oav/microns_for_zoom_levels.json,sha256=kJTkbu2v6_Ccc_cDy7FRTX-gRhXxfYskjVqwBCZIqCQ,1209
|
|
100
|
+
dodal/devices/oav/oav_calculations.py,sha256=wt71vFcyQrr98FvX8oyUM2n5vmKi3K7PyOTuWp0gq5w,1665
|
|
101
|
+
dodal/devices/oav/oav_detector.py,sha256=NpIs6gcMrwe39M1y42M2ZtUhjrbl2LuMmNuUjjc13vg,3785
|
|
102
|
+
dodal/devices/oav/oav_errors.py,sha256=cc4mGnaTiAc5WIlOt_BIYOc7CRSkrCdnBaavfAJ0pXY,754
|
|
103
|
+
dodal/devices/oav/oav_parameters.py,sha256=rI0kRl8B-N2mw91yYf1lEQVn0hkBQCPU7jvljr5ZNpk,8235
|
|
104
|
+
dodal/devices/oav/oav_to_redis_forwarder.py,sha256=h5TBcA7uigKPSlslz29itD1z7jvvKQ-5ftWZYmCEmZY,3688
|
|
105
|
+
dodal/devices/oav/utils.py,sha256=OyE4h4eq_jg9bEq5DfcjCU-wfSJifO2-PIsrDbsa0NE,3020
|
|
106
|
+
dodal/devices/oav/pin_image_recognition/__init__.py,sha256=l5IsWMDZDw3-jk0DkGpiw_BzqyfVYRonlfX6Je1ZPR0,6446
|
|
107
|
+
dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
|
|
108
|
+
dodal/devices/oav/pin_image_recognition/utils.py,sha256=L9ypluYqeOFoS7gQuws-vTNc8LqaKl2ZIDNeQ2JaNpg,8592
|
|
109
|
+
dodal/devices/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
+
dodal/devices/p99/sample_stage.py,sha256=kvwKCDUmXqcoXfIbAENtqm3Hi2cHP7dZIPQgQT6hsXw,1140
|
|
111
|
+
dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
|
+
dodal/devices/util/adjuster_plans.py,sha256=kAgC0Ze_gif4A0B1OOjUHAWvnvxX42oKrvIypNVO8Lk,879
|
|
113
|
+
dodal/devices/util/epics_util.py,sha256=R0_I9HEZ2l19BZaTpevPqT3p3kp5GZCfmNNmnXGfdsc,4689
|
|
114
|
+
dodal/devices/util/lookup_tables.py,sha256=EkO4FlRluakobZzmTQnl1XYYuzezE5T4O760bDTtYRM,2137
|
|
115
|
+
dodal/devices/util/motor_utils.py,sha256=pNY-aUk9LxaIWeDr5rpMS6udiB9j19wcCXkNDLp1uA0,257
|
|
116
|
+
dodal/devices/util/save_panda.py,sha256=7hoR3pRrnDaouRzkq4Dk-KcTg5oGtqObfjnH-8VZQc4,2531
|
|
117
|
+
dodal/devices/util/test_utils.py,sha256=MiXb-tJciL5tk0FvF2hiAqPM_32I69wqi6gVpLXNx6I,563
|
|
118
|
+
dodal/devices/xspress3/xspress3.py,sha256=29elzI3JtceryKeMWXhcP9nWl0tlSdnTZhltCitet6A,4668
|
|
119
|
+
dodal/devices/xspress3/xspress3_channel.py,sha256=yJRwseLmtkW2Vv6GB8sLdOFuBn3e4c9Q8fgPacMgl5w,1638
|
|
120
|
+
dodal/devices/zocalo/__init__.py,sha256=oPhjFB39yf2NWkGD-MMcPFnnOVZ_RtdyBt2OLYn-Xa4,505
|
|
121
|
+
dodal/devices/zocalo/zocalo_interaction.py,sha256=cc-OwjNsh9oMpMghceVWKW9gym_TFmP-mOYBd3H1H7Q,3379
|
|
122
|
+
dodal/devices/zocalo/zocalo_results.py,sha256=O97H-ZX2qtzSHXpxCesOt9Ghb0K_JNjddDw8KC5R4Go,9911
|
|
123
|
+
dodal/parameters/experiment_parameter_base.py,sha256=O7JamfuJ5cYHkPf9tsHJPqn-OMHTAGouigvM1cDFehE,313
|
|
124
|
+
dodal/plans/check_topup.py,sha256=Pj6Eu8fa6nvoW4awrMxvzE_ftpLfYz8bN0QDLRw0Yuk,2989
|
|
125
|
+
dodal/plans/data_session_metadata.py,sha256=TolX_js4mfO_oT3ee9RaB4AyAv8vO-Un9p0ej7cyB80,1695
|
|
126
|
+
dodal/plans/motor_util_plans.py,sha256=pOiytk5L85z7jAcCt7uJ-_XuqnIFCs4ENp6TictQy_I,4523
|
|
127
|
+
dls_dodal-1.30.0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
128
|
+
dls_dodal-1.30.0.dist-info/METADATA,sha256=XR1WeLos79yzY6LsNxDD_v2IcOACDZaF885uhbyTSIw,16548
|
|
129
|
+
dls_dodal-1.30.0.dist-info/WHEEL,sha256=nCVcAvsfA9TDtwGwhYaRrlPhTLV9m-Ga6mdyDtuwK18,91
|
|
130
|
+
dls_dodal-1.30.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
|
|
131
|
+
dls_dodal-1.30.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
|
|
132
|
+
dls_dodal-1.30.0.dist-info/RECORD,,
|
dodal/__init__.py
CHANGED
dodal/_version.py
CHANGED
dodal/beamlines/__init__.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import importlib.util
|
|
2
|
+
from collections.abc import Iterable, Mapping
|
|
2
3
|
from functools import lru_cache
|
|
3
4
|
from pathlib import Path
|
|
4
|
-
from typing import Iterable, Mapping
|
|
5
5
|
|
|
6
6
|
# Where beamline names (per the ${BEAMLINE} environment variable don't always
|
|
7
7
|
# match up, we have to map between them bidirectionally). The most common use case is
|
|
@@ -10,6 +10,7 @@ from typing import Iterable, Mapping
|
|
|
10
10
|
# dictionary, which maps ${BEAMLINE} to dodal.beamlines.<MODULE NAME>
|
|
11
11
|
_BEAMLINE_NAME_OVERRIDES = {
|
|
12
12
|
"i04-1": "i04_1",
|
|
13
|
+
"i13-1": "i13_1",
|
|
13
14
|
"i20-1": "i20_1",
|
|
14
15
|
"s03": "i03",
|
|
15
16
|
}
|
|
@@ -27,6 +28,7 @@ def all_beamline_modules() -> Iterable[str]:
|
|
|
27
28
|
# premature importing
|
|
28
29
|
spec = importlib.util.find_spec(__name__)
|
|
29
30
|
if spec is not None:
|
|
31
|
+
assert spec.submodule_search_locations
|
|
30
32
|
search_paths = [Path(path) for path in spec.submodule_search_locations]
|
|
31
33
|
for path in search_paths:
|
|
32
34
|
for subpath in path.glob("**/*"):
|
dodal/beamlines/i03.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from ophyd_async.panda import HDFPanda
|
|
2
2
|
|
|
3
|
+
from dodal.common.beamlines.beamline_parameters import get_beamline_parameters
|
|
3
4
|
from dodal.common.beamlines.beamline_utils import (
|
|
4
5
|
device_instantiation,
|
|
5
6
|
get_directory_provider,
|
|
@@ -7,9 +8,14 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
7
8
|
)
|
|
8
9
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
9
10
|
from dodal.common.udc_directory_provider import PandASubdirectoryProvider
|
|
10
|
-
from dodal.devices.aperturescatterguard import
|
|
11
|
+
from dodal.devices.aperturescatterguard import (
|
|
12
|
+
ApertureScatterguard,
|
|
13
|
+
load_positions_from_beamline_parameters,
|
|
14
|
+
load_tolerances_from_beamline_params,
|
|
15
|
+
)
|
|
11
16
|
from dodal.devices.attenuator import Attenuator
|
|
12
17
|
from dodal.devices.backlight import Backlight
|
|
18
|
+
from dodal.devices.cryostream import CryoStream
|
|
13
19
|
from dodal.devices.dcm import DCM
|
|
14
20
|
from dodal.devices.detector import DetectorParams
|
|
15
21
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
@@ -20,7 +26,6 @@ from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, VFMMirrorVo
|
|
|
20
26
|
from dodal.devices.motors import XYZPositioner
|
|
21
27
|
from dodal.devices.oav.oav_detector import OAV, OAVConfigParams
|
|
22
28
|
from dodal.devices.oav.pin_image_recognition import PinTipDetection
|
|
23
|
-
from dodal.devices.qbpm1 import QBPM1
|
|
24
29
|
from dodal.devices.robot import BartRobot
|
|
25
30
|
from dodal.devices.s4_slit_gaps import S4SlitGaps
|
|
26
31
|
from dodal.devices.smargon import Smargon
|
|
@@ -53,24 +58,20 @@ set_directory_provider(PandASubdirectoryProvider())
|
|
|
53
58
|
def aperture_scatterguard(
|
|
54
59
|
wait_for_connection: bool = True,
|
|
55
60
|
fake_with_ophyd_sim: bool = False,
|
|
56
|
-
aperture_positions: AperturePositions | None = None,
|
|
57
61
|
) -> ApertureScatterguard:
|
|
58
62
|
"""Get the i03 aperture and scatterguard device, instantiate it if it hasn't already
|
|
59
63
|
been. If this is called when already instantiated in i03, it will return the existing
|
|
60
|
-
object.
|
|
64
|
+
object.
|
|
61
65
|
"""
|
|
62
|
-
|
|
63
|
-
def load_positions(a_s: ApertureScatterguard):
|
|
64
|
-
if aperture_positions is not None:
|
|
65
|
-
a_s.load_aperture_positions(aperture_positions)
|
|
66
|
-
|
|
66
|
+
params = get_beamline_parameters()
|
|
67
67
|
return device_instantiation(
|
|
68
68
|
device_factory=ApertureScatterguard,
|
|
69
69
|
name="aperture_scatterguard",
|
|
70
70
|
prefix="",
|
|
71
71
|
wait=wait_for_connection,
|
|
72
72
|
fake=fake_with_ophyd_sim,
|
|
73
|
-
|
|
73
|
+
loaded_positions=load_positions_from_beamline_parameters(params),
|
|
74
|
+
tolerances=load_tolerances_from_beamline_params(params),
|
|
74
75
|
)
|
|
75
76
|
|
|
76
77
|
|
|
@@ -102,17 +103,6 @@ def dcm(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) ->
|
|
|
102
103
|
)
|
|
103
104
|
|
|
104
105
|
|
|
105
|
-
@skip_device(lambda: BL == "s03")
|
|
106
|
-
def qbpm1(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) -> QBPM1:
|
|
107
|
-
return device_instantiation(
|
|
108
|
-
device_factory=QBPM1,
|
|
109
|
-
name="qbpm1",
|
|
110
|
-
prefix="",
|
|
111
|
-
wait=wait_for_connection,
|
|
112
|
-
fake=fake_with_ophyd_sim,
|
|
113
|
-
)
|
|
114
|
-
|
|
115
|
-
|
|
116
106
|
@skip_device(lambda: BL == "s03")
|
|
117
107
|
def vfm(
|
|
118
108
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
@@ -498,7 +488,7 @@ def thawer(
|
|
|
498
488
|
)
|
|
499
489
|
|
|
500
490
|
|
|
501
|
-
def
|
|
491
|
+
def lower_gonio(
|
|
502
492
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
503
493
|
) -> XYZPositioner:
|
|
504
494
|
"""Get the i03 lower gonio device, instantiate it if it hasn't already been.
|
|
@@ -506,8 +496,23 @@ def lower_gonio_positioner(
|
|
|
506
496
|
"""
|
|
507
497
|
return device_instantiation(
|
|
508
498
|
XYZPositioner,
|
|
509
|
-
"
|
|
499
|
+
"lower_gonio",
|
|
510
500
|
"-MO-GONP-01:",
|
|
511
501
|
wait_for_connection,
|
|
512
502
|
fake_with_ophyd_sim,
|
|
513
503
|
)
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
def cryo_stream(
|
|
507
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
508
|
+
) -> CryoStream:
|
|
509
|
+
"""Get the i03 cryostream device, instantiate it if it hasn't already been.
|
|
510
|
+
If this is called when already instantiated in i03, it will return the existing object.
|
|
511
|
+
"""
|
|
512
|
+
return device_instantiation(
|
|
513
|
+
CryoStream,
|
|
514
|
+
"cryo_stream",
|
|
515
|
+
"",
|
|
516
|
+
wait_for_connection,
|
|
517
|
+
fake_with_ophyd_sim,
|
|
518
|
+
)
|
dodal/beamlines/i04.py
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
from dodal.common.beamlines.beamline_parameters import get_beamline_parameters
|
|
1
2
|
from dodal.common.beamlines.beamline_utils import device_instantiation
|
|
2
3
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
3
|
-
from dodal.devices.aperturescatterguard import
|
|
4
|
+
from dodal.devices.aperturescatterguard import (
|
|
5
|
+
ApertureScatterguard,
|
|
6
|
+
load_positions_from_beamline_parameters,
|
|
7
|
+
load_tolerances_from_beamline_params,
|
|
8
|
+
)
|
|
4
9
|
from dodal.devices.attenuator import Attenuator
|
|
5
10
|
from dodal.devices.backlight import Backlight
|
|
6
11
|
from dodal.devices.beamstop import BeamStop
|
|
@@ -14,13 +19,14 @@ from dodal.devices.i04.transfocator import Transfocator
|
|
|
14
19
|
from dodal.devices.ipin import IPin
|
|
15
20
|
from dodal.devices.motors import XYZPositioner
|
|
16
21
|
from dodal.devices.oav.oav_detector import OAV, OAVConfigParams
|
|
22
|
+
from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder
|
|
17
23
|
from dodal.devices.robot import BartRobot
|
|
18
24
|
from dodal.devices.s4_slit_gaps import S4SlitGaps
|
|
19
25
|
from dodal.devices.smargon import Smargon
|
|
20
26
|
from dodal.devices.synchrotron import Synchrotron
|
|
21
27
|
from dodal.devices.thawer import Thawer
|
|
22
28
|
from dodal.devices.undulator import Undulator
|
|
23
|
-
from dodal.devices.xbpm_feedback import
|
|
29
|
+
from dodal.devices.xbpm_feedback import XBPMFeedback
|
|
24
30
|
from dodal.devices.zebra import Zebra
|
|
25
31
|
from dodal.devices.zebra_controlled_shutter import ZebraShutter
|
|
26
32
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -32,6 +38,10 @@ ZOOM_PARAMS_FILE = (
|
|
|
32
38
|
DISPLAY_CONFIG = "/dls_sw/i04/software/gda_versions/var/display.configuration"
|
|
33
39
|
DAQ_CONFIGURATION_PATH = "/dls_sw/i04/software/daq_configuration"
|
|
34
40
|
|
|
41
|
+
REDIS_HOST = "i04-control.diamond.ac.uk"
|
|
42
|
+
REDIS_PASSWORD = "not_telling"
|
|
43
|
+
MURKO_REDIS_DB = 7
|
|
44
|
+
|
|
35
45
|
BL = get_beamline_name("s04")
|
|
36
46
|
set_log_beamline(BL)
|
|
37
47
|
set_utils_beamline(BL)
|
|
@@ -157,12 +167,12 @@ def transfocator(
|
|
|
157
167
|
|
|
158
168
|
def xbpm_feedback(
|
|
159
169
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
160
|
-
) ->
|
|
170
|
+
) -> XBPMFeedback:
|
|
161
171
|
"""Get the i04 xbpm_feedback device, instantiate it if it hasn't already been.
|
|
162
172
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
163
173
|
"""
|
|
164
174
|
return device_instantiation(
|
|
165
|
-
|
|
175
|
+
XBPMFeedback,
|
|
166
176
|
"xbpm_feedback",
|
|
167
177
|
"",
|
|
168
178
|
wait_for_connection,
|
|
@@ -214,24 +224,20 @@ def backlight(
|
|
|
214
224
|
def aperture_scatterguard(
|
|
215
225
|
wait_for_connection: bool = True,
|
|
216
226
|
fake_with_ophyd_sim: bool = False,
|
|
217
|
-
aperture_positions: AperturePositions | None = None,
|
|
218
227
|
) -> ApertureScatterguard:
|
|
219
228
|
"""Get the i04 aperture and scatterguard device, instantiate it if it hasn't already
|
|
220
229
|
been. If this is called when already instantiated in i04, it will return the existing
|
|
221
|
-
object.
|
|
230
|
+
object.
|
|
222
231
|
"""
|
|
223
|
-
|
|
224
|
-
def load_positions(a_s: ApertureScatterguard):
|
|
225
|
-
if aperture_positions is not None:
|
|
226
|
-
a_s.load_aperture_positions(aperture_positions)
|
|
227
|
-
|
|
232
|
+
params = get_beamline_parameters()
|
|
228
233
|
return device_instantiation(
|
|
229
234
|
device_factory=ApertureScatterguard,
|
|
230
235
|
name="aperture_scatterguard",
|
|
231
236
|
prefix="",
|
|
232
237
|
wait=wait_for_connection,
|
|
233
238
|
fake=fake_with_ophyd_sim,
|
|
234
|
-
|
|
239
|
+
loaded_positions=load_positions_from_beamline_parameters(params),
|
|
240
|
+
tolerances=load_tolerances_from_beamline_params(params),
|
|
235
241
|
)
|
|
236
242
|
|
|
237
243
|
|
|
@@ -395,3 +401,19 @@ def robot(
|
|
|
395
401
|
wait_for_connection,
|
|
396
402
|
fake_with_ophyd_sim,
|
|
397
403
|
)
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
def oav_to_redis_forwarder(
|
|
407
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
408
|
+
) -> OAVToRedisForwarder:
|
|
409
|
+
"""Get the i04 OAV to redis forwarder, instantiate it if it hasn't already been.
|
|
410
|
+
If this is called when already instantiated in i04, it will return the existing object.
|
|
411
|
+
"""
|
|
412
|
+
return device_instantiation(
|
|
413
|
+
OAVToRedisForwarder,
|
|
414
|
+
"oav_to_redis",
|
|
415
|
+
"",
|
|
416
|
+
wait_for_connection,
|
|
417
|
+
fake_with_ophyd_sim,
|
|
418
|
+
params=OAVConfigParams(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
|
|
419
|
+
)
|
dodal/beamlines/i13_1.py
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
from ophyd_async.epics.areadetector.aravis import AravisDetector
|
|
4
|
+
|
|
5
|
+
from dodal.common.beamlines.beamline_utils import (
|
|
6
|
+
device_instantiation,
|
|
7
|
+
get_directory_provider,
|
|
8
|
+
set_directory_provider,
|
|
9
|
+
)
|
|
10
|
+
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
11
|
+
from dodal.common.visit import StaticVisitDirectoryProvider
|
|
12
|
+
from dodal.devices.motors import XYZPositioner
|
|
13
|
+
from dodal.log import set_beamline as set_log_beamline
|
|
14
|
+
from dodal.utils import get_beamline_name
|
|
15
|
+
|
|
16
|
+
BL = get_beamline_name("i13-1")
|
|
17
|
+
set_log_beamline(BL)
|
|
18
|
+
set_utils_beamline(BL)
|
|
19
|
+
set_directory_provider(
|
|
20
|
+
StaticVisitDirectoryProvider(
|
|
21
|
+
BL,
|
|
22
|
+
Path("/data/2024/cm37257-4/"), # latest commissioning visit
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def sample_xyz_stage(
|
|
28
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
29
|
+
) -> XYZPositioner:
|
|
30
|
+
return device_instantiation(
|
|
31
|
+
XYZPositioner,
|
|
32
|
+
prefix="BL13J-MO-PI-02:",
|
|
33
|
+
name="sample_xyz_stage",
|
|
34
|
+
wait=wait_for_connection,
|
|
35
|
+
fake=fake_with_ophyd_sim,
|
|
36
|
+
bl_prefix=False,
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def sample_xyz_lab_fa_stage(
|
|
41
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
42
|
+
) -> XYZPositioner:
|
|
43
|
+
return device_instantiation(
|
|
44
|
+
XYZPositioner,
|
|
45
|
+
prefix="BL13J-MO-PI-02:FIXANG:",
|
|
46
|
+
name="sample_xyz_lab_fa_stage",
|
|
47
|
+
wait=wait_for_connection,
|
|
48
|
+
fake=fake_with_ophyd_sim,
|
|
49
|
+
bl_prefix=False,
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def side_camera(
|
|
54
|
+
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
55
|
+
) -> AravisDetector:
|
|
56
|
+
return device_instantiation(
|
|
57
|
+
AravisDetector,
|
|
58
|
+
prefix="BL13J-OP-FLOAT-03:",
|
|
59
|
+
name="side_camera",
|
|
60
|
+
bl_prefix=False,
|
|
61
|
+
drv_suffix="CAM:",
|
|
62
|
+
hdf_suffix="HDF5:",
|
|
63
|
+
directory_provider=get_directory_provider(),
|
|
64
|
+
wait=wait_for_connection,
|
|
65
|
+
fake=fake_with_ophyd_sim,
|
|
66
|
+
)
|
dodal/beamlines/i22.py
CHANGED
|
@@ -234,7 +234,7 @@ def slits_3(
|
|
|
234
234
|
)
|
|
235
235
|
|
|
236
236
|
|
|
237
|
-
@skip_device
|
|
237
|
+
@skip_device()
|
|
238
238
|
def slits_4(
|
|
239
239
|
wait_for_connection: bool = True,
|
|
240
240
|
fake_with_ophyd_sim: bool = False,
|
|
@@ -300,7 +300,7 @@ def panda1(
|
|
|
300
300
|
)
|
|
301
301
|
|
|
302
302
|
|
|
303
|
-
@skip_device
|
|
303
|
+
@skip_device()
|
|
304
304
|
def panda2(
|
|
305
305
|
wait_for_connection: bool = True,
|
|
306
306
|
fake_with_ophyd_sim: bool = False,
|
|
@@ -315,7 +315,7 @@ def panda2(
|
|
|
315
315
|
)
|
|
316
316
|
|
|
317
317
|
|
|
318
|
-
@skip_device
|
|
318
|
+
@skip_device()
|
|
319
319
|
def panda3(
|
|
320
320
|
wait_for_connection: bool = True,
|
|
321
321
|
fake_with_ophyd_sim: bool = False,
|
|
@@ -330,7 +330,7 @@ def panda3(
|
|
|
330
330
|
)
|
|
331
331
|
|
|
332
332
|
|
|
333
|
-
@skip_device
|
|
333
|
+
@skip_device()
|
|
334
334
|
def panda4(
|
|
335
335
|
wait_for_connection: bool = True,
|
|
336
336
|
fake_with_ophyd_sim: bool = False,
|
|
@@ -366,7 +366,7 @@ def oav(
|
|
|
366
366
|
)
|
|
367
367
|
|
|
368
368
|
|
|
369
|
-
@skip_device
|
|
369
|
+
@skip_device()
|
|
370
370
|
def linkam(
|
|
371
371
|
wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
|
|
372
372
|
) -> Linkam3:
|
dodal/beamlines/i24.py
CHANGED
|
@@ -7,7 +7,7 @@ from dodal.devices.i24.aperture import Aperture
|
|
|
7
7
|
from dodal.devices.i24.beamstop import Beamstop
|
|
8
8
|
from dodal.devices.i24.dcm import DCM
|
|
9
9
|
from dodal.devices.i24.dual_backlight import DualBacklight
|
|
10
|
-
from dodal.devices.i24.
|
|
10
|
+
from dodal.devices.i24.i24_detector_motion import DetectorMotion
|
|
11
11
|
from dodal.devices.i24.i24_vgonio import VGonio
|
|
12
12
|
from dodal.devices.i24.pmac import PMAC
|
|
13
13
|
from dodal.devices.oav.oav_detector import OAV
|