dls-dodal 1.67.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 (86) hide show
  1. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/METADATA +2 -32
  2. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/RECORD +79 -71
  3. dodal/_version.py +2 -2
  4. dodal/beamlines/adsim.py +30 -23
  5. dodal/beamlines/b07.py +1 -1
  6. dodal/beamlines/b07_1.py +1 -1
  7. dodal/beamlines/i02_1.py +14 -42
  8. dodal/beamlines/i02_2.py +5 -11
  9. dodal/beamlines/i03.py +4 -1
  10. dodal/beamlines/i03_supervisor.py +19 -0
  11. dodal/beamlines/i04.py +74 -179
  12. dodal/beamlines/i05.py +9 -1
  13. dodal/beamlines/i06.py +1 -1
  14. dodal/beamlines/i06_1.py +24 -0
  15. dodal/beamlines/i09.py +53 -9
  16. dodal/beamlines/i09_1.py +9 -1
  17. dodal/beamlines/i09_2.py +7 -6
  18. dodal/beamlines/i10_optics.py +1 -1
  19. dodal/beamlines/i16.py +34 -0
  20. dodal/beamlines/i17.py +1 -1
  21. dodal/beamlines/i20_1.py +14 -0
  22. dodal/beamlines/i21.py +71 -4
  23. dodal/beamlines/i23.py +19 -25
  24. dodal/beamlines/i24.py +55 -105
  25. dodal/beamlines/p60.py +12 -2
  26. dodal/common/__init__.py +2 -1
  27. dodal/common/maths.py +80 -0
  28. dodal/devices/eiger.py +44 -23
  29. dodal/devices/electron_analyser/__init__.py +0 -33
  30. dodal/devices/electron_analyser/base/__init__.py +58 -0
  31. dodal/devices/electron_analyser/base/base_controller.py +84 -0
  32. dodal/devices/electron_analyser/base/base_detector.py +214 -0
  33. dodal/devices/electron_analyser/{abstract → base}/base_driver_io.py +23 -42
  34. dodal/devices/electron_analyser/{enums.py → base/base_enums.py} +0 -5
  35. dodal/devices/electron_analyser/{abstract → base}/base_region.py +48 -11
  36. dodal/devices/electron_analyser/{util.py → base/base_util.py} +1 -1
  37. dodal/devices/electron_analyser/{energy_sources.py → base/energy_sources.py} +27 -26
  38. dodal/devices/electron_analyser/specs/__init__.py +4 -4
  39. dodal/devices/electron_analyser/specs/specs_detector.py +47 -0
  40. dodal/devices/electron_analyser/specs/{driver_io.py → specs_driver_io.py} +23 -26
  41. dodal/devices/electron_analyser/specs/{region.py → specs_region.py} +4 -3
  42. dodal/devices/electron_analyser/vgscienta/__init__.py +4 -4
  43. dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +53 -0
  44. dodal/devices/electron_analyser/vgscienta/{driver_io.py → vgscienta_driver_io.py} +25 -31
  45. dodal/devices/electron_analyser/vgscienta/{region.py → vgscienta_region.py} +6 -6
  46. dodal/devices/fast_shutter.py +108 -25
  47. dodal/devices/i04/beam_centre.py +84 -0
  48. dodal/devices/i04/max_pixel.py +4 -17
  49. dodal/devices/i04/murko_results.py +18 -3
  50. dodal/devices/i09_2_shared/i09_apple2.py +0 -72
  51. dodal/devices/i10/i10_apple2.py +7 -7
  52. dodal/devices/i17/i17_apple2.py +6 -6
  53. dodal/devices/i21/__init__.py +3 -1
  54. dodal/devices/i24/commissioning_jungfrau.py +9 -10
  55. dodal/devices/insertion_device/__init__.py +62 -0
  56. dodal/devices/insertion_device/apple2_controller.py +380 -0
  57. dodal/devices/insertion_device/apple2_undulator.py +152 -481
  58. dodal/devices/insertion_device/energy.py +88 -0
  59. dodal/devices/insertion_device/energy_motor_lookup.py +1 -1
  60. dodal/devices/insertion_device/enum.py +17 -0
  61. dodal/devices/insertion_device/lookup_table_models.py +66 -36
  62. dodal/devices/insertion_device/polarisation.py +36 -0
  63. dodal/devices/oav/oav_detector.py +66 -1
  64. dodal/devices/oav/utils.py +17 -0
  65. dodal/devices/robot.py +35 -18
  66. dodal/devices/selectable_source.py +38 -0
  67. dodal/devices/zebra/zebra.py +15 -0
  68. dodal/devices/zebra/zebra_constants_mapping.py +1 -0
  69. dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -1
  70. dodal/testing/__init__.py +0 -0
  71. dodal/testing/electron_analyser/device_factory.py +4 -4
  72. dodal/testing/fixtures/devices/apple2.py +1 -1
  73. dodal/testing/fixtures/run_engine.py +4 -0
  74. dodal/devices/electron_analyser/abstract/__init__.py +0 -25
  75. dodal/devices/electron_analyser/abstract/base_detector.py +0 -63
  76. dodal/devices/electron_analyser/abstract/types.py +0 -12
  77. dodal/devices/electron_analyser/detector.py +0 -143
  78. dodal/devices/electron_analyser/specs/detector.py +0 -34
  79. dodal/devices/electron_analyser/types.py +0 -57
  80. dodal/devices/electron_analyser/vgscienta/detector.py +0 -48
  81. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/WHEEL +0 -0
  82. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/entry_points.txt +0 -0
  83. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/licenses/LICENSE +0 -0
  84. {dls_dodal-1.67.0.dist-info → dls_dodal-1.69.0.dist-info}/top_level.txt +0 -0
  85. /dodal/devices/electron_analyser/specs/{enums.py → specs_enums.py} +0 -0
  86. /dodal/devices/electron_analyser/vgscienta/{enums.py → vgscienta_enums.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.67.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
@@ -231,37 +231,7 @@ Requires-Dist: redis
231
231
  Requires-Dist: scanspec>=0.7.3
232
232
  Requires-Dist: pyzmq==26.3.0
233
233
  Requires-Dist: deepdiff
234
- Requires-Dist: daq-config-server>=v1.0.0-rc.2
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"
234
+ Requires-Dist: daq-config-server>=v1.0.0
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.67.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=c0RuIg9OCtUaPM4-lkpuPjMg-xh8FH9wzexV0vljv2U,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,56 +10,59 @@ 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
- dodal/beamlines/b07.py,sha256=dDg-im7loDU1eBGECU7XbNfE4e8hCk7RMZ2CAt9cZYg,1425
17
- dodal/beamlines/b07_1.py,sha256=4PZm5t9mQIoGvUpKjO8cXTddw96kh5ONigCJ_vomAug,1632
16
+ dodal/beamlines/b07.py,sha256=BfJJso_h2YX1LU0sRNxGeKJzCNRWngV9Kv2Hc3M6zLM,1430
17
+ 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=Xq9Bq4sU7l3MUcXgMb1iRFtDgW-797SGVGeQyTq-yZg,1298
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
- dodal/beamlines/i06.py,sha256=L8JOEob0FXQiwOPNmGP8ySPL5EgNhUaiSEwSXnwuJtE,1588
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=vRwfF3I3H6PzeJ87_ZzIT0wEwu0iIOS05BwZhbnGBiI,1905
30
- dodal/beamlines/i09_1.py,sha256=e3c7xTALLo90Dnqxn04iEw3eoSX_QdZ08vTScSxjrwk,2538
31
- dodal/beamlines/i09_2.py,sha256=Cn4XBh8u6bJ3wCLUmJFpm35jbG4PA5_csXRGR42wNNs,3361
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
- dodal/beamlines/i10_optics.py,sha256=VbBY4kcTCVjdGPtIvHppdLiDByvi5c4ZsM_AKcXtV3M,7159
36
+ dodal/beamlines/i10_optics.py,sha256=C8dftjZw1TmdswUMpGoKOF70TsAQ1WAffdQH-1BJ74I,7142
35
37
  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/i17.py,sha256=z-TBQIuaV9KEMNSXNe2GV14KWUKqvLXxUFxXiZW6sGY,2805
41
+ dodal/beamlines/i16.py,sha256=OQB7jez37jEVQvMCNFZNd6R30TWBcZrJPxpTumsY8go,983
42
+ dodal/beamlines/i17.py,sha256=nlebjLsEruFcrpVGXclNHBsnIMtasQKvsBimwIf2-vI,2788
40
43
  dodal/beamlines/i18.py,sha256=vPGfrbh1CY2W2BXIfCA5PIeVyixS5nEJSxHpla1RM4I,3756
41
44
  dodal/beamlines/i19_1.py,sha256=aC-R9CEjRZEdSutfYhK9r2rT6J__IOZy4zG95B_fJC8,3466
42
45
  dodal/beamlines/i19_2.py,sha256=gNRRRimY69zl_e9FRaEFs-fQxWu6oqFwjHjjVs-AJrk,4514
43
46
  dodal/beamlines/i19_optics.py,sha256=fNdAFRJYFA045l4giGI3V68qijDFE1C8gdvD6fncAio,1181
44
- dodal/beamlines/i20_1.py,sha256=Zsr1lsH7ySbOgK7RhMVMWzNWZAV-fuYW0iAjSEJZicY,2625
45
- dodal/beamlines/i21.py,sha256=ykBBgb_epcKy2995CqpRK-iJ_-vuA5DaDG72wQANw_s,1428
47
+ dodal/beamlines/i20_1.py,sha256=ZLVemp8OJT6csSbTJ5zu9uEoJD4-ZOLFAuOP6s1re_8,2956
48
+ dodal/beamlines/i21.py,sha256=ElxLtTga2eeg3s-4IoYb3iAhPR-wcNSqhN9vzol0-9E,3653
46
49
  dodal/beamlines/i22.py,sha256=XVGYyx6QEhbXJ5DRm-YWnUZKdagv_X8YJNYjmhXT7II,8097
47
- dodal/beamlines/i23.py,sha256=ZXvPEiMA4mPbRTXOxvL1NcoVWDg4Deyl8k57cveDg90,3060
48
- 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
49
52
  dodal/beamlines/k07.py,sha256=jELF4ENfSsPumbFieZDQKP-fDKFeGfox7guhdxJqmD8,1005
50
53
  dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
51
54
  dodal/beamlines/p38.py,sha256=ohFCTkyqR2MWGK20PrJqAIokiEjDPNTAfMRzrn3T0Mg,5778
52
55
  dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
53
- dodal/beamlines/p60.py,sha256=JtoajfrWGIDHFBQfXDKud4A9O2sV-BTVL1pZYUHx9zY,1480
56
+ dodal/beamlines/p60.py,sha256=oTLABOZIF7CUMMxipE0GO1Awij52OOiD4LJSS632sDA,1699
54
57
  dodal/beamlines/p99.py,sha256=Rbi9OvmrGIblctOnZxFG_tqqhALLZ9O3ht4mBcb5vU8,2754
55
58
  dodal/beamlines/training_rig.py,sha256=VfMMNLdqej50CX17GluuwBbdXaurc5dnWjmoCT20bT4,1593
56
- dodal/common/__init__.py,sha256=0fah9eCiHBBLVhdIqN_pjQIgPtxkAu25-3i4KjHRFM4,386
59
+ dodal/common/__init__.py,sha256=y-R5BgS0ms1UKryzkK8eHn8E3NiMVU3VG8upgWC7DcQ,418
57
60
  dodal/common/coordination.py,sha256=zvY3n8r-eDU2K3O7RlMzS6eoKI_XWHCWS9mcLwHVZXc,1252
58
61
  dodal/common/crystal_metadata.py,sha256=XGr-X81G9SZvPx5b4nBCH4FOnywyX_zYVy6zwDxIMVM,1926
59
62
  dodal/common/data_util.py,sha256=Z2DgxQl3AzTB940e_qYVDIHuu_9vWzpbycjKb62SFus,555
60
63
  dodal/common/device_utils.py,sha256=3hWgLmESiF88fho9bCweZpZH6b5fbbuSZGuSEYXxl4E,1345
61
64
  dodal/common/enums.py,sha256=Q8RSQBIHTCbhngVUKoznzvwazQ7INsT5NE0BcAgT1U0,404
62
- dodal/common/maths.py,sha256=K9x7iL3xXLtWYTV-xlFHDNSTIL9a2UP3Ws7wr6Dm2rQ,1803
65
+ dodal/common/maths.py,sha256=_nf7Duz7oVnyAdGAKbaoZ_-u_5o-8ApFzghu2A8IWfc,4241
63
66
  dodal/common/types.py,sha256=fkL7UOwDbe3v2_VJ5f1W5RxR98Wx-Ra-LxUZWkNDtls,486
64
67
  dodal/common/udc_directory_provider.py,sha256=v5OBaCUwjtQZAsRQUw6LlVL58UvwwDO1l2MKlilXjdk,2403
65
68
  dodal/common/visit.py,sha256=0KxiIYJolSewuTn9Av-B4NxU2WpQo2l1-WmAO741Du8,5826
@@ -80,11 +83,11 @@ dodal/devices/common_dcm.py,sha256=BmvwnT5mbCmSQI8aGl3GKEfpe7N1axUANEyG-NYgC98,5
80
83
  dodal/devices/controllers.py,sha256=W_Ras1c6xLjcOMKPSHN8Z1eCUCH-ktaah2hzQXyuFLk,652
81
84
  dodal/devices/cryostream.py,sha256=F8-JVl9LvvR0jvFUwhowazwT7q38HnDuVZxRS-1BOnk,4522
82
85
  dodal/devices/diamond_filter.py,sha256=hySd7HnLdplpPNvBrLddLjO_3LqgD8-99Zr__Sy_GbI,689
83
- dodal/devices/eiger.py,sha256=l5AbGDHWbpp1RCEEGh1-C7uA-_Hkuz8UL6CkNQVZPzY,17165
86
+ dodal/devices/eiger.py,sha256=ssxCeHbZLWIZ36Zv_ghSnMpNq58eTKrEX61B-kr62M0,18138
84
87
  dodal/devices/eiger_odin.py,sha256=1JoqPppTp99IZCiFOXJZB3h62xXRYKZINxTYXdLnT8c,7480
85
88
  dodal/devices/eurotherm.py,sha256=rdLldmWYP1PZBckoya6svPy1mDxHYaa1IfMleMPGzD4,3832
86
89
  dodal/devices/fast_grid_scan.py,sha256=xm2PEPrbqHOQfVrNcXt60S1UT5RtWir6MkdnVlhZNPw,17592
87
- dodal/devices/fast_shutter.py,sha256=kbHaV-cjAaKFfgEHu7fw9jEBDoJAkIa7N0XXGBZq-xs,2345
90
+ dodal/devices/fast_shutter.py,sha256=FEFDXpRyJIxwasYxCX47Dh2m8BGTP5v1KcU7OeSXF3k,5442
88
91
  dodal/devices/fluorescence_detector_motion.py,sha256=hJ1M9Zs6Dlw8DDL9APh7yVePlS4tU2hnlySd16hqfwE,346
89
92
  dodal/devices/flux.py,sha256=1CDsq9yU2-ho8MfYBl50Tl9ABZwpUBHnV486PQXKNoQ,462
90
93
  dodal/devices/focusing_mirror.py,sha256=2UWVrY6bs6_0i-h6JJ_LAUZPX_FgMzIx04JqZafdtYU,7464
@@ -97,9 +100,10 @@ dodal/devices/pgm.py,sha256=grNtQHWP6oSbhmEd12loe9cAFnOn2A7rBlgjwnvH8z8,1182
97
100
  dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
98
101
  dodal/devices/pressure_jump_cell.py,sha256=YGmllfBya7MryLg3EXS0pzBJDRs_TlgDFxt8TzAwKJQ,8734
99
102
  dodal/devices/qbpm.py,sha256=FfrWWAHHtYv3fGRT1qljyPpAwoHJYfbooT9CfKg-oXI,465
100
- dodal/devices/robot.py,sha256=IBGwLoWw2MIxSs0gqRBOw4SYOX94ahQ0UI40FZlvZeM,7618
103
+ dodal/devices/robot.py,sha256=hsCCXSOorVZUzQ4opkZtfDOZbhwIyanqNzc00KWzEcI,8225
101
104
  dodal/devices/s4_slit_gaps.py,sha256=4KdarIQoRqX4ry3LUS1Km7fkjUFahA0VuTd2DvYEqQ8,446
102
105
  dodal/devices/scintillator.py,sha256=w6YSf1mY_xJKU00TXS_wfzJVKFvXNX9U7Vs8as-33wM,4249
106
+ dodal/devices/selectable_source.py,sha256=dyfF1RkUpbM_d6ntqBv9EP70Mp0dxAZqEwHIfUNsyZs,1256
103
107
  dodal/devices/slits.py,sha256=IJtipn1N5B7pH64frWcF2TFK8mTFwSYXpGt_FMGl68w,1537
104
108
  dodal/devices/smargon.py,sha256=JlaNPCRWh0dHbslmjuDtlZhVbIz_clmw4eUIgoSj9tM,4986
105
109
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
@@ -144,27 +148,25 @@ dodal/devices/detector/det_dist_to_beam_converter.py,sha256=nSkhiEESyuzdrWoPu6h3
144
148
  dodal/devices/detector/det_resolution.py,sha256=8OW40MhRg56GlLstM1MOkIxa4DY8eg4q0RBUX7k6PHs,3298
145
149
  dodal/devices/detector/detector.py,sha256=DqQvlgdjIdKErrZqgM9IH7drc-r6N8nhkFk7KwlgYAk,4815
146
150
  dodal/devices/detector/detector_motion.py,sha256=Ly4nz_AsB-_EDOADMC2u2J0dunpkOMbafVN_dgh3T-E,1389
147
- dodal/devices/electron_analyser/__init__.py,sha256=mpC48s2fK58aEKI-Fl3CiYBb4tXgcaa4Msj8_jLpH8g,956
148
- dodal/devices/electron_analyser/detector.py,sha256=FE8Qh7H01tej5GqWLXtCbiWo4n7OGm6q-QVViv-dqZ8,4749
149
- dodal/devices/electron_analyser/energy_sources.py,sha256=NO3oxaVgmXnm6QuvyPBaeFbTjl3KwXzXY7EsdOhjATM,3152
150
- dodal/devices/electron_analyser/enums.py,sha256=ruSH7LNRhtqMflv7gYxKeAu0uLzZIaoCai7sSTzpvkg,204
151
- dodal/devices/electron_analyser/types.py,sha256=_kmdSp4E98fsusg5Wg-Hyo25zHYA_pMe_hFW8lKe3tE,1869
152
- dodal/devices/electron_analyser/util.py,sha256=ZFQJxxwDPIr43859DPIS9lBuq54phUT3R2f_Rbn-FbU,1235
153
- dodal/devices/electron_analyser/abstract/__init__.py,sha256=OE5iU5L_7wQudl3cddtMk6eRNbXzZxqiVIzaOAZmuxc,612
154
- dodal/devices/electron_analyser/abstract/base_detector.py,sha256=alBDZgJxNYLAHDrUa_C5tRUSlujxwWdBebFHDQ8jOv0,2055
155
- dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=1j_bCS1k4LqyOBvlt34ijGOLbgX3vboxOUD4j-zv-MU,9963
156
- dodal/devices/electron_analyser/abstract/base_region.py,sha256=DY5wNs-BMYimkH5tpBEqXGq4n0YhHpk81kuHASveBpw,5702
157
- dodal/devices/electron_analyser/abstract/types.py,sha256=eoeO7sqlv5RE7AEnyzsxHyuBXlUzOIYdRLWp0EnLyAU,596
158
- dodal/devices/electron_analyser/specs/__init__.py,sha256=qN57kY6ERUGdrAWhU5m8CBrc0KaqiOGwPL6h2BNm3i0,291
159
- dodal/devices/electron_analyser/specs/detector.py,sha256=RaNkSmQ_Jb9AuwQqVqo3vv5Q6DcTtpoVqqRAQvgoeEs,1139
160
- dodal/devices/electron_analyser/specs/driver_io.py,sha256=_6FG5zXGw8vzKc8JzyxdqqQAcU5mBoDjrF_ehfG9h8w,4500
161
- dodal/devices/electron_analyser/specs/enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
162
- dodal/devices/electron_analyser/specs/region.py,sha256=P7rwbY72-QGKzC6TeldmP8sTmardpB_-rYx7gPVCMqo,1213
163
- dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=5ZUJcUkJJ9ruwE0PzCFdA0HyWKrfjxaUBeGAMCC9JH4,357
164
- dodal/devices/electron_analyser/vgscienta/detector.py,sha256=JkO8E5N8tQjYfaHMXoDV6r3oEyzTC0oQI5IqWbOmvxw,1446
165
- dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=c1v3AOSGKp6DlVmE82rvuN5aYElWsHeWPtYHPLwIM-s,3510
166
- dodal/devices/electron_analyser/vgscienta/enums.py,sha256=3vmX67ExATU8clueVp_mCzw3OUQx799oZMc8gyHtMJE,205
167
- dodal/devices/electron_analyser/vgscienta/region.py,sha256=6k6Eah6_I74Pi2_a0KfyMYFfwHwJbh1ndqy0fuq5o14,2184
151
+ dodal/devices/electron_analyser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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
154
+ dodal/devices/electron_analyser/base/base_detector.py,sha256=qNZnf-PS82z250ir9UxGYsGF5ToxvL-y-9gCJWrrWnE,7092
155
+ dodal/devices/electron_analyser/base/base_driver_io.py,sha256=Y1uXIbxZS4wrxzAxv8bIJ5eZHyG3rGTTauLNjptjR-A,8985
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
158
+ dodal/devices/electron_analyser/base/base_util.py,sha256=nGx3vF7eF4SxjzNysoxWbzqmxdSWvcPPHmghw74UuEc,1245
159
+ dodal/devices/electron_analyser/base/energy_sources.py,sha256=_JUOQDoqnqyp5Xw_dEo45vKxzFUgWS8gSS2Kqm7CjFk,3246
160
+ dodal/devices/electron_analyser/specs/__init__.py,sha256=PiId7pXfFqG0UznwzTROAp3iORuU6UEwn_0ohKBxKNk,315
161
+ dodal/devices/electron_analyser/specs/specs_detector.py,sha256=QZFltj9-4e42BWmwT0O3vTCcx6Y6gMAKO5FZmH7yIMk,1740
162
+ dodal/devices/electron_analyser/specs/specs_driver_io.py,sha256=SVb0tQGbb6m9DbjmNxfWKCwDVqMSh5a8Ad5RsMb6rZs,4449
163
+ dodal/devices/electron_analyser/specs/specs_enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
164
+ dodal/devices/electron_analyser/specs/specs_region.py,sha256=uF12HNzh1I9csYVS3j-CAGuCHCblVzYFBp_4G7JCnvI,1165
165
+ dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=s8acayQN8E0j1H9YEr6Q47Kxu3OtrPuZHk3ARuuot_A,397
166
+ dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py,sha256=BGHxIo0vojY140Ed2LBg3fheCR9Uqfb3iKqwR_cCao4,2048
167
+ dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py,sha256=QADd2CU52BrRwPquHmHO77gX4EY7x-yWmbOfGZhe_k8,3471
168
+ dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py,sha256=3vmX67ExATU8clueVp_mCzw3OUQx799oZMc8gyHtMJE,205
169
+ dodal/devices/electron_analyser/vgscienta/vgscienta_region.py,sha256=SvQmB_NsdzKhuKkuzvkirsYMaqR-1bOjppVsBP4bBqo,2219
168
170
  dodal/devices/i02_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
171
  dodal/devices/i02_1/fast_grid_scan.py,sha256=bfiumNayrISFGYqdcd3Bh6lEZvkOxrqyX_B24LYW1nU,2429
170
172
  dodal/devices/i02_1/sample_motors.py,sha256=fAHAyeuP4hjOnYsp2x5VQNrTh8Di35ezJV1si2YmKPY,607
@@ -175,10 +177,11 @@ dodal/devices/i03/constants.py,sha256=Y-4tsbmAMEcjV5FBjeRmnA2tl5-LPt5x_icG2xu7Xk
175
177
  dodal/devices/i03/dcm.py,sha256=qK9qcPCedjOVMvKZ0TZaWNeyt7CJRsC-Wpjy44OQf4E,2336
176
178
  dodal/devices/i03/undulator_dcm.py,sha256=gtlN-t-L9bLeC5E1tN_aibJhpYiSnwt-TNm5ZsPm88M,2867
177
179
  dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
180
+ dodal/devices/i04/beam_centre.py,sha256=joZ2oCabG2caPZDqtj46Hbit5N_TrXy6N3OMpHQIiwA,3004
178
181
  dodal/devices/i04/beamsize.py,sha256=0Y8Adz_nSSe86uD95BgcZTyZUfisMMX01aoPi8jQx-I,1582
179
182
  dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
180
- dodal/devices/i04/max_pixel.py,sha256=qH-hElSDOi_ThMzuapiBSkJIAqMZ08K_OyuO3hkw0F0,1565
181
- 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
182
185
  dodal/devices/i04/transfocator.py,sha256=gI3UpQ6N0edo3_2aSvW5aWAS3Y1yJcFnZowRNwBvGDI,3250
183
186
  dodal/devices/i05/__init__.py,sha256=v0Axsf-vMyLyxcbqS8lljJc0BQ5Tw8yVBTWcO3tG_4g,67
184
187
  dodal/devices/i05/enums.py,sha256=9FHBIexkSfZSTHxUnGupravfG9sVriHcrB15jemkQOQ,191
@@ -193,10 +196,10 @@ dodal/devices/i09_1_shared/__init__.py,sha256=jbSL26A4boUJZKUCoA7JNjVfjZ3ehERlDs
193
196
  dodal/devices/i09_1_shared/hard_energy.py,sha256=77TbYZGidZAlwP9zDE-h0mTMW4Iuf9b30mfnbUV0qJc,3965
194
197
  dodal/devices/i09_1_shared/hard_undulator_functions.py,sha256=e0kpReW1q4lK4pQYVbg-h9JZxDN-M8a-yaPo1cNuY-0,6205
195
198
  dodal/devices/i09_2_shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
- dodal/devices/i09_2_shared/i09_apple2.py,sha256=zfVTgFH6BWafwPbvPTzbkn5GQA6hO-WzuwUk6DgU4p8,2801
199
+ dodal/devices/i09_2_shared/i09_apple2.py,sha256=6WliOiSdTjuO6N5YrvJK4AKAUgT7sSVHoLnpH1ntTU0,245
197
200
  dodal/devices/i10/__init__.py,sha256=Pa7gI_ulcPO3dN2xpw6tBN1E3CpV3Lj82kmGwIVU7TA,575
198
201
  dodal/devices/i10/diagnostics.py,sha256=ULSHpaRPVWcP-HgKAJW2rsdPoYZs_MgF6HJoPj39MwU,6339
199
- dodal/devices/i10/i10_apple2.py,sha256=v26u7MymFHwu85wba_Lso3h5DbjTnxe_WXO902ZS10A,6851
202
+ dodal/devices/i10/i10_apple2.py,sha256=aTmnrrzpW9B2yEO1Lj_mfmTOQqryRo_72rLkaQ9mpJk,6846
200
203
  dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
201
204
  dodal/devices/i10/mirrors.py,sha256=Zofd0g2f3YvFi_KIHQE_w4dFZNglhmh--65tRnWLuyY,504
202
205
  dodal/devices/i10/slits.py,sha256=pBstXJnA6j3ftDqei0EZyAPU--M_heqo6hm2DEOqPdc,5040
@@ -222,7 +225,7 @@ dodal/devices/i15/motors.py,sha256=-kGHisSWc_zuV9m2L0mGgmiSiIZ7puLsimddk28h_7s,8
222
225
  dodal/devices/i15/multilayer_mirror.py,sha256=qdxnn6PBAxK0MgeVUpM8Ukkq4tdX3jhjlmyU-AzzH4M,741
223
226
  dodal/devices/i15/rail.py,sha256=9cRTRKy6uZBASMhK1wC8K_k_5FfLgHnoh9VblSOTkpQ,428
224
227
  dodal/devices/i17/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
- dodal/devices/i17/i17_apple2.py,sha256=BQ8yD87S_nLFRTZ2RHlQqUJyXlRgeN1qvHUjESn7t9w,2250
228
+ dodal/devices/i17/i17_apple2.py,sha256=VEGNdPQVIXdvjPn5vhem5KmmKuR-jLl9O6X7AdftuME,2188
226
229
  dodal/devices/i18/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
230
  dodal/devices/i18/diode.py,sha256=nk5kvn4LsbhczRpCwHOO0_jJTYOz7MP9qm_uvBWuv7c,1468
228
231
  dodal/devices/i18/kb_mirror.py,sha256=W4R3TeulSjosUqAFIIznyWzje_Y2AoEf9f8N-NkisYM,710
@@ -238,7 +241,7 @@ dodal/devices/i19/access_controlled/blueapi_device.py,sha256=ZUt1Am5H4Tm74joLz7d
238
241
  dodal/devices/i19/access_controlled/hutch_access.py,sha256=hnClUWCL1qTYzuBMmhXX85jiNak7mbYfyHEh54tZ27U,377
239
242
  dodal/devices/i19/access_controlled/shutter.py,sha256=D0vNXkIa6IoSoBMyGdw_RQHPlTgJdgzRsKkany0Jv-I,2154
240
243
  dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
- dodal/devices/i21/__init__.py,sha256=1H0Ov9s8K7nu6e20WtQDH39wgSKWz2ChRVAUzytIyzQ,67
244
+ dodal/devices/i21/__init__.py,sha256=GQB4jkhrWvD1i6LTqIBf_2CDLLL3M9cdwHxjkAHyUdU,74
242
245
  dodal/devices/i21/enums.py,sha256=asy90S84fBBydYwz89jNeocz04JXpbHn8ynaPzW353c,141
243
246
  dodal/devices/i22/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
247
  dodal/devices/i22/dcm.py,sha256=abs6U6DOUO8_g2adpynfoc9lQYbLC3tgObSwI9AhKZg,4551
@@ -248,24 +251,28 @@ dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
248
251
  dodal/devices/i24/aperture.py,sha256=dlH_g7OPTBc5QRMd-ADU3_GDTKh668kkMHo4k_JxUcY,770
249
252
  dodal/devices/i24/beam_center.py,sha256=nQyOif6JtlU_qP7kZP-8wN1ldW81MIbFUykPC1bEm70,446
250
253
  dodal/devices/i24/beamstop.py,sha256=6tbiQLlcTlp4PCPhHJ_mlHtkv0kz5ArQ99zg9rwTnrw,1133
251
- dodal/devices/i24/commissioning_jungfrau.py,sha256=i-B6Sy2braKSGYF2G7QrluPkThXHY-YiULUJRqClFok,4532
254
+ dodal/devices/i24/commissioning_jungfrau.py,sha256=EpU00AkpsYBwZN33N1pju9x5ZeSGq1kK3ofXp_LnKYU,4376
252
255
  dodal/devices/i24/dcm.py,sha256=2stTmR-Hx7azjVmMPVRu0gRDrJ-1jjKaWxFrF9IKsJc,1268
253
256
  dodal/devices/i24/dual_backlight.py,sha256=N0R7M1mHPRmQ4fks5lGU1wrXjOvcW_ZKIXaRoC8aLDE,2084
254
257
  dodal/devices/i24/focus_mirrors.py,sha256=DYiYLpDw8FJ1LYHxLOxE_om5qGfUo2itzskgqhmQZlg,1763
255
258
  dodal/devices/i24/pmac.py,sha256=-HYf2HPzaqWvszp4T8TXohdp40-xmKqQq4V0mLvVri8,7028
256
259
  dodal/devices/i24/vgonio.py,sha256=sxSmcYZayVJPJz_D_91j9PmNor7Tbl1RGQFRrdtESlw,533
257
- dodal/devices/insertion_device/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
- dodal/devices/insertion_device/apple2_undulator.py,sha256=2Ccm6eSu2f-TSPFbk-t1uumsOuGu9whNWm71vby4Sb8,28009
259
- dodal/devices/insertion_device/energy_motor_lookup.py,sha256=7ULsJdMM3tdYNW-skNMYpKYxH0UkAg67ht94d1x0SYc,2717
260
- dodal/devices/insertion_device/lookup_table_models.py,sha256=eLFGfWICss7OIyfKx-24VsYXccsROOcVeN_ywTBT_DE,8748
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,15 +323,16 @@ 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
- dodal/testing/electron_analyser/device_factory.py,sha256=tkMY6fW3iI02DTD1XXHi4lH6sjo8RHHZBGDHSuTdmNU,2243
328
+ dodal/testing/electron_analyser/device_factory.py,sha256=mLeWQems_xBmmxPjyUEBhcp8VIsasY4TsUnVOe10ZaE,2252
321
329
  dodal/testing/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
- dodal/testing/fixtures/run_engine.py,sha256=L77Sy6k142X2pWDReSygUymrS7PngBH6xR45EFYl_l4,4042
330
+ dodal/testing/fixtures/run_engine.py,sha256=_DQivl-pAAoSVpX60XT4jLLmPBJHahCkaVAI3gnl3q8,4208
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
- dodal/testing/fixtures/devices/apple2.py,sha256=A2cwkIbmNUF-DGnltkJQhQI8BXbLs_0yFEbFv1s0q9Y,2744
326
- dls_dodal-1.67.0.dist-info/METADATA,sha256=7w9CUuJeMgmMxvFPljHjuU9qz7wOePNJrv9ZdhGuMvQ,16928
327
- dls_dodal-1.67.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
328
- dls_dodal-1.67.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
329
- dls_dodal-1.67.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
330
- dls_dodal-1.67.0.dist-info/RECORD,,
333
+ dodal/testing/fixtures/devices/apple2.py,sha256=5FbO1YACBF8aM82X9_36gPqk6rjdy1xRu8OdfdPrxAM,2727
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.67.0'
32
- __version_tuple__ = version_tuple = (1, 67, 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/b07.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.b07 import Grating, LensMode, PsuMode
6
- from dodal.devices.electron_analyser import EnergySource
6
+ from dodal.devices.electron_analyser.base import EnergySource
7
7
  from dodal.devices.electron_analyser.specs import SpecsDetector
8
8
  from dodal.devices.pgm import PlaneGratingMonochromator
9
9
  from dodal.devices.synchrotron import Synchrotron
dodal/beamlines/b07_1.py CHANGED
@@ -6,7 +6,7 @@ from dodal.devices.b07_1 import (
6
6
  Grating,
7
7
  LensMode,
8
8
  )
9
- from dodal.devices.electron_analyser import EnergySource
9
+ from dodal.devices.electron_analyser.base import EnergySource
10
10
  from dodal.devices.electron_analyser.specs import SpecsDetector
11
11
  from dodal.devices.pgm import PlaneGratingMonochromator
12
12
  from dodal.devices.synchrotron import Synchrotron
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