dls-dodal 1.68.0__py3-none-any.whl → 1.69.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 (57) hide show
  1. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/METADATA +1 -31
  2. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/RECORD +57 -49
  3. dodal/_version.py +2 -2
  4. dodal/beamlines/adsim.py +30 -23
  5. dodal/beamlines/i02_1.py +14 -42
  6. dodal/beamlines/i02_2.py +5 -11
  7. dodal/beamlines/i03.py +4 -1
  8. dodal/beamlines/i03_supervisor.py +19 -0
  9. dodal/beamlines/i04.py +74 -179
  10. dodal/beamlines/i05.py +8 -0
  11. dodal/beamlines/i06_1.py +24 -0
  12. dodal/beamlines/i09.py +53 -9
  13. dodal/beamlines/i09_1.py +8 -0
  14. dodal/beamlines/i09_2.py +4 -4
  15. dodal/beamlines/i16.py +11 -0
  16. dodal/beamlines/i20_1.py +14 -0
  17. dodal/beamlines/i21.py +12 -4
  18. dodal/beamlines/i23.py +19 -25
  19. dodal/beamlines/i24.py +55 -105
  20. dodal/beamlines/p60.py +11 -1
  21. dodal/common/__init__.py +2 -1
  22. dodal/common/maths.py +80 -0
  23. dodal/devices/eiger.py +29 -14
  24. dodal/devices/electron_analyser/base/__init__.py +3 -3
  25. dodal/devices/electron_analyser/base/base_controller.py +19 -8
  26. dodal/devices/electron_analyser/base/base_enums.py +0 -5
  27. dodal/devices/electron_analyser/base/base_region.py +2 -1
  28. dodal/devices/electron_analyser/base/energy_sources.py +27 -26
  29. dodal/devices/electron_analyser/specs/specs_detector.py +7 -6
  30. dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +7 -6
  31. dodal/devices/fast_shutter.py +108 -25
  32. dodal/devices/i04/beam_centre.py +84 -0
  33. dodal/devices/i04/max_pixel.py +4 -17
  34. dodal/devices/i04/murko_results.py +18 -3
  35. dodal/devices/i10/i10_apple2.py +6 -6
  36. dodal/devices/i17/i17_apple2.py +6 -6
  37. dodal/devices/i24/commissioning_jungfrau.py +9 -10
  38. dodal/devices/insertion_device/__init__.py +12 -8
  39. dodal/devices/insertion_device/apple2_controller.py +380 -0
  40. dodal/devices/insertion_device/apple2_undulator.py +152 -531
  41. dodal/devices/insertion_device/energy.py +88 -0
  42. dodal/devices/insertion_device/energy_motor_lookup.py +1 -1
  43. dodal/devices/insertion_device/lookup_table_models.py +2 -2
  44. dodal/devices/insertion_device/polarisation.py +36 -0
  45. dodal/devices/oav/oav_detector.py +66 -1
  46. dodal/devices/oav/utils.py +17 -0
  47. dodal/devices/robot.py +35 -18
  48. dodal/devices/selectable_source.py +38 -0
  49. dodal/devices/zebra/zebra.py +15 -0
  50. dodal/devices/zebra/zebra_constants_mapping.py +1 -0
  51. dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -1
  52. dodal/testing/__init__.py +0 -0
  53. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/WHEEL +0 -0
  54. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/entry_points.txt +0 -0
  55. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/licenses/LICENSE +0 -0
  56. {dls_dodal-1.68.0.dist-info → dls_dodal-1.69.0.dist-info}/top_level.txt +0 -0
  57. /dodal/devices/insertion_device/{id_enum.py → enum.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.68.0
3
+ Version: 1.69.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>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
6
6
  License: Apache License
@@ -232,36 +232,6 @@ Requires-Dist: scanspec>=0.7.3
232
232
  Requires-Dist: pyzmq==26.3.0
233
233
  Requires-Dist: deepdiff
234
234
  Requires-Dist: daq-config-server>=v1.0.0
235
- Provides-Extra: dev
236
- Requires-Dist: black; extra == "dev"
237
- Requires-Dist: diff-cover; extra == "dev"
238
- Requires-Dist: import-linter; extra == "dev"
239
- Requires-Dist: ispyb; extra == "dev"
240
- Requires-Dist: mypy; extra == "dev"
241
- Requires-Dist: myst-parser; extra == "dev"
242
- Requires-Dist: ophyd_async[sim]>=v0.14.0; extra == "dev"
243
- Requires-Dist: pipdeptree; extra == "dev"
244
- Requires-Dist: pre-commit; extra == "dev"
245
- Requires-Dist: psutil; extra == "dev"
246
- Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
247
- Requires-Dist: pyright==1.1.406; extra == "dev"
248
- Requires-Dist: pytest; extra == "dev"
249
- Requires-Dist: pytest-asyncio; extra == "dev"
250
- Requires-Dist: pytest-cov; extra == "dev"
251
- Requires-Dist: pytest-json-report; extra == "dev"
252
- Requires-Dist: pytest-random-order; extra == "dev"
253
- Requires-Dist: ruff; extra == "dev"
254
- Requires-Dist: sphinx<7.4.6; extra == "dev"
255
- Requires-Dist: sphinx-autobuild; extra == "dev"
256
- Requires-Dist: sphinx-copybutton; extra == "dev"
257
- Requires-Dist: sphinxcontrib-mermaid; extra == "dev"
258
- Requires-Dist: sphinx-design; extra == "dev"
259
- Requires-Dist: sphinx-autodoc-typehints; extra == "dev"
260
- Requires-Dist: tox-direct; extra == "dev"
261
- Requires-Dist: types-requests; extra == "dev"
262
- Requires-Dist: types-mock; extra == "dev"
263
- Requires-Dist: types-PyYAML; extra == "dev"
264
- Requires-Dist: types-aiofiles; extra == "dev"
265
235
  Dynamic: license-file
266
236
 
267
237
  [![CI](https://github.com/DiamondLightSource/dodal/actions/workflows/ci.yml/badge.svg)](https://github.com/DiamondLightSource/dodal/actions/workflows/ci.yml)
@@ -1,7 +1,7 @@
1
- dls_dodal-1.68.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1
+ dls_dodal-1.69.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
2
2
  dodal/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
3
3
  dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
4
- dodal/_version.py,sha256=fKEtAXP7aFyf66hvwaMabE9BzwL6dh3xGKYU6jI5_mA,706
4
+ dodal/_version.py,sha256=UFXClfIoG_GVAx86W6RvFANz85U9g5mM9teyoGU1_GU,706
5
5
  dodal/cli.py,sha256=fPFs0ACCf2jEnACCIzEd5xR5ormxRwDKOZjzFlaBC88,4728
6
6
  dodal/device_manager.py,sha256=rTW-uaOiMPxkvYg7-yDy5MwhhfTCbbY5XkJXV_kcvj0,21029
7
7
  dodal/log.py,sha256=UckmmyY_SdZePyi5lHnjh-DVw6qvnat3ANa_5-y80Og,9877
@@ -10,7 +10,7 @@ dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
10
10
  dodal/beamline_specific_utils/i05_shared.py,sha256=NmXzoJSJ6daReigaONpxxlNTYGGCSkFvgGYQUpjgteM,425
11
11
  dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
12
12
  dodal/beamlines/__init__.py,sha256=kVmxHMi9W1MkrOsVxBK7N1DBFGDrWv4FH1m8_nRxwzo,3242
13
- dodal/beamlines/adsim.py,sha256=1ciucMo1oNYeKarIeBbqlQjZrVN2viyNrDz8dHw5QxY,2153
13
+ dodal/beamlines/adsim.py,sha256=KDhAsdhdYlr4CLruJd01UmRRxqO7TRCwBma2rWldWJc,2379
14
14
  dodal/beamlines/aithre.py,sha256=RRNmzJz4Fu5eHRXKoIJpv1D1fNR5e7wmT34d52QwM9Y,1399
15
15
  dodal/beamlines/b01_1.py,sha256=H24kiQtF0XnpWBtpsdC_k4w2WU4ibvovU3YPAop_zdg,2830
16
16
  dodal/beamlines/b07.py,sha256=BfJJso_h2YX1LU0sRNxGeKJzCNRWngV9Kv2Hc3M6zLM,1430
@@ -18,17 +18,19 @@ dodal/beamlines/b07_1.py,sha256=Lph4PT0JOoOk_PnRBFZxg1R6N6TqNCrmNL7ybCF2Evc,1637
18
18
  dodal/beamlines/b16.py,sha256=rK00hEj8KLGNkLZr9omAuoMz_DyLN9rK4eUQssETR9E,1703
19
19
  dodal/beamlines/b18.py,sha256=ryxrGtcCdwoFgZ8ljWYgr1g9gKvoA7nxkARVxl1IE78,1189
20
20
  dodal/beamlines/b21.py,sha256=KGPoUogtu5XutVSGZ8LiQgIHOyWbW_9KAt23TetKTHc,3873
21
- dodal/beamlines/i02_1.py,sha256=SwRm9v1U6CiT0fwLbSTECbJ6OF1BPEx4TJ0cEReuGZA,4017
22
- dodal/beamlines/i02_2.py,sha256=Jkghwv1Y5i0VUR2NZZ7hoiK9Ii8O-rIECDoKLX9AKi0,1169
23
- dodal/beamlines/i03.py,sha256=HyJzusfTuTYT5hi6ajcB3wQup1BPKWRGrxbLocz8Hmg,10438
24
- dodal/beamlines/i04.py,sha256=toMPtu1k2NXzfmmX6b8CH_kjhCjmO5LD_8Hs9UQPNhU,14956
25
- dodal/beamlines/i05.py,sha256=FxzIJ4BFE6PC3Gs6Kq_GjrRbpam8UbRO22EHjuSO2nQ,1281
21
+ dodal/beamlines/i02_1.py,sha256=c4-_XHrrQyPLygn61WvarM6-XRChh0NC3AUrWu5X8XM,2584
22
+ dodal/beamlines/i02_2.py,sha256=Xa4bfEibPDRL-17ycirZWrlcdxokm81a9pRfucrhYMg,802
23
+ dodal/beamlines/i03.py,sha256=9FlLJnSjopLqz_AxqFxZWAPobard5YDEp0LCYQiIWmw,10491
24
+ dodal/beamlines/i03_supervisor.py,sha256=O-v8M-WLR1rN4GugDDC1CHCpunnX2QEk5PPBm0cEMus,517
25
+ dodal/beamlines/i04.py,sha256=Odse2lgjATQ-8hGfyDvVoGwTnz68ns1n9EYnbG1-FzQ,8967
26
+ dodal/beamlines/i05.py,sha256=ZkSZLJrcZBF_x_dticRq0KM12GVveLBLiCplUus5J9c,1497
26
27
  dodal/beamlines/i05_1.py,sha256=bzaDqR2doZnoN-dk_oPwWqSGJaVZTDnNtx0wMzGSTp8,714
27
28
  dodal/beamlines/i06.py,sha256=V0kjC2NPX4fn9et3T8KLbTgNXsyYki4S5swrC61YwAI,1571
29
+ dodal/beamlines/i06_1.py,sha256=Rm0es2EnnAypdRQNaOj9uirK5SwktmA-YHM27RAFi9w,763
28
30
  dodal/beamlines/i07.py,sha256=mnwJPscsXFZnRQ2fKd-FwYiL_VjQu5zbYGQcgg7lplE,1270
29
- dodal/beamlines/i09.py,sha256=gWVSQOmpQO6X24eARNXHQHafDv5AX7CozGSmj8NR_ak,1910
30
- dodal/beamlines/i09_1.py,sha256=bcFExeMBPoabzEA-c01cO-EUwFA3KHWBmA0iuQ4gp7A,2543
31
- dodal/beamlines/i09_2.py,sha256=pEH-a4gwuhf4xRqdLx5eAvOfxDtnc16Nvk57nDUVPSg,3395
31
+ dodal/beamlines/i09.py,sha256=M_aZ1QlPYysIJIvZunkmHENdizIhqK13hI-AjC2p3Iw,3056
32
+ dodal/beamlines/i09_1.py,sha256=JZLsEL1ybPFlsXYyELEFWY6IgpdgJEa_O9m5Wu6HzNE,2739
33
+ dodal/beamlines/i09_2.py,sha256=EKy-2140rKHT3NCDT5XH-fx01Rzala1r6lisgMm-Da4,3475
32
34
  dodal/beamlines/i10.py,sha256=LC0ii13rVyZj1ziatBAyRoyuutdyyTCkpSvICGv4IGY,4059
33
35
  dodal/beamlines/i10_1.py,sha256=FxnWjr1u55XgIvnuyTfknnj-xPMNJOAtxObq1y9k518,1062
34
36
  dodal/beamlines/i10_optics.py,sha256=C8dftjZw1TmdswUMpGoKOF70TsAQ1WAffdQH-1BJ74I,7142
@@ -36,31 +38,31 @@ dodal/beamlines/i11.py,sha256=hzW5Lh74zDzUD0vqXQzekoFVWDp8qEIc0OPRm0Qepqs,3643
36
38
  dodal/beamlines/i13_1.py,sha256=VYVqMN8-njy7YSI08gskRccT-K2paRC9edAx0ah-Cwo,1602
37
39
  dodal/beamlines/i15.py,sha256=lmUhh1jt5CtD4P_BzkwNufu814aT3uaQlLyDMY_B5AE,5725
38
40
  dodal/beamlines/i15_1.py,sha256=EKg6BCr3wpHxdmG23kSTZYcNnGQxZbkzzulBLwz_Kew,3903
39
- dodal/beamlines/i16.py,sha256=NDTbyllb11Rklk5MNDVhrmI361Q-aKOMPy_dp09JE74,648
41
+ dodal/beamlines/i16.py,sha256=OQB7jez37jEVQvMCNFZNd6R30TWBcZrJPxpTumsY8go,983
40
42
  dodal/beamlines/i17.py,sha256=nlebjLsEruFcrpVGXclNHBsnIMtasQKvsBimwIf2-vI,2788
41
43
  dodal/beamlines/i18.py,sha256=vPGfrbh1CY2W2BXIfCA5PIeVyixS5nEJSxHpla1RM4I,3756
42
44
  dodal/beamlines/i19_1.py,sha256=aC-R9CEjRZEdSutfYhK9r2rT6J__IOZy4zG95B_fJC8,3466
43
45
  dodal/beamlines/i19_2.py,sha256=gNRRRimY69zl_e9FRaEFs-fQxWu6oqFwjHjjVs-AJrk,4514
44
46
  dodal/beamlines/i19_optics.py,sha256=fNdAFRJYFA045l4giGI3V68qijDFE1C8gdvD6fncAio,1181
45
- dodal/beamlines/i20_1.py,sha256=Zsr1lsH7ySbOgK7RhMVMWzNWZAV-fuYW0iAjSEJZicY,2625
46
- dodal/beamlines/i21.py,sha256=1ZtVPmnZLMvhcIpeVN7OZYnt44hVJpNNnHbfxwGoseQ,3357
47
+ dodal/beamlines/i20_1.py,sha256=ZLVemp8OJT6csSbTJ5zu9uEoJD4-ZOLFAuOP6s1re_8,2956
48
+ dodal/beamlines/i21.py,sha256=ElxLtTga2eeg3s-4IoYb3iAhPR-wcNSqhN9vzol0-9E,3653
47
49
  dodal/beamlines/i22.py,sha256=XVGYyx6QEhbXJ5DRm-YWnUZKdagv_X8YJNYjmhXT7II,8097
48
- dodal/beamlines/i23.py,sha256=ZXvPEiMA4mPbRTXOxvL1NcoVWDg4Deyl8k57cveDg90,3060
49
- dodal/beamlines/i24.py,sha256=0ZjJCUYIUWIQTPrXFqKviiTCZiyuJh4MkmqMYd9JZ9o,7454
50
+ dodal/beamlines/i23.py,sha256=_aByHf88l_GR5VxL8bJtPdCWSKZkbO5vVBJtlOf1BqE,2908
51
+ dodal/beamlines/i24.py,sha256=CHrpZK-R3zZ6TQal7acPYunQIFnmHt-nzJ-mzdG4sCQ,4850
50
52
  dodal/beamlines/k07.py,sha256=jELF4ENfSsPumbFieZDQKP-fDKFeGfox7guhdxJqmD8,1005
51
53
  dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
52
54
  dodal/beamlines/p38.py,sha256=ohFCTkyqR2MWGK20PrJqAIokiEjDPNTAfMRzrn3T0Mg,5778
53
55
  dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
54
- dodal/beamlines/p60.py,sha256=EEEPwzIMyNecEDZsPDrfn6RskbSumySruLTuYNQCDBI,1485
56
+ dodal/beamlines/p60.py,sha256=oTLABOZIF7CUMMxipE0GO1Awij52OOiD4LJSS632sDA,1699
55
57
  dodal/beamlines/p99.py,sha256=Rbi9OvmrGIblctOnZxFG_tqqhALLZ9O3ht4mBcb5vU8,2754
56
58
  dodal/beamlines/training_rig.py,sha256=VfMMNLdqej50CX17GluuwBbdXaurc5dnWjmoCT20bT4,1593
57
- dodal/common/__init__.py,sha256=0fah9eCiHBBLVhdIqN_pjQIgPtxkAu25-3i4KjHRFM4,386
59
+ dodal/common/__init__.py,sha256=y-R5BgS0ms1UKryzkK8eHn8E3NiMVU3VG8upgWC7DcQ,418
58
60
  dodal/common/coordination.py,sha256=zvY3n8r-eDU2K3O7RlMzS6eoKI_XWHCWS9mcLwHVZXc,1252
59
61
  dodal/common/crystal_metadata.py,sha256=XGr-X81G9SZvPx5b4nBCH4FOnywyX_zYVy6zwDxIMVM,1926
60
62
  dodal/common/data_util.py,sha256=Z2DgxQl3AzTB940e_qYVDIHuu_9vWzpbycjKb62SFus,555
61
63
  dodal/common/device_utils.py,sha256=3hWgLmESiF88fho9bCweZpZH6b5fbbuSZGuSEYXxl4E,1345
62
64
  dodal/common/enums.py,sha256=Q8RSQBIHTCbhngVUKoznzvwazQ7INsT5NE0BcAgT1U0,404
63
- dodal/common/maths.py,sha256=K9x7iL3xXLtWYTV-xlFHDNSTIL9a2UP3Ws7wr6Dm2rQ,1803
65
+ dodal/common/maths.py,sha256=_nf7Duz7oVnyAdGAKbaoZ_-u_5o-8ApFzghu2A8IWfc,4241
64
66
  dodal/common/types.py,sha256=fkL7UOwDbe3v2_VJ5f1W5RxR98Wx-Ra-LxUZWkNDtls,486
65
67
  dodal/common/udc_directory_provider.py,sha256=v5OBaCUwjtQZAsRQUw6LlVL58UvwwDO1l2MKlilXjdk,2403
66
68
  dodal/common/visit.py,sha256=0KxiIYJolSewuTn9Av-B4NxU2WpQo2l1-WmAO741Du8,5826
@@ -81,11 +83,11 @@ dodal/devices/common_dcm.py,sha256=BmvwnT5mbCmSQI8aGl3GKEfpe7N1axUANEyG-NYgC98,5
81
83
  dodal/devices/controllers.py,sha256=W_Ras1c6xLjcOMKPSHN8Z1eCUCH-ktaah2hzQXyuFLk,652
82
84
  dodal/devices/cryostream.py,sha256=F8-JVl9LvvR0jvFUwhowazwT7q38HnDuVZxRS-1BOnk,4522
83
85
  dodal/devices/diamond_filter.py,sha256=hySd7HnLdplpPNvBrLddLjO_3LqgD8-99Zr__Sy_GbI,689
84
- dodal/devices/eiger.py,sha256=EywzuUSDnwLDd0XACKilDgwVcet1SnIPixZ28Etf78Q,17527
86
+ dodal/devices/eiger.py,sha256=ssxCeHbZLWIZ36Zv_ghSnMpNq58eTKrEX61B-kr62M0,18138
85
87
  dodal/devices/eiger_odin.py,sha256=1JoqPppTp99IZCiFOXJZB3h62xXRYKZINxTYXdLnT8c,7480
86
88
  dodal/devices/eurotherm.py,sha256=rdLldmWYP1PZBckoya6svPy1mDxHYaa1IfMleMPGzD4,3832
87
89
  dodal/devices/fast_grid_scan.py,sha256=xm2PEPrbqHOQfVrNcXt60S1UT5RtWir6MkdnVlhZNPw,17592
88
- dodal/devices/fast_shutter.py,sha256=kbHaV-cjAaKFfgEHu7fw9jEBDoJAkIa7N0XXGBZq-xs,2345
90
+ dodal/devices/fast_shutter.py,sha256=FEFDXpRyJIxwasYxCX47Dh2m8BGTP5v1KcU7OeSXF3k,5442
89
91
  dodal/devices/fluorescence_detector_motion.py,sha256=hJ1M9Zs6Dlw8DDL9APh7yVePlS4tU2hnlySd16hqfwE,346
90
92
  dodal/devices/flux.py,sha256=1CDsq9yU2-ho8MfYBl50Tl9ABZwpUBHnV486PQXKNoQ,462
91
93
  dodal/devices/focusing_mirror.py,sha256=2UWVrY6bs6_0i-h6JJ_LAUZPX_FgMzIx04JqZafdtYU,7464
@@ -98,9 +100,10 @@ dodal/devices/pgm.py,sha256=grNtQHWP6oSbhmEd12loe9cAFnOn2A7rBlgjwnvH8z8,1182
98
100
  dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
99
101
  dodal/devices/pressure_jump_cell.py,sha256=YGmllfBya7MryLg3EXS0pzBJDRs_TlgDFxt8TzAwKJQ,8734
100
102
  dodal/devices/qbpm.py,sha256=FfrWWAHHtYv3fGRT1qljyPpAwoHJYfbooT9CfKg-oXI,465
101
- dodal/devices/robot.py,sha256=IBGwLoWw2MIxSs0gqRBOw4SYOX94ahQ0UI40FZlvZeM,7618
103
+ dodal/devices/robot.py,sha256=hsCCXSOorVZUzQ4opkZtfDOZbhwIyanqNzc00KWzEcI,8225
102
104
  dodal/devices/s4_slit_gaps.py,sha256=4KdarIQoRqX4ry3LUS1Km7fkjUFahA0VuTd2DvYEqQ8,446
103
105
  dodal/devices/scintillator.py,sha256=w6YSf1mY_xJKU00TXS_wfzJVKFvXNX9U7Vs8as-33wM,4249
106
+ dodal/devices/selectable_source.py,sha256=dyfF1RkUpbM_d6ntqBv9EP70Mp0dxAZqEwHIfUNsyZs,1256
104
107
  dodal/devices/slits.py,sha256=IJtipn1N5B7pH64frWcF2TFK8mTFwSYXpGt_FMGl68w,1537
105
108
  dodal/devices/smargon.py,sha256=JlaNPCRWh0dHbslmjuDtlZhVbIz_clmw4eUIgoSj9tM,4986
106
109
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
@@ -146,21 +149,21 @@ dodal/devices/detector/det_resolution.py,sha256=8OW40MhRg56GlLstM1MOkIxa4DY8eg4q
146
149
  dodal/devices/detector/detector.py,sha256=DqQvlgdjIdKErrZqgM9IH7drc-r6N8nhkFk7KwlgYAk,4815
147
150
  dodal/devices/detector/detector_motion.py,sha256=Ly4nz_AsB-_EDOADMC2u2J0dunpkOMbafVN_dgh3T-E,1389
148
151
  dodal/devices/electron_analyser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- dodal/devices/electron_analyser/base/__init__.py,sha256=u8kktlYGxZKXFh-dA98MVVvSsSayAraCHsDI8RtJm3Q,1604
150
- dodal/devices/electron_analyser/base/base_controller.py,sha256=aFajs4VgmG4J2Gf_4Wt--HM3gaslQlS3JXFUw5YeOWI,2869
152
+ dodal/devices/electron_analyser/base/__init__.py,sha256=FVjJ6o4Gy7eXvw-IhF23iUBh4Ux7EiXpB0Pl2DUxjsg,1616
153
+ dodal/devices/electron_analyser/base/base_controller.py,sha256=i3AZM6JjO1v_5QA8rjDo86Sp6t2aPlELnEn_woqXe5Y,3372
151
154
  dodal/devices/electron_analyser/base/base_detector.py,sha256=qNZnf-PS82z250ir9UxGYsGF5ToxvL-y-9gCJWrrWnE,7092
152
155
  dodal/devices/electron_analyser/base/base_driver_io.py,sha256=Y1uXIbxZS4wrxzAxv8bIJ5eZHyG3rGTTauLNjptjR-A,8985
153
- dodal/devices/electron_analyser/base/base_enums.py,sha256=ruSH7LNRhtqMflv7gYxKeAu0uLzZIaoCai7sSTzpvkg,204
154
- dodal/devices/electron_analyser/base/base_region.py,sha256=VD-7bccwKMfm1AqY9jYSiuqfL5XLKKmxrfiFzi13Crw,7432
156
+ dodal/devices/electron_analyser/base/base_enums.py,sha256=2QObyZln7pvWyLgixabGGWvfs3aIF98gVSz2B4NS1OM,120
157
+ dodal/devices/electron_analyser/base/base_region.py,sha256=e3gFUppmM5zB7YhwY-XwjRoRI7-mlqfgKccGMwfMQOs,7475
155
158
  dodal/devices/electron_analyser/base/base_util.py,sha256=nGx3vF7eF4SxjzNysoxWbzqmxdSWvcPPHmghw74UuEc,1245
156
- dodal/devices/electron_analyser/base/energy_sources.py,sha256=HdslyJYn8GbhCkQ2eOlgDOZ1zrHXBUIEk_4kfUXgLrk,3162
159
+ dodal/devices/electron_analyser/base/energy_sources.py,sha256=_JUOQDoqnqyp5Xw_dEo45vKxzFUgWS8gSS2Kqm7CjFk,3246
157
160
  dodal/devices/electron_analyser/specs/__init__.py,sha256=PiId7pXfFqG0UznwzTROAp3iORuU6UEwn_0ohKBxKNk,315
158
- dodal/devices/electron_analyser/specs/specs_detector.py,sha256=J7TQpvCg6mzVp010LCqtHhHydrcKRweGeApeZeX8GFM,1542
161
+ dodal/devices/electron_analyser/specs/specs_detector.py,sha256=QZFltj9-4e42BWmwT0O3vTCcx6Y6gMAKO5FZmH7yIMk,1740
159
162
  dodal/devices/electron_analyser/specs/specs_driver_io.py,sha256=SVb0tQGbb6m9DbjmNxfWKCwDVqMSh5a8Ad5RsMb6rZs,4449
160
163
  dodal/devices/electron_analyser/specs/specs_enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
161
164
  dodal/devices/electron_analyser/specs/specs_region.py,sha256=uF12HNzh1I9csYVS3j-CAGuCHCblVzYFBp_4G7JCnvI,1165
162
165
  dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=s8acayQN8E0j1H9YEr6Q47Kxu3OtrPuZHk3ARuuot_A,397
163
- dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py,sha256=5iJIl1WwnrPVCoyBEMwzaycg0yDURs3DZNq5ceTSRAc,1850
166
+ dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py,sha256=BGHxIo0vojY140Ed2LBg3fheCR9Uqfb3iKqwR_cCao4,2048
164
167
  dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py,sha256=QADd2CU52BrRwPquHmHO77gX4EY7x-yWmbOfGZhe_k8,3471
165
168
  dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py,sha256=3vmX67ExATU8clueVp_mCzw3OUQx799oZMc8gyHtMJE,205
166
169
  dodal/devices/electron_analyser/vgscienta/vgscienta_region.py,sha256=SvQmB_NsdzKhuKkuzvkirsYMaqR-1bOjppVsBP4bBqo,2219
@@ -174,10 +177,11 @@ dodal/devices/i03/constants.py,sha256=Y-4tsbmAMEcjV5FBjeRmnA2tl5-LPt5x_icG2xu7Xk
174
177
  dodal/devices/i03/dcm.py,sha256=qK9qcPCedjOVMvKZ0TZaWNeyt7CJRsC-Wpjy44OQf4E,2336
175
178
  dodal/devices/i03/undulator_dcm.py,sha256=gtlN-t-L9bLeC5E1tN_aibJhpYiSnwt-TNm5ZsPm88M,2867
176
179
  dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
180
+ dodal/devices/i04/beam_centre.py,sha256=joZ2oCabG2caPZDqtj46Hbit5N_TrXy6N3OMpHQIiwA,3004
177
181
  dodal/devices/i04/beamsize.py,sha256=0Y8Adz_nSSe86uD95BgcZTyZUfisMMX01aoPi8jQx-I,1582
178
182
  dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
179
- dodal/devices/i04/max_pixel.py,sha256=qH-hElSDOi_ThMzuapiBSkJIAqMZ08K_OyuO3hkw0F0,1565
180
- dodal/devices/i04/murko_results.py,sha256=y6dNd1aZGRyEPP5mtWTVejbRYBoEa6qXMUNFM4VDCbg,10069
183
+ dodal/devices/i04/max_pixel.py,sha256=Ng-P6LN-EkCEJnBbhP2SuBbEKqKrTjzGwOH82f8JrrA,935
184
+ dodal/devices/i04/murko_results.py,sha256=nEyeMThecri-cmv0ASBfVyG4AU3_nilrzNAaHQ5i-aQ,10631
181
185
  dodal/devices/i04/transfocator.py,sha256=gI3UpQ6N0edo3_2aSvW5aWAS3Y1yJcFnZowRNwBvGDI,3250
182
186
  dodal/devices/i05/__init__.py,sha256=v0Axsf-vMyLyxcbqS8lljJc0BQ5Tw8yVBTWcO3tG_4g,67
183
187
  dodal/devices/i05/enums.py,sha256=9FHBIexkSfZSTHxUnGupravfG9sVriHcrB15jemkQOQ,191
@@ -195,7 +199,7 @@ dodal/devices/i09_2_shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
195
199
  dodal/devices/i09_2_shared/i09_apple2.py,sha256=6WliOiSdTjuO6N5YrvJK4AKAUgT7sSVHoLnpH1ntTU0,245
196
200
  dodal/devices/i10/__init__.py,sha256=Pa7gI_ulcPO3dN2xpw6tBN1E3CpV3Lj82kmGwIVU7TA,575
197
201
  dodal/devices/i10/diagnostics.py,sha256=ULSHpaRPVWcP-HgKAJW2rsdPoYZs_MgF6HJoPj39MwU,6339
198
- dodal/devices/i10/i10_apple2.py,sha256=zbJFTsBGT0i0ZMFG49bSPLv0z5gbpr1nRrzbhIEDIh8,6880
202
+ dodal/devices/i10/i10_apple2.py,sha256=aTmnrrzpW9B2yEO1Lj_mfmTOQqryRo_72rLkaQ9mpJk,6846
199
203
  dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
200
204
  dodal/devices/i10/mirrors.py,sha256=Zofd0g2f3YvFi_KIHQE_w4dFZNglhmh--65tRnWLuyY,504
201
205
  dodal/devices/i10/slits.py,sha256=pBstXJnA6j3ftDqei0EZyAPU--M_heqo6hm2DEOqPdc,5040
@@ -221,7 +225,7 @@ dodal/devices/i15/motors.py,sha256=-kGHisSWc_zuV9m2L0mGgmiSiIZ7puLsimddk28h_7s,8
221
225
  dodal/devices/i15/multilayer_mirror.py,sha256=qdxnn6PBAxK0MgeVUpM8Ukkq4tdX3jhjlmyU-AzzH4M,741
222
226
  dodal/devices/i15/rail.py,sha256=9cRTRKy6uZBASMhK1wC8K_k_5FfLgHnoh9VblSOTkpQ,428
223
227
  dodal/devices/i17/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
- dodal/devices/i17/i17_apple2.py,sha256=BQ8yD87S_nLFRTZ2RHlQqUJyXlRgeN1qvHUjESn7t9w,2250
228
+ dodal/devices/i17/i17_apple2.py,sha256=VEGNdPQVIXdvjPn5vhem5KmmKuR-jLl9O6X7AdftuME,2188
225
229
  dodal/devices/i18/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
230
  dodal/devices/i18/diode.py,sha256=nk5kvn4LsbhczRpCwHOO0_jJTYOz7MP9qm_uvBWuv7c,1468
227
231
  dodal/devices/i18/kb_mirror.py,sha256=W4R3TeulSjosUqAFIIznyWzje_Y2AoEf9f8N-NkisYM,710
@@ -247,25 +251,28 @@ dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
247
251
  dodal/devices/i24/aperture.py,sha256=dlH_g7OPTBc5QRMd-ADU3_GDTKh668kkMHo4k_JxUcY,770
248
252
  dodal/devices/i24/beam_center.py,sha256=nQyOif6JtlU_qP7kZP-8wN1ldW81MIbFUykPC1bEm70,446
249
253
  dodal/devices/i24/beamstop.py,sha256=6tbiQLlcTlp4PCPhHJ_mlHtkv0kz5ArQ99zg9rwTnrw,1133
250
- dodal/devices/i24/commissioning_jungfrau.py,sha256=i-B6Sy2braKSGYF2G7QrluPkThXHY-YiULUJRqClFok,4532
254
+ dodal/devices/i24/commissioning_jungfrau.py,sha256=EpU00AkpsYBwZN33N1pju9x5ZeSGq1kK3ofXp_LnKYU,4376
251
255
  dodal/devices/i24/dcm.py,sha256=2stTmR-Hx7azjVmMPVRu0gRDrJ-1jjKaWxFrF9IKsJc,1268
252
256
  dodal/devices/i24/dual_backlight.py,sha256=N0R7M1mHPRmQ4fks5lGU1wrXjOvcW_ZKIXaRoC8aLDE,2084
253
257
  dodal/devices/i24/focus_mirrors.py,sha256=DYiYLpDw8FJ1LYHxLOxE_om5qGfUo2itzskgqhmQZlg,1763
254
258
  dodal/devices/i24/pmac.py,sha256=-HYf2HPzaqWvszp4T8TXohdp40-xmKqQq4V0mLvVri8,7028
255
259
  dodal/devices/i24/vgonio.py,sha256=sxSmcYZayVJPJz_D_91j9PmNor7Tbl1RGQFRrdtESlw,533
256
- dodal/devices/insertion_device/__init__.py,sha256=Gx-2YRja1TeW5AMaSH42sCOoiXnoAkuezsy8aJmC3IE,1373
257
- dodal/devices/insertion_device/apple2_undulator.py,sha256=B0OjfPv8oN0tOVJ8JVhsBqLC9zWeHQxxy9t9ERO6T_Q,30543
258
- dodal/devices/insertion_device/energy_motor_lookup.py,sha256=8kmw7rNBTK_srKplNQ5pHD5P6b1oOP1fNJ7iNDrKgzY,2708
259
- dodal/devices/insertion_device/id_enum.py,sha256=IQgVUiY23hcOk3G073OAspeRJ9V4YEx2MntKlUt0Nqk,265
260
- dodal/devices/insertion_device/lookup_table_models.py,sha256=_lkdHo9W8u0GppBUg5Mas7ABF1ET3la6PjLGavThh3Q,9874
260
+ dodal/devices/insertion_device/__init__.py,sha256=xFELKzqlyk_cdkQmElyH4eg-5hD_HuyCWNu06Mne7zI,1543
261
+ dodal/devices/insertion_device/apple2_controller.py,sha256=Mx-r2M0Yze6zyOyoJhqpJ8iu__ZZTMRA-9j5dVreBOc,15179
262
+ dodal/devices/insertion_device/apple2_undulator.py,sha256=mizSUajWUKeOeXT4rO10KwuzIHf_QlOcpu807uUTF9Y,15165
263
+ dodal/devices/insertion_device/energy.py,sha256=VhxftXZFe_AgAcRSxCKKZ6lwjVEb9KWecTCa4oBGHOQ,2657
264
+ dodal/devices/insertion_device/energy_motor_lookup.py,sha256=ILhcSW13vK7GF3W9j2OVmVApDTRWft3OjwIIAfmRBDM,2705
265
+ dodal/devices/insertion_device/enum.py,sha256=IQgVUiY23hcOk3G073OAspeRJ9V4YEx2MntKlUt0Nqk,265
266
+ dodal/devices/insertion_device/lookup_table_models.py,sha256=g9c4j1V31I8jj-IxM1PX8QXeIdB0pH_EKZJOh3PmvGc,9873
267
+ dodal/devices/insertion_device/polarisation.py,sha256=F6oSoApZp0ygcFYt4RxCGzbjhCUyxYWDSH0cSSdcbYw,1332
261
268
  dodal/devices/mx_phase1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
269
  dodal/devices/mx_phase1/beamstop.py,sha256=zWdZp0j9lCg4YzsZ7GSR3xEcvMfMTJoMO6XdgiC53p4,3765
263
270
  dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
271
  dodal/devices/oav/oav_calculations.py,sha256=pgQmqot9avffVRjY-NkboKnGxPEtwSovWSDMQD1icvg,2746
265
- dodal/devices/oav/oav_detector.py,sha256=HHBiXREzX6bDtQ2miPEa5SgR-nVdQzoQr5fpkz9fzdg,8942
272
+ dodal/devices/oav/oav_detector.py,sha256=7Bup2mx09--W7IZFJN-sNl93KzIeErNzRS8CWgOG92Q,11011
266
273
  dodal/devices/oav/oav_parameters.py,sha256=gBFJwJbPGXyyXWxxhJIRhM5lAF_JxqSGOFOUW8oKL-Q,7017
267
274
  dodal/devices/oav/oav_to_redis_forwarder.py,sha256=4F9FuAM0d5vWEUCeLmyNLQl6IUK89Vttw2rX1Kw-mGQ,6400
268
- dodal/devices/oav/utils.py,sha256=ekDiYypwH-FuT3Ss7QZnEbukjhtAY466SGVMz5T97s8,3517
275
+ dodal/devices/oav/utils.py,sha256=6mRmA5s3QzTX97pJWhxnkQF1h7blelPLGEDc61KzMAE,4211
269
276
  dodal/devices/oav/pin_image_recognition/__init__.py,sha256=s5cdeJ6EuKAA-e5n4laaWNlYHza87frPYVC809N3TOw,6573
270
277
  dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
271
278
  dodal/devices/oav/pin_image_recognition/utils.py,sha256=HPPMh4dTXvS4Jr9DqAXkanWQfFi7sA5kOcqLRpT2kjE,9448
@@ -292,8 +299,8 @@ dodal/devices/xspress3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
292
299
  dodal/devices/xspress3/xspress3.py,sha256=OerapEy-IuK7EFz13B5z0BzBmESVl6pYUlqAWHIwJck,4555
293
300
  dodal/devices/xspress3/xspress3_channel.py,sha256=w8tAx2lz5kJ_LeJ_eb_4o--Dtt8MRijsYNgDG6oEIVg,1626
294
301
  dodal/devices/zebra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
- dodal/devices/zebra/zebra.py,sha256=AxGmFIYL62arJcy8WCE2-M1llxVB3xBhum3NV7jpEUQ,9602
296
- dodal/devices/zebra/zebra_constants_mapping.py,sha256=12Xs_nEbnAxdUN45VNn5fmI6GuUKpcQcJwsv5mifMss,4157
302
+ dodal/devices/zebra/zebra.py,sha256=yaY26Vdl-j-HAKR162rx5h-UUqyMANiHoF7NI91Ee8Q,10072
303
+ dodal/devices/zebra/zebra_constants_mapping.py,sha256=QtBDW8Xtsm1aDZYoAN5RbRuacB3pspBAp5BnVHk9AGc,4212
297
304
  dodal/devices/zebra/zebra_controlled_shutter.py,sha256=hrSD1oRW8BY67ub_oggjp6cvhqlRQWlXYsGtn9HBGhk,1876
298
305
  dodal/devices/zocalo/__init__.py,sha256=76YCA9dS0MF4AqSa-r5ss6oOgKVVjmVcbQYGtuOyeFA,498
299
306
  dodal/devices/zocalo/zocalo_constants.py,sha256=vu7Xjz7UNEpBUWEEBxDvP4bVFkZIN6NLGfQDpWbCjH8,98
@@ -308,7 +315,7 @@ dodal/plan_stubs/motor_utils.py,sha256=smYhhkSfDHQrq_UPa7Szhhyx_HlwnP_1srG0JkiDw
308
315
  dodal/plan_stubs/wrapped.py,sha256=kC8HH7bx3-sLYu2oieY_502tAdT2OECF8n-fqoL5Bfc,4266
309
316
  dodal/plans/__init__.py,sha256=Hi-PVPyOMWcnbggtrORhhOCsH9TXTCW_mgxYVr5EKEU,94
310
317
  dodal/plans/bimorph.py,sha256=JxDmZDiEvZnz5f22tlaoyivpnaNGiX8kSL82qz5uvMM,11738
311
- dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=Yffie3vznQbVGKQUiQFzpl0CxWBKJz1d3-SmschmeAw,6164
318
+ dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=YHpuiGoyblFi0quYTrIAa1oAtIb-eQk7K7Hjg4o434Q,6095
312
319
  dodal/plans/load_panda_yaml.py,sha256=OF-ZygZyAyQEUdrAWiIxWZ6QhAsVx4Mm9ngRYB1mzKI,433
313
320
  dodal/plans/save_panda.py,sha256=X-zR5GysBPp3M7ZpEYEqCUSc4nJYzHJBA44e52uQ6F4,3099
314
321
  dodal/plans/spec_path.py,sha256=Q0AcvTKRT401iGMRDSqK-D523UX5_ofiVMZ_rNXKOx8,2074
@@ -316,6 +323,7 @@ dodal/plans/verify_undulator_gap.py,sha256=8FirCLRuDreqIRYTJfFuaefrgInoztKKajD6T
316
323
  dodal/plans/wrapped.py,sha256=BPMw__RcWvk9v5XnhMsi9_k4KsDEbmXogzD2n1ecbUg,2098
317
324
  dodal/plans/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
325
  dodal/plans/preprocessors/verify_undulator_gap.py,sha256=cBZEGq8TW1jrXFXB00iClQVXSEaE_jP_rHMY9WTgYyY,1813
326
+ dodal/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
319
327
  dodal/testing/electron_analyser/__init__.py,sha256=-lc1opD2dCv0x678-J-ApOhHtvEvcslfOQ7E613U8-Y,118
320
328
  dodal/testing/electron_analyser/device_factory.py,sha256=mLeWQems_xBmmxPjyUEBhcp8VIsasY4TsUnVOe10ZaE,2252
321
329
  dodal/testing/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -323,8 +331,8 @@ dodal/testing/fixtures/run_engine.py,sha256=_DQivl-pAAoSVpX60XT4jLLmPBJHahCkaVAI
323
331
  dodal/testing/fixtures/utils.py,sha256=jy3mfAAn_TFQ7gqCec-OiOlZkaNLUH3TESW2oohvNgo,1861
324
332
  dodal/testing/fixtures/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
333
  dodal/testing/fixtures/devices/apple2.py,sha256=5FbO1YACBF8aM82X9_36gPqk6rjdy1xRu8OdfdPrxAM,2727
326
- dls_dodal-1.68.0.dist-info/METADATA,sha256=9_RH8_nxq7q8xT5oNB_i10-jiRoqOC6dIxs_RRHg2o0,16923
327
- dls_dodal-1.68.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
328
- dls_dodal-1.68.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
329
- dls_dodal-1.68.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
330
- dls_dodal-1.68.0.dist-info/RECORD,,
334
+ dls_dodal-1.69.0.dist-info/METADATA,sha256=wghMAET73Z9p5xNIrVKnWuVXHszZSNkbSrG38fwtbSk,15601
335
+ dls_dodal-1.69.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
336
+ dls_dodal-1.69.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
337
+ dls_dodal-1.69.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
338
+ dls_dodal-1.69.0.dist-info/RECORD,,
dodal/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.68.0'
32
- __version_tuple__ = version_tuple = (1, 68, 0)
31
+ __version__ = version = '1.69.0'
32
+ __version_tuple__ = version_tuple = (1, 69, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
dodal/beamlines/adsim.py CHANGED
@@ -1,11 +1,8 @@
1
1
  from ophyd_async.epics.adsimdetector import SimDetector
2
2
 
3
- from dodal.common.beamlines.beamline_utils import (
4
- device_factory,
5
- get_path_provider,
6
- )
7
3
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
8
4
  from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
5
+ from dodal.device_manager import DeviceManager
9
6
  from dodal.devices.motors import XThetaStage
10
7
  from dodal.log import set_beamline as set_log_beamline
11
8
  from dodal.utils import BeamlinePrefix
@@ -15,6 +12,8 @@ PREFIX = BeamlinePrefix("t01")
15
12
  set_log_beamline(BL)
16
13
  set_utils_beamline(BL)
17
14
 
15
+ devices = DeviceManager()
16
+
18
17
 
19
18
  """
20
19
  Beamline module for use with the simulated AreaDetector and motors.
@@ -38,44 +37,52 @@ How to use the devices in a plan:
38
37
  In an ipython terminal run:
39
38
 
40
39
  ```python
41
- from pathlib import Path
42
-
43
40
  from bluesky.run_engine import RunEngine
44
- from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
45
41
 
46
- from dodal.beamlines.adsim import det, stage
47
- from dodal.common.beamlines.beamline_utils import set_path_provider
42
+ from dodal.beamlines.adsim import devices
48
43
  from dodal.plans import count
49
44
 
50
45
 
51
- set_path_provider(
52
- StaticPathProvider(
53
- UUIDFilenameProvider(),
54
- "/tmp", # The directory for `det` to write to- may be mounted as a volume
55
- )
56
- )
57
-
58
46
  run_engine = RunEngine()
59
- d = det(connect_immediately=True)
60
- s = stage(connect_immediately=True)
47
+
48
+ built = devices.build_and_connect().or_raise()
49
+ d = built["det"]
50
+ s = built["stage"]
51
+
61
52
  run_engine(count([d], num=10))
62
53
  ```
63
-
64
54
  """
65
55
 
66
56
 
67
- @device_factory()
57
+ @devices.fixture
58
+ def path_provider():
59
+ # This fixture is only used if a path_provider is not passed to the device
60
+ # manager when the devices are built.
61
+ #
62
+ # When used via blueAPI with numtracker enabled, it will take priority and
63
+ # the path provider here will not be created.
64
+ from pathlib import Path
65
+
66
+ from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
67
+
68
+ return StaticPathProvider(
69
+ UUIDFilenameProvider(),
70
+ Path("/tmp"), # The directory for `det` to write to- may be mounted as a volume
71
+ )
72
+
73
+
74
+ @devices.factory()
68
75
  def stage() -> XThetaStage:
69
76
  return XThetaStage(
70
77
  f"{PREFIX.beamline_prefix}-MO-SIMC-01:", x_infix="M1", theta_infix="M2"
71
78
  )
72
79
 
73
80
 
74
- @device_factory()
75
- def det() -> SimDetector:
81
+ @devices.factory()
82
+ def det(path_provider) -> SimDetector:
76
83
  return SimDetector(
77
84
  f"{PREFIX.beamline_prefix}-DI-CAM-01:",
78
- path_provider=get_path_provider(),
85
+ path_provider=path_provider,
79
86
  drv_suffix=DET_SUFFIX,
80
87
  fileio_suffix=HDF5_SUFFIX,
81
88
  )
dodal/beamlines/i02_1.py CHANGED
@@ -1,10 +1,7 @@
1
1
  """Beamline i02-1 is also known as VMXm, or I02J"""
2
2
 
3
- from dodal.common.beamlines.beamline_utils import (
4
- device_factory,
5
- device_instantiation,
6
- )
7
3
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
4
+ from dodal.device_manager import DeviceManager
8
5
  from dodal.devices.attenuator.attenuator import EnumFilterAttenuator
9
6
  from dodal.devices.attenuator.filter_selections import (
10
7
  I02_1FilterFourSelections,
@@ -37,46 +34,31 @@ I02_1_ZEBRA_MAPPING = ZebraMapping(
37
34
  sources=ZebraSources(),
38
35
  )
39
36
 
37
+ devices = DeviceManager()
40
38
 
41
- @device_factory()
42
- def eiger(mock: bool = False) -> EigerDetector:
43
- """Get the i02-1 Eiger device, instantiate it if it hasn't already been.
44
- If this is called when already instantiated in i02-1, it will return the existing object.
45
- """
46
- return device_instantiation(
47
- device_factory=EigerDetector,
48
- prefix=f"{PREFIX.beamline_prefix}-EA-EIGER-01:",
49
- bl_prefix=False,
50
- wait=False,
51
- fake=mock,
52
- name="eiger",
53
- )
54
39
 
40
+ @devices.v1_init(
41
+ EigerDetector, prefix=f"{PREFIX.beamline_prefix}-EA-EIGER-01:", wait=False
42
+ )
43
+ def eiger(eiger: EigerDetector) -> EigerDetector:
44
+ return eiger
55
45
 
56
- @device_factory()
46
+
47
+ @devices.factory()
57
48
  def zebra_fast_grid_scan() -> ZebraFastGridScanTwoD:
58
- """Get the i02-1 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
59
- If this is called when already instantiated in i02-1, it will return the existing object.
60
- """
61
49
  return ZebraFastGridScanTwoD(
62
50
  prefix=f"{PREFIX.beamline_prefix}-MO-SAMP-11:",
63
51
  motion_controller_prefix="BL02J-MO-STEP-11:",
64
52
  )
65
53
 
66
54
 
67
- @device_factory()
55
+ @devices.factory()
68
56
  def synchrotron() -> Synchrotron:
69
- """Get the i02-1 synchrotron device, instantiate it if it hasn't already been.
70
- If this is called when already instantiated in i02-1, it will return the existing object.
71
- """
72
57
  return Synchrotron()
73
58
 
74
59
 
75
- @device_factory()
60
+ @devices.factory()
76
61
  def zebra() -> Zebra:
77
- """Get the i02-1 zebra device, instantiate it if it hasn't already been.
78
- If this is called when already instantiated in i02-1, it will return the existing object.
79
- """
80
62
  return Zebra(
81
63
  prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
82
64
  mapping=I02_1_ZEBRA_MAPPING,
@@ -84,28 +66,18 @@ def zebra() -> Zebra:
84
66
 
85
67
 
86
68
  # Device not needed after https://github.com/DiamondLightSource/mx-bluesky/issues/1299
87
- @device_factory()
69
+ @devices.factory()
88
70
  def zocalo() -> ZocaloResults:
89
- """Get the i02-1 ZocaloResults device, instantiate it if it hasn't already been.
90
- If this is called when already instantiated in i02-1, it will return the existing object.
91
- """
92
71
  return ZocaloResults()
93
72
 
94
73
 
95
- @device_factory()
74
+ @devices.factory()
96
75
  def goniometer() -> SampleMotors:
97
- """Get the i02-1 goniometer device, instantiate it if it hasn't already been.
98
- If this is called when already instantiated in i02-1, it will return the existing object.
99
- """
100
76
  return SampleMotors(f"{PREFIX.beamline_prefix}-MO-SAMP-01:")
101
77
 
102
78
 
103
- @device_factory()
79
+ @devices.factory()
104
80
  def attenuator() -> EnumFilterAttenuator:
105
- """Get the i02-1 attenuator device, instantiate it if it hasn't already been.
106
- If this is called when already instantiated in i02-1, it will return the existing object.
107
- """
108
-
109
81
  return EnumFilterAttenuator(
110
82
  f"{PREFIX.beamline_prefix}-OP-ATTN-01:",
111
83
  (
dodal/beamlines/i02_2.py CHANGED
@@ -1,9 +1,7 @@
1
1
  """Beamline i02-2 is also known as VMXi, or I02I"""
2
2
 
3
- from dodal.common.beamlines.beamline_utils import (
4
- device_factory,
5
- )
6
3
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
4
+ from dodal.device_manager import DeviceManager
7
5
  from dodal.devices.motors import XYStage
8
6
  from dodal.devices.synchrotron import Synchrotron
9
7
  from dodal.log import set_beamline as set_log_beamline
@@ -15,18 +13,14 @@ set_log_beamline(BL)
15
13
  set_utils_beamline(BL)
16
14
  DAQ_CONFIGURATION_PATH = "/dls_sw/i02-2/software/daq_configuration"
17
15
 
16
+ devices = DeviceManager()
18
17
 
19
- @device_factory()
18
+
19
+ @devices.factory()
20
20
  def synchrotron() -> Synchrotron:
21
- """Get the i02-2 synchrotron device, instantiate it if it hasn't already been.
22
- If this is called when already instantiated in i02-2, it will return the existing object.
23
- """
24
21
  return Synchrotron()
25
22
 
26
23
 
27
- @device_factory()
24
+ @devices.factory()
28
25
  def sample_motors() -> XYStage:
29
- """Get the i02-2 goniometer device, instantiate it if it hasn't already been.
30
- If this is called when already instantiated in i02-2, it will return the existing object.
31
- """
32
26
  return XYStage(f"{PREFIX.beamline_prefix}-MO-GONIO-01:SAMPLE:")
dodal/beamlines/i03.py CHANGED
@@ -157,8 +157,11 @@ def detector_motion() -> DetectorMotion:
157
157
  )
158
158
 
159
159
 
160
- @devices.v1_init(EigerDetector, prefix="BL03I-EA-EIGER-01:", wait=False)
160
+ @devices.v1_init(
161
+ EigerDetector, prefix=f"{PREFIX.beamline_prefix}-EA-EIGER-01:", wait=False
162
+ )
161
163
  def eiger(eiger: EigerDetector) -> EigerDetector:
164
+ eiger.detector_id = 78
162
165
  return eiger
163
166
 
164
167
 
@@ -0,0 +1,19 @@
1
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
2
+ from dodal.device_manager import DeviceManager
3
+ from dodal.devices.baton import Baton
4
+ from dodal.log import set_beamline as set_log_beamline
5
+ from dodal.utils import BeamlinePrefix, get_beamline_name
6
+
7
+ BL = get_beamline_name("i03")
8
+ set_log_beamline(BL)
9
+ set_utils_beamline(BL)
10
+
11
+ PREFIX = BeamlinePrefix(BL)
12
+
13
+
14
+ devices = DeviceManager()
15
+
16
+
17
+ @devices.factory()
18
+ def baton() -> Baton:
19
+ return Baton(f"{PREFIX.beamline_prefix}-CS-BATON-01:")