dls-dodal 1.51.0__py3-none-any.whl → 1.53.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.51.0.dist-info → dls_dodal-1.53.0.dist-info}/METADATA +3 -2
- {dls_dodal-1.51.0.dist-info → dls_dodal-1.53.0.dist-info}/RECORD +46 -42
- dodal/_version.py +2 -2
- dodal/beamlines/adsim.py +12 -11
- dodal/beamlines/b07.py +7 -6
- dodal/beamlines/b07_1.py +7 -6
- dodal/beamlines/i03.py +4 -1
- dodal/beamlines/i04.py +2 -2
- dodal/beamlines/i09.py +7 -5
- dodal/beamlines/i09_1.py +6 -3
- dodal/beamlines/i09_2.py +2 -2
- dodal/beamlines/i22.py +11 -0
- dodal/beamlines/i24.py +2 -2
- dodal/beamlines/p60.py +6 -4
- dodal/beamlines/p99.py +14 -0
- dodal/common/device_utils.py +45 -0
- dodal/devices/attenuator/attenuator.py +5 -3
- dodal/devices/b07/__init__.py +2 -2
- dodal/devices/b07/enums.py +24 -0
- dodal/devices/b07_1/__init__.py +2 -2
- dodal/devices/b07_1/enums.py +18 -0
- dodal/devices/electron_analyser/abstract/__init__.py +4 -0
- dodal/devices/electron_analyser/abstract/base_driver_io.py +21 -4
- dodal/devices/electron_analyser/abstract/base_region.py +20 -7
- dodal/devices/electron_analyser/detector.py +1 -1
- dodal/devices/electron_analyser/specs/detector.py +18 -4
- dodal/devices/electron_analyser/specs/driver_io.py +17 -5
- dodal/devices/electron_analyser/specs/region.py +9 -5
- dodal/devices/electron_analyser/types.py +21 -5
- dodal/devices/electron_analyser/vgscienta/detector.py +16 -7
- dodal/devices/electron_analyser/vgscienta/driver_io.py +13 -4
- dodal/devices/electron_analyser/vgscienta/region.py +11 -5
- dodal/devices/i09/__init__.py +2 -2
- dodal/devices/i09/enums.py +15 -0
- dodal/devices/i09_1/__init__.py +3 -0
- dodal/devices/i09_1/enums.py +19 -0
- dodal/devices/linkam3.py +25 -81
- dodal/devices/oav/pin_image_recognition/__init__.py +11 -14
- dodal/devices/p60/__init__.py +3 -2
- dodal/devices/p60/enums.py +10 -0
- dodal/devices/tetramm.py +134 -150
- dodal/devices/xbpm_feedback.py +6 -3
- dodal/devices/b07/grating.py +0 -9
- dodal/devices/b07_1/grating.py +0 -10
- dodal/devices/i09/grating.py +0 -7
- {dls_dodal-1.51.0.dist-info → dls_dodal-1.53.0.dist-info}/WHEEL +0 -0
- {dls_dodal-1.51.0.dist-info → dls_dodal-1.53.0.dist-info}/entry_points.txt +0 -0
- {dls_dodal-1.51.0.dist-info → dls_dodal-1.53.0.dist-info}/licenses/LICENSE +0 -0
- {dls_dodal-1.51.0.dist-info → dls_dodal-1.53.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.53.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
|
|
@@ -215,7 +215,8 @@ Description-Content-Type: text/markdown
|
|
|
215
215
|
License-File: LICENSE
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
|
-
Requires-Dist: ophyd-async>=0.
|
|
218
|
+
Requires-Dist: ophyd-async>=0.11
|
|
219
|
+
Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
|
|
219
220
|
Requires-Dist: bluesky
|
|
220
221
|
Requires-Dist: pyepics
|
|
221
222
|
Requires-Dist: dataclasses-json
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
dls_dodal-1.
|
|
1
|
+
dls_dodal-1.53.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=
|
|
4
|
+
dodal/_version.py,sha256=trr-1845AsqqsmpqWRbvdKqIrdkAbiJCkpcEQo_yIa8,513
|
|
5
5
|
dodal/cli.py,sha256=NieWNUgLUxyck1rHoFAPJjX1xXLzHNdQ-s4wvxYFfps,3757
|
|
6
6
|
dodal/log.py,sha256=Rt5O3hFZfMnJvQueZvgagQuXnPqHrFxhponOvVkpfrk,9871
|
|
7
7
|
dodal/utils.py,sha256=rqQNalufZPxUPSD2SYuUgWSCpefb8FnqvR6N0t-YcEY,19675
|
|
@@ -9,20 +9,20 @@ dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
|
|
|
9
9
|
dodal/beamline_specific_utils/i03.py,sha256=P6Ls4FoVtcacH0RJM3v6ZwwGx27oMppcBdW0la-ohTY,377
|
|
10
10
|
dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
|
|
11
11
|
dodal/beamlines/__init__.py,sha256=lueGFb7cW1kDB_LfFavhrgYdjqGErCwAOk5XoU3BY00,3176
|
|
12
|
-
dodal/beamlines/adsim.py,sha256=
|
|
12
|
+
dodal/beamlines/adsim.py,sha256=fxj_P-7PsywdWPjfBAsLoOPiSKtApOKmLWHdQ8xCa3s,2048
|
|
13
13
|
dodal/beamlines/aithre.py,sha256=QpNIT9RVtlyamJoshAa87Cw5U0QfBNwMBcZVvMlD25s,1037
|
|
14
14
|
dodal/beamlines/b01_1.py,sha256=ru5a2FJar2rUdA2PDEXpQ1fRZwyzEd5Uf76J5qZMVhY,2922
|
|
15
|
-
dodal/beamlines/b07.py,sha256=
|
|
16
|
-
dodal/beamlines/b07_1.py,sha256=
|
|
15
|
+
dodal/beamlines/b07.py,sha256=YHqApRUu7yYZTWS9Y7YJpXRBLauMhhil_Rj4he7lLLI,1071
|
|
16
|
+
dodal/beamlines/b07_1.py,sha256=j_ChSI8PhB0MInU5HfLyC8aXtZqij_4zDspszmTAn7k,1075
|
|
17
17
|
dodal/beamlines/b16.py,sha256=36VibkYciQL-K2G4PsDPVp2r460GTQlQPbSJ5vzLUVo,1724
|
|
18
18
|
dodal/beamlines/b18.py,sha256=ryxrGtcCdwoFgZ8ljWYgr1g9gKvoA7nxkARVxl1IE78,1189
|
|
19
19
|
dodal/beamlines/b21.py,sha256=hpPDPrRlgI3AAsZ2voymGynLlI8G4Oj0r0MOfaoQceM,4244
|
|
20
20
|
dodal/beamlines/i02_1.py,sha256=d2IyqFMgeaSEyZYm7GMSjTKr7_02SakyC_oARx-XwnY,1204
|
|
21
|
-
dodal/beamlines/i03.py,sha256=
|
|
22
|
-
dodal/beamlines/i04.py,sha256=
|
|
23
|
-
dodal/beamlines/i09.py,sha256=
|
|
24
|
-
dodal/beamlines/i09_1.py,sha256=
|
|
25
|
-
dodal/beamlines/i09_2.py,sha256=
|
|
21
|
+
dodal/beamlines/i03.py,sha256=Fvg2Ap1vfvHWK9TqsNvAWKoOvQl87NYskOu8i7794GU,15527
|
|
22
|
+
dodal/beamlines/i04.py,sha256=Eyq--oompg2hgT5LSjFaYza9O4ccJY43PKPfpGA7fGU,13707
|
|
23
|
+
dodal/beamlines/i09.py,sha256=Pc6LBZUdVqQROW1yX-J37ctXSzX4Xggb4iON2JwOctc,1317
|
|
24
|
+
dodal/beamlines/i09_1.py,sha256=yd0X62PtWIuBriH5y2oURaC23ot_13hX3_kFLerVczU,1045
|
|
25
|
+
dodal/beamlines/i09_2.py,sha256=lyYO1rOaIsXNuVOL39Psh-8jQjkhQBXEQMpbXa-Zcw0,713
|
|
26
26
|
dodal/beamlines/i10.py,sha256=0rSWOlIihkDtq7ZZaJ5O2jkMBrteRYjl4Hhqe8EP1Yc,5697
|
|
27
27
|
dodal/beamlines/i13_1.py,sha256=7GzkEM1wT5pKsAPNSVd6tSnCBEE-FSOEBQrP-pCpU10,1625
|
|
28
28
|
dodal/beamlines/i18.py,sha256=FuU8G-q1piu6BRou-Shj3BQEbNtsF7CUsSIqqkvCKZc,3615
|
|
@@ -30,19 +30,20 @@ dodal/beamlines/i19_1.py,sha256=RsHXje1S2OLwuPnaqkRva02aAIq5Ya1FvPbHEQKo0Uc,2925
|
|
|
30
30
|
dodal/beamlines/i19_2.py,sha256=zairZIPj1mrs9-dG19CjdMEFeqztGmlyeBmIxj7Kl5I,2329
|
|
31
31
|
dodal/beamlines/i19_optics.py,sha256=RztOdru0lvPXpaIXSUfzSsPVIuwAMKZsEA8vJFU4_Mk,1184
|
|
32
32
|
dodal/beamlines/i20_1.py,sha256=Xp6XXofjXh3Yibrg5wSHet-pXikprJ9oprEhJg19OkI,1825
|
|
33
|
-
dodal/beamlines/i22.py,sha256=
|
|
33
|
+
dodal/beamlines/i22.py,sha256=4dm6vOJtXlr_Cu7kldw9okhic-di28yO1H6ce9tzBmE,8114
|
|
34
34
|
dodal/beamlines/i23.py,sha256=pf3KmzLZYDVqUB4LkLcNJk6z9H4qkFpTdVB8_0MYehs,3066
|
|
35
|
-
dodal/beamlines/i24.py,sha256=
|
|
35
|
+
dodal/beamlines/i24.py,sha256=dfzf2ofVg1nu6Efy5zggVgHeYaYBqSVwYqgkbgb1wOQ,7104
|
|
36
36
|
dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
|
|
37
37
|
dodal/beamlines/p38.py,sha256=bka6zsZfFiBAD-rrLSmIIVAOAw0FvupSkhOHGEG77xo,5708
|
|
38
38
|
dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
|
|
39
|
-
dodal/beamlines/p60.py,sha256=
|
|
40
|
-
dodal/beamlines/p99.py,sha256=
|
|
39
|
+
dodal/beamlines/p60.py,sha256=3M_ipMO4NzrNP89VjBc-nHfz-Eb5y45rohos1nHTrvI,1180
|
|
40
|
+
dodal/beamlines/p99.py,sha256=Rbi9OvmrGIblctOnZxFG_tqqhALLZ9O3ht4mBcb5vU8,2754
|
|
41
41
|
dodal/beamlines/training_rig.py,sha256=0HeZYy4LkI1yU8joz40f241owLGB26CeCk7s8TW98zw,1902
|
|
42
42
|
dodal/common/__init__.py,sha256=ZC4ICKUDB0BDxRaVy8nmqclVmDBne-dPtk6UJsoFq6I,258
|
|
43
43
|
dodal/common/coordination.py,sha256=OxIjDiO1-9A9KESRPFtzwkvvQlavbgA5RHemlbubBPg,1168
|
|
44
44
|
dodal/common/crystal_metadata.py,sha256=XGr-X81G9SZvPx5b4nBCH4FOnywyX_zYVy6zwDxIMVM,1926
|
|
45
45
|
dodal/common/data_util.py,sha256=Z2DgxQl3AzTB940e_qYVDIHuu_9vWzpbycjKb62SFus,555
|
|
46
|
+
dodal/common/device_utils.py,sha256=3hWgLmESiF88fho9bCweZpZH6b5fbbuSZGuSEYXxl4E,1345
|
|
46
47
|
dodal/common/maths.py,sha256=K9x7iL3xXLtWYTV-xlFHDNSTIL9a2UP3Ws7wr6Dm2rQ,1803
|
|
47
48
|
dodal/common/types.py,sha256=fkL7UOwDbe3v2_VJ5f1W5RxR98Wx-Ra-LxUZWkNDtls,486
|
|
48
49
|
dodal/common/udc_directory_provider.py,sha256=v5OBaCUwjtQZAsRQUw6LlVL58UvwwDO1l2MKlilXjdk,2403
|
|
@@ -70,7 +71,7 @@ dodal/devices/flux.py,sha256=1CDsq9yU2-ho8MfYBl50Tl9ABZwpUBHnV486PQXKNoQ,462
|
|
|
70
71
|
dodal/devices/focusing_mirror.py,sha256=vdUPkwyCAZBSR3LQ-EojDOoxVy1ZmOaD_nevETbj7BA,6592
|
|
71
72
|
dodal/devices/hutch_shutter.py,sha256=iY3qWxDr8mDlAvN_BYe2gqpXRM1hlfV3ewdwkwh0_v0,3889
|
|
72
73
|
dodal/devices/ipin.py,sha256=eq5jlKw7WGQi8VLrAWpaAIsZmfiVf-5Q0td_B22H6A4,473
|
|
73
|
-
dodal/devices/linkam3.py,sha256=
|
|
74
|
+
dodal/devices/linkam3.py,sha256=Lkw7c05XyHEEA83djfVFqz_8HN4kROCRqZwLwvHwRdA,2054
|
|
74
75
|
dodal/devices/motors.py,sha256=-gNBsKQHqlYCEeq9cNmnSTdyLLaFX-AmPwfQlmUxdQA,3356
|
|
75
76
|
dodal/devices/p45.py,sha256=CImflt7ifaOkV20Uip3S8_fde_GlIIhD16y-54ODfHE,1390
|
|
76
77
|
dodal/devices/pgm.py,sha256=92yfr3i4fC92g-HPbbUBrazGs4b9n6CjmJfKxmUrMUY,1157
|
|
@@ -84,24 +85,24 @@ dodal/devices/slits.py,sha256=b_7ku2sHlzhMHTvWrwiRwee6ufrbxNX9JB_Z0lvk15o,1105
|
|
|
84
85
|
dodal/devices/smargon.py,sha256=uTO01FNToL_4FL6XIcH9WxGZmQB-SP4ujkZU6ChS-3U,5823
|
|
85
86
|
dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
|
|
86
87
|
dodal/devices/synchrotron.py,sha256=wLfClZ1lYQWA_D--UsM3NnKLG8bY8mvVsRYER6ob-Ew,2026
|
|
87
|
-
dodal/devices/tetramm.py,sha256=
|
|
88
|
+
dodal/devices/tetramm.py,sha256=EDAEqGp7TT291_-kDUnJxucLJmSa5NpJLCa961zl9B8,8401
|
|
88
89
|
dodal/devices/thawer.py,sha256=mYrO9klUPYcSbpoUuJ4ZuZZEPcHWWaZ2px5jh8XNQ9Y,1675
|
|
89
90
|
dodal/devices/turbo_slit.py,sha256=xhcnhfbdcTYSYozogw6Li4fF4ofoPsc350rEyrRdaNE,1460
|
|
90
91
|
dodal/devices/undulator.py,sha256=ZCdMQ8PKnW7mFV1BmrprOt0aSBCZMSKAH-2yyVH5Ihk,5316
|
|
91
92
|
dodal/devices/watsonmarlow323_pump.py,sha256=rwU94YE6esgGLYdh-pe8nBo_3tvgp6brrrbPDrqp5_M,1406
|
|
92
93
|
dodal/devices/webcam.py,sha256=mef075ynDbzZ4pNAjfxR_9tdTTqF_rM7hAOVEEOV-Do,2408
|
|
93
|
-
dodal/devices/xbpm_feedback.py,sha256=
|
|
94
|
+
dodal/devices/xbpm_feedback.py,sha256=TBvT_H8vUjM1mpxQujuuAanzQ__JhRaS_6hFSqFt4fc,1283
|
|
94
95
|
dodal/devices/aithre_lasershaping/goniometer.py,sha256=a3MMFs7ZBSa0eAEXOtlLX5uVbS99MZoDNENQdR84Rn0,1746
|
|
95
96
|
dodal/devices/aithre_lasershaping/laser_robot.py,sha256=BPAHHRa9cYYSR4iv05CQEqRBjt1VKp0INSoVDg0ImRQ,763
|
|
96
97
|
dodal/devices/areadetector/plugins/CAM.py,sha256=sZzJm5Ez3eWfXZi_EB67wluhZmMQm1UyOc2bJFfzd1U,964
|
|
97
98
|
dodal/devices/areadetector/plugins/MJPG.py,sha256=QTsxCoWbofNpLMGPoOR2hWoM33KyntuLepbF0YmX0KE,3031
|
|
98
|
-
dodal/devices/attenuator/attenuator.py,sha256=
|
|
99
|
+
dodal/devices/attenuator/attenuator.py,sha256=XHdRMvq9t0DKJVDxkz-oXMAS3Dt4mbfO_H-x8fGmk_4,4071
|
|
99
100
|
dodal/devices/attenuator/filter.py,sha256=ZoPsTWXjllyMtKBdSIFLB7Cbc88rGof5k3ymL13VczE,422
|
|
100
101
|
dodal/devices/attenuator/filter_selections.py,sha256=lcmTprCXgSggp2L6uQ6YU0xLMljXvbspAug-WWKCXks,1410
|
|
101
|
-
dodal/devices/b07/__init__.py,sha256=
|
|
102
|
-
dodal/devices/b07/
|
|
103
|
-
dodal/devices/b07_1/__init__.py,sha256=
|
|
104
|
-
dodal/devices/b07_1/
|
|
102
|
+
dodal/devices/b07/__init__.py,sha256=guVqpxADiFcNmCwTVRu8MV0rXqpd1MMm5VY47G3DUNU,89
|
|
103
|
+
dodal/devices/b07/enums.py,sha256=ieqwv3XBQknSZ9rCZHIU03-MDOb-zwSq1sGmVIzxkak,770
|
|
104
|
+
dodal/devices/b07_1/__init__.py,sha256=VtOz6qLTEig66rC8L53vZf9V_TpcVAtoZUADqKskH88,91
|
|
105
|
+
dodal/devices/b07_1/enums.py,sha256=ASdDLDZ1fHfO6-yTBhbQWeBKoyotI2o0g9BPWf6WDV8,480
|
|
105
106
|
dodal/devices/b16/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
107
|
dodal/devices/b16/detector.py,sha256=nj0Xl8uleGtD_sk6tN-h7ipAtfz-e-c-DKWVwk_xXuY,1067
|
|
107
108
|
dodal/devices/current_amplifiers/__init__.py,sha256=-MhT-t-GJ83rrvTDBCoWub_NKYkRtu4sEj8-y5XZBP0,782
|
|
@@ -117,24 +118,24 @@ dodal/devices/detector/det_resolution.py,sha256=aQkKp24LpRGiwzPAQM3wLVa4ANw32Hdr
|
|
|
117
118
|
dodal/devices/detector/detector.py,sha256=DqQvlgdjIdKErrZqgM9IH7drc-r6N8nhkFk7KwlgYAk,4815
|
|
118
119
|
dodal/devices/detector/detector_motion.py,sha256=Y14WORa6KaUHkm3u6Y7brH_WwH9UoutThKaxiDTaSnQ,1545
|
|
119
120
|
dodal/devices/electron_analyser/__init__.py,sha256=xbOqt6b0J89UkZx6PAqEjPchfY_CMb3xgX3NAMEPf6A,793
|
|
120
|
-
dodal/devices/electron_analyser/detector.py,sha256=
|
|
121
|
+
dodal/devices/electron_analyser/detector.py,sha256=4pXBhhBnGSO-2Xb30f8NiqZ_6dQaJTbWZ1OgHH6ASQA,4213
|
|
121
122
|
dodal/devices/electron_analyser/enums.py,sha256=2QObyZln7pvWyLgixabGGWvfs3aIF98gVSz2B4NS1OM,120
|
|
122
|
-
dodal/devices/electron_analyser/types.py,sha256=
|
|
123
|
+
dodal/devices/electron_analyser/types.py,sha256=48hJN994YmIC1y-8L4aCK22NbWsVbK7SNGbH3ffG2tE,1586
|
|
123
124
|
dodal/devices/electron_analyser/util.py,sha256=iUFvnYm-Y-0mBHR8oBLofZMKKuDhYYgGkOmvX6y1s1o,437
|
|
124
|
-
dodal/devices/electron_analyser/abstract/__init__.py,sha256=
|
|
125
|
+
dodal/devices/electron_analyser/abstract/__init__.py,sha256=iwDxHN4yViS05679-aB6RwM2ZINgXrpebdfDgqoLxfI,650
|
|
125
126
|
dodal/devices/electron_analyser/abstract/base_detector.py,sha256=Tcx-lrqHr7dkGmOPMSVibZypefddRauQU_1cZTIwaVU,2979
|
|
126
|
-
dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=
|
|
127
|
-
dodal/devices/electron_analyser/abstract/base_region.py,sha256=
|
|
127
|
+
dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=hOUyZxEzNhorCt03i2WJAkCdgHvSrjQJgO4AiFyXON8,9458
|
|
128
|
+
dodal/devices/electron_analyser/abstract/base_region.py,sha256=TqCUJLtJGH3jvTMYmUJfwhRyCPJIfndIfrz2QQmP3Hs,3991
|
|
128
129
|
dodal/devices/electron_analyser/specs/__init__.py,sha256=qN57kY6ERUGdrAWhU5m8CBrc0KaqiOGwPL6h2BNm3i0,291
|
|
129
|
-
dodal/devices/electron_analyser/specs/detector.py,sha256=
|
|
130
|
-
dodal/devices/electron_analyser/specs/driver_io.py,sha256=
|
|
130
|
+
dodal/devices/electron_analyser/specs/detector.py,sha256=1Pk_-hup-gtpK1SqvTh0y32_rOL_Wjl2zj6Ux7yjrB4,1007
|
|
131
|
+
dodal/devices/electron_analyser/specs/driver_io.py,sha256=oZuVDMJnZx4ywFpx8-vv76TPDRNOWcgOVPkXjdfehvY,3836
|
|
131
132
|
dodal/devices/electron_analyser/specs/enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
|
|
132
|
-
dodal/devices/electron_analyser/specs/region.py,sha256=
|
|
133
|
+
dodal/devices/electron_analyser/specs/region.py,sha256=5zmSxnilFxlsfu165hhj84eqC2C7dwQ4x49OL6umVSw,1171
|
|
133
134
|
dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=Iq0d2BBp0TJh4uG9twiiL-gJiSVI8zNUEbkg1UF5k6U,395
|
|
134
|
-
dodal/devices/electron_analyser/vgscienta/detector.py,sha256=
|
|
135
|
-
dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=
|
|
135
|
+
dodal/devices/electron_analyser/vgscienta/detector.py,sha256=k4qXrew9MMoDjSRYXEzqqoC_Ep2RU4xHPvJDD4c31Fw,1052
|
|
136
|
+
dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=Qs0ccWkpa8xp7VbFXKEscWzi6z1ZCHhZ-oxu-Kemn9k,2974
|
|
136
137
|
dodal/devices/electron_analyser/vgscienta/enums.py,sha256=apJZgIaE1aMQPBwIL1tQvV0WJ5trbk3j6iFmc1OqLsw,353
|
|
137
|
-
dodal/devices/electron_analyser/vgscienta/region.py,sha256=
|
|
138
|
+
dodal/devices/electron_analyser/vgscienta/region.py,sha256=ES4fRVQnacsrbO0Yyt9Nm3mRXnZ1dEK4sYGgnVdM1M4,2372
|
|
138
139
|
dodal/devices/i03/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
|
|
139
140
|
dodal/devices/i03/dcm.py,sha256=zDcgxOdMRVOQZBGDsLaIlr7o4UJIK2vehPWHxAxt6VA,2268
|
|
140
141
|
dodal/devices/i03/undulator_dcm.py,sha256=c5H-17Dpt3pIMAlU9fHCnU59lYDnmgKk3qE2qR9gg44,2594
|
|
@@ -142,9 +143,11 @@ dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8
|
|
|
142
143
|
dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
|
|
143
144
|
dodal/devices/i04/murko_results.py,sha256=1vVQKQdBGYAwcX22oQzWYheelIppoTQk5_git563y10,7055
|
|
144
145
|
dodal/devices/i04/transfocator.py,sha256=sVI4Bgv-2-DH4-F1nIXMp5Aktevrm3agZnCA-WgjmW8,3780
|
|
145
|
-
dodal/devices/i09/__init__.py,sha256=
|
|
146
|
+
dodal/devices/i09/__init__.py,sha256=hx3z7IQHPljjnVJaBkyaQgLnUjH3oGlDSFMYf_rImsw,134
|
|
146
147
|
dodal/devices/i09/dcm.py,sha256=u0OgfZUE-eFQc-ix7iIfXERZhymAMXHP-Eifu2xWhYA,996
|
|
147
|
-
dodal/devices/i09/
|
|
148
|
+
dodal/devices/i09/enums.py,sha256=74X4ulgqGaEtX6qeftHXPk6E0jU_5FTbFYYZJHgFoK8,332
|
|
149
|
+
dodal/devices/i09_1/__init__.py,sha256=dHSHXpFiPV499ndzxy-VSi7eTuYtwzfMThj_VxS0lYA,52
|
|
150
|
+
dodal/devices/i09_1/enums.py,sha256=hxDclEbSgqWyqtIbvfFYHgDfTmkmdm4m6di7rjccPDk,708
|
|
148
151
|
dodal/devices/i10/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
152
|
dodal/devices/i10/diagnostics.py,sha256=5nnf1oFKtUJZa9Pewh1VxXpFecLscqTR2VakHKr_PaQ,5432
|
|
150
153
|
dodal/devices/i10/i10_apple2.py,sha256=RbavLeqwmmcqAkGJw9-0AmLrWSiP91tAxwJLnXXCY-4,15271
|
|
@@ -185,14 +188,15 @@ dodal/devices/oav/oav_detector.py,sha256=DzRm1d1jC52wl7JawvMWiFCaFYdnjO7HT690NzD
|
|
|
185
188
|
dodal/devices/oav/oav_parameters.py,sha256=nnlTwrX5F6eMVK6wUz_MU39aLfV_P-_EyklfTQFAjZ4,6856
|
|
186
189
|
dodal/devices/oav/oav_to_redis_forwarder.py,sha256=Nz_fOBK9NIsFTVO-G67JB-0qzDybWb_HS7RCkqrHfd8,6265
|
|
187
190
|
dodal/devices/oav/utils.py,sha256=T-xg7J38ritzXwRrKjsWZ7daC_qR7aNhlbkXx75nJ8Q,3188
|
|
188
|
-
dodal/devices/oav/pin_image_recognition/__init__.py,sha256=
|
|
191
|
+
dodal/devices/oav/pin_image_recognition/__init__.py,sha256=fpUZYUHgp6pOSt0UzmQvGdUrSwxH0knA0mP8eAlYMCw,6398
|
|
189
192
|
dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
|
|
190
193
|
dodal/devices/oav/pin_image_recognition/utils.py,sha256=L9ypluYqeOFoS7gQuws-vTNc8LqaKl2ZIDNeQ2JaNpg,8592
|
|
191
194
|
dodal/devices/oav/snapshots/grid_overlay.py,sha256=CdvCdTKMCiwMwxm2lV28KpcIUSXlscZmWxb73_KKmiI,3694
|
|
192
195
|
dodal/devices/oav/snapshots/snapshot.py,sha256=VDHYxko97sATMKvD5wClgvN7WQUtUAjcXXSyoQAL8q8,499
|
|
193
196
|
dodal/devices/oav/snapshots/snapshot_image_processing.py,sha256=wDxH9WPmB0nsotr49PUpw2Ke4l4RFxirrbpPzOUF9s4,2318
|
|
194
197
|
dodal/devices/oav/snapshots/snapshot_with_grid.py,sha256=KAM7KjF0BzhGxx-MXd4Zc16IBbi1BF8S_VT8T84_2OY,2309
|
|
195
|
-
dodal/devices/p60/__init__.py,sha256=
|
|
198
|
+
dodal/devices/p60/__init__.py,sha256=2d2CN4ssnsmjwQO_XjFFltq_q_ouFIpKMDM0xG2zmxE,160
|
|
199
|
+
dodal/devices/p60/enums.py,sha256=wsgbBI7JamTQ29d_U_F4FR-nmqktdjsG1GjMl1p-7t8,286
|
|
196
200
|
dodal/devices/p60/lab_xray_source.py,sha256=4rruJ4yCT8c7QFDqkd6szsrJhLGOauAOh6Y25K-Vz-E,595
|
|
197
201
|
dodal/devices/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
198
202
|
dodal/devices/p99/andor2_point.py,sha256=zBoIou7VVzs-tAq3M29XL2xYV8aYZRKPYCGKRLk7MA0,1417
|
|
@@ -227,8 +231,8 @@ dodal/plans/verify_undulator_gap.py,sha256=OcDN09-eCoMzsmhKGxvzsH5EapG2zYz0yGCqU
|
|
|
227
231
|
dodal/plans/wrapped.py,sha256=BPMw__RcWvk9v5XnhMsi9_k4KsDEbmXogzD2n1ecbUg,2098
|
|
228
232
|
dodal/plans/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
233
|
dodal/plans/preprocessors/verify_undulator_gap.py,sha256=cBZEGq8TW1jrXFXB00iClQVXSEaE_jP_rHMY9WTgYyY,1813
|
|
230
|
-
dls_dodal-1.
|
|
231
|
-
dls_dodal-1.
|
|
232
|
-
dls_dodal-1.
|
|
233
|
-
dls_dodal-1.
|
|
234
|
-
dls_dodal-1.
|
|
234
|
+
dls_dodal-1.53.0.dist-info/METADATA,sha256=asF0EraK_SPqa14JZiiCSska-l36h_yMHoOEL32tZnk,16834
|
|
235
|
+
dls_dodal-1.53.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
236
|
+
dls_dodal-1.53.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
|
|
237
|
+
dls_dodal-1.53.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
|
|
238
|
+
dls_dodal-1.53.0.dist-info/RECORD,,
|
dodal/_version.py
CHANGED
dodal/beamlines/adsim.py
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
1
|
from ophyd_async.epics.adsimdetector import SimDetector
|
|
4
2
|
|
|
5
3
|
from dodal.common.beamlines.beamline_utils import (
|
|
6
4
|
device_factory,
|
|
7
5
|
get_path_provider,
|
|
8
|
-
set_path_provider,
|
|
9
6
|
)
|
|
10
7
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
11
8
|
from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
|
|
12
|
-
from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
|
|
13
9
|
from dodal.devices.motors import XThetaStage
|
|
14
10
|
from dodal.log import set_beamline as set_log_beamline
|
|
15
11
|
from dodal.utils import BeamlinePrefix
|
|
@@ -19,13 +15,6 @@ PREFIX = BeamlinePrefix("t01")
|
|
|
19
15
|
set_log_beamline(BL)
|
|
20
16
|
set_utils_beamline(BL)
|
|
21
17
|
|
|
22
|
-
set_path_provider(
|
|
23
|
-
StaticVisitPathProvider(
|
|
24
|
-
BL,
|
|
25
|
-
Path("/tmp"),
|
|
26
|
-
client=LocalDirectoryServiceClient(),
|
|
27
|
-
)
|
|
28
|
-
)
|
|
29
18
|
|
|
30
19
|
"""
|
|
31
20
|
Beamline module for use with the simulated AreaDetector and motors.
|
|
@@ -47,11 +36,23 @@ How to use the devices in a plan:
|
|
|
47
36
|
In an ipython terminal run:
|
|
48
37
|
|
|
49
38
|
```python
|
|
39
|
+
from pathlib import Path
|
|
40
|
+
|
|
50
41
|
from bluesky.run_engine import RunEngine
|
|
42
|
+
from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
|
|
51
43
|
|
|
52
44
|
from dodal.beamlines.adsim import det, stage
|
|
45
|
+
from dodal.common.beamlines.beamline_utils import set_path_provider
|
|
53
46
|
from dodal.plans import count
|
|
54
47
|
|
|
48
|
+
|
|
49
|
+
set_path_provider(
|
|
50
|
+
StaticPathProvider(
|
|
51
|
+
UUIDFilenameProvider(),
|
|
52
|
+
"/tmp", # The directory for `det` to write to- may be mounted as a volume
|
|
53
|
+
)
|
|
54
|
+
)
|
|
55
|
+
|
|
55
56
|
RE = RunEngine()
|
|
56
57
|
d = det(connect_immediately=True)
|
|
57
58
|
s = stage(connect_immediately=True)
|
dodal/beamlines/b07.py
CHANGED
|
@@ -2,7 +2,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.b07 import
|
|
5
|
+
from dodal.devices.b07 import Grating, LensMode
|
|
6
6
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -22,12 +22,13 @@ def synchrotron() -> Synchrotron:
|
|
|
22
22
|
|
|
23
23
|
@device_factory()
|
|
24
24
|
def pgm() -> PGM:
|
|
25
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=
|
|
25
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
30
|
-
return SpecsAnalyserDriverIO(
|
|
31
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
-
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": pgm().energy.user_readback},
|
|
33
34
|
)
|
dodal/beamlines/b07_1.py
CHANGED
|
@@ -2,7 +2,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.b07_1 import
|
|
5
|
+
from dodal.devices.b07_1 import Grating, LensMode
|
|
6
6
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -22,12 +22,13 @@ def synchrotron() -> Synchrotron:
|
|
|
22
22
|
|
|
23
23
|
@device_factory()
|
|
24
24
|
def pgm() -> PGM:
|
|
25
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=
|
|
25
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
30
|
-
return SpecsAnalyserDriverIO(
|
|
31
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
-
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": pgm().energy.user_readback},
|
|
33
34
|
)
|
dodal/beamlines/i03.py
CHANGED
|
@@ -92,7 +92,10 @@ def attenuator() -> BinaryFilterAttenuator:
|
|
|
92
92
|
"""Get the i03 attenuator device, instantiate it if it hasn't already been.
|
|
93
93
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
94
94
|
"""
|
|
95
|
-
return BinaryFilterAttenuator(
|
|
95
|
+
return BinaryFilterAttenuator(
|
|
96
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
97
|
+
num_filters=16,
|
|
98
|
+
)
|
|
96
99
|
|
|
97
100
|
|
|
98
101
|
@device_factory()
|
dodal/beamlines/i04.py
CHANGED
|
@@ -137,8 +137,8 @@ def attenuator() -> BinaryFilterAttenuator:
|
|
|
137
137
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
138
138
|
"""
|
|
139
139
|
return BinaryFilterAttenuator(
|
|
140
|
-
f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
141
|
-
|
|
140
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
141
|
+
num_filters=16,
|
|
142
142
|
)
|
|
143
143
|
|
|
144
144
|
|
dodal/beamlines/i09.py
CHANGED
|
@@ -3,7 +3,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
|
|
6
|
-
from dodal.devices.i09 import DCM,
|
|
6
|
+
from dodal.devices.i09 import DCM, Grating, LensMode
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
9
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -24,7 +24,7 @@ def synchrotron() -> Synchrotron:
|
|
|
24
24
|
def pgm() -> PGM:
|
|
25
25
|
return PGM(
|
|
26
26
|
prefix=f"{BeamlinePrefix(BL, suffix='J').beamline_prefix}-MO-PGM-01:",
|
|
27
|
-
grating=
|
|
27
|
+
grating=Grating,
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
|
|
@@ -34,11 +34,13 @@ def dcm() -> DCM:
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
@device_factory()
|
|
37
|
-
def analyser_driver() -> VGScientaAnalyserDriverIO:
|
|
37
|
+
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
|
|
38
38
|
energy_sources = {
|
|
39
39
|
"source1": pgm().energy.user_readback,
|
|
40
40
|
"source2": dcm().energy_in_ev,
|
|
41
41
|
}
|
|
42
|
-
return VGScientaAnalyserDriverIO(
|
|
43
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
42
|
+
return VGScientaAnalyserDriverIO[LensMode](
|
|
43
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
44
|
+
lens_mode_type=LensMode,
|
|
45
|
+
energy_sources=energy_sources,
|
|
44
46
|
)
|
dodal/beamlines/i09_1.py
CHANGED
|
@@ -4,6 +4,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
6
6
|
from dodal.devices.i09.dcm import DCM
|
|
7
|
+
from dodal.devices.i09_1 import LensMode
|
|
7
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
8
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
9
10
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
@@ -25,7 +26,9 @@ def dcm() -> DCM:
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
@device_factory()
|
|
28
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
29
|
-
return SpecsAnalyserDriverIO(
|
|
30
|
-
f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": dcm().energy_in_ev},
|
|
31
34
|
)
|
dodal/beamlines/i09_2.py
CHANGED
|
@@ -2,7 +2,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.i09.
|
|
5
|
+
from dodal.devices.i09.enums import Grating
|
|
6
6
|
from dodal.devices.pgm import PGM
|
|
7
7
|
from dodal.devices.synchrotron import Synchrotron
|
|
8
8
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -21,4 +21,4 @@ def synchrotron() -> Synchrotron:
|
|
|
21
21
|
|
|
22
22
|
@device_factory()
|
|
23
23
|
def pgm() -> PGM:
|
|
24
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:", grating=
|
|
24
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:", grating=Grating)
|
dodal/beamlines/i22.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
from ophyd_async.epics.adaravis import AravisDetector
|
|
4
|
+
from ophyd_async.epics.adcore import NDPluginStatsIO
|
|
4
5
|
from ophyd_async.epics.adpilatus import PilatusDetector
|
|
5
6
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
6
7
|
|
|
@@ -101,6 +102,11 @@ def i0() -> TetrammDetector:
|
|
|
101
102
|
prefix=f"{PREFIX.beamline_prefix}-EA-XBPM-02:",
|
|
102
103
|
path_provider=get_path_provider(),
|
|
103
104
|
type="Cividec Diamond XBPM",
|
|
105
|
+
plugins={
|
|
106
|
+
"stats": NDPluginStatsIO(
|
|
107
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-XBPM-02:SumAll:"
|
|
108
|
+
)
|
|
109
|
+
},
|
|
104
110
|
)
|
|
105
111
|
|
|
106
112
|
|
|
@@ -110,6 +116,11 @@ def it() -> TetrammDetector:
|
|
|
110
116
|
prefix=f"{PREFIX.beamline_prefix}-EA-TTRM-02:",
|
|
111
117
|
path_provider=get_path_provider(),
|
|
112
118
|
type="PIN Diode",
|
|
119
|
+
plugins={
|
|
120
|
+
"stats": NDPluginStatsIO(
|
|
121
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-TTRM-02:SumAll:"
|
|
122
|
+
)
|
|
123
|
+
},
|
|
113
124
|
)
|
|
114
125
|
|
|
115
126
|
|
dodal/beamlines/i24.py
CHANGED
|
@@ -32,7 +32,7 @@ ZOOM_PARAMS_FILE = (
|
|
|
32
32
|
DISPLAY_CONFIG = "/dls_sw/i24/software/gda_versions/var/display.configuration"
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
BL = get_beamline_name("
|
|
35
|
+
BL = get_beamline_name("i24")
|
|
36
36
|
set_log_beamline(BL)
|
|
37
37
|
set_utils_beamline(BL)
|
|
38
38
|
|
|
@@ -149,7 +149,7 @@ def pmac() -> PMAC:
|
|
|
149
149
|
)
|
|
150
150
|
|
|
151
151
|
|
|
152
|
-
@device_factory(
|
|
152
|
+
@device_factory()
|
|
153
153
|
def oav() -> OAVBeamCentreFile:
|
|
154
154
|
return OAVBeamCentreFile(
|
|
155
155
|
prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
dodal/beamlines/p60.py
CHANGED
|
@@ -3,7 +3,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
|
|
6
|
-
from dodal.devices.p60 import LabXraySource, LabXraySourceReadable
|
|
6
|
+
from dodal.devices.p60 import LabXraySource, LabXraySourceReadable, LensMode
|
|
7
7
|
from dodal.log import set_beamline as set_log_beamline
|
|
8
8
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
9
9
|
|
|
@@ -24,11 +24,13 @@ def mg_kalpha_source() -> LabXraySourceReadable:
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
@device_factory()
|
|
27
|
-
def analyser_driver() -> VGScientaAnalyserDriverIO:
|
|
27
|
+
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
|
|
28
28
|
energy_sources = {
|
|
29
29
|
"source1": al_kalpha_source().energy_ev,
|
|
30
30
|
"source2": mg_kalpha_source().energy_ev,
|
|
31
31
|
}
|
|
32
|
-
return VGScientaAnalyserDriverIO(
|
|
33
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
return VGScientaAnalyserDriverIO[LensMode](
|
|
33
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
34
|
+
lens_mode_type=LensMode,
|
|
35
|
+
energy_sources=energy_sources,
|
|
34
36
|
)
|
dodal/beamlines/p99.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
from ophyd_async.epics.adandor import Andor2Detector
|
|
4
|
+
from ophyd_async.fastcs.panda import HDFPanda
|
|
4
5
|
|
|
5
6
|
from dodal.common.beamlines.beamline_utils import (
|
|
6
7
|
device_factory,
|
|
@@ -76,3 +77,16 @@ def andor2_point() -> Andor2Point:
|
|
|
76
77
|
drv_suffix=CAM_SUFFIX,
|
|
77
78
|
read_uncached={"mean": "STAT:MeanValue_RBV", "total": "STAT:Total_RBV"},
|
|
78
79
|
)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@device_factory()
|
|
83
|
+
def panda() -> HDFPanda:
|
|
84
|
+
"""
|
|
85
|
+
The Panda device is connected to two PMAC motors for position comparison under
|
|
86
|
+
the pcomp[1] and pcomp[2] blocks, which handle positive and negative directions.
|
|
87
|
+
This setup is used for triggering detectors during a flyscan.
|
|
88
|
+
"""
|
|
89
|
+
return HDFPanda(
|
|
90
|
+
f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
|
|
91
|
+
path_provider=get_path_provider(),
|
|
92
|
+
)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from asyncio import CancelledError, create_task, sleep
|
|
2
|
+
from contextlib import asynccontextmanager
|
|
3
|
+
|
|
4
|
+
from dodal.log import LOGGER
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@asynccontextmanager
|
|
8
|
+
async def periodic_reminder(
|
|
9
|
+
message: str = "Waiting",
|
|
10
|
+
schedule: tuple[tuple[int | float, int | None], ...] = ( # seconds, frequency
|
|
11
|
+
(1, 3),
|
|
12
|
+
(5, 3),
|
|
13
|
+
(60, 5),
|
|
14
|
+
(300, 5),
|
|
15
|
+
(1800, 5),
|
|
16
|
+
(3600, None),
|
|
17
|
+
),
|
|
18
|
+
):
|
|
19
|
+
"""Periodically logs a message according to a schedule with increasing delays.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
message: The message the user wants to output through logging.
|
|
23
|
+
schedule: A tuple list of tuples consisting of (int|float, int|None).
|
|
24
|
+
A sequence of (delay_seconds, count) pairs defining the logging intervals.
|
|
25
|
+
- delay_seconds is the number of seconds to wait between logs.
|
|
26
|
+
- count is how many times to log at this interval. If count is None, it logs indefinitely at that delay.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
async def _log_loop():
|
|
30
|
+
for delay, count in schedule:
|
|
31
|
+
n = 0
|
|
32
|
+
while count is None or n < count:
|
|
33
|
+
LOGGER.info(message)
|
|
34
|
+
await sleep(delay)
|
|
35
|
+
n += 1
|
|
36
|
+
|
|
37
|
+
task = create_task(_log_loop())
|
|
38
|
+
try:
|
|
39
|
+
yield
|
|
40
|
+
finally:
|
|
41
|
+
task.cancel()
|
|
42
|
+
try:
|
|
43
|
+
await task
|
|
44
|
+
except CancelledError:
|
|
45
|
+
pass
|
|
@@ -39,10 +39,12 @@ class BinaryFilterAttenuator(ReadOnlyAttenuator, Movable[float]):
|
|
|
39
39
|
Where desired_transmission is fraction e.g. 0-1. When the actual_transmission is
|
|
40
40
|
read from the device it is also fractional"""
|
|
41
41
|
|
|
42
|
-
def __init__(self, prefix: str, name: str = ""):
|
|
42
|
+
def __init__(self, prefix: str, num_filters: int, name: str = ""):
|
|
43
43
|
self._calculated_filter_states: DeviceVector[SignalR[int]] = DeviceVector(
|
|
44
44
|
{
|
|
45
|
-
int(digit,
|
|
45
|
+
int(digit, num_filters): epics_signal_r(
|
|
46
|
+
int, f"{prefix}DEC_TO_BIN.B{digit}"
|
|
47
|
+
)
|
|
46
48
|
for digit in string.hexdigits
|
|
47
49
|
if not digit.islower()
|
|
48
50
|
}
|
|
@@ -50,7 +52,7 @@ class BinaryFilterAttenuator(ReadOnlyAttenuator, Movable[float]):
|
|
|
50
52
|
self._filters_in_position: DeviceVector[SignalR[bool]] = DeviceVector(
|
|
51
53
|
{
|
|
52
54
|
i - 1: epics_signal_r(bool, f"{prefix}FILTER{i}:INLIM")
|
|
53
|
-
for i in range(1,
|
|
55
|
+
for i in range(1, num_filters + 1)
|
|
54
56
|
}
|
|
55
57
|
)
|
|
56
58
|
|
dodal/devices/b07/__init__.py
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
from dodal.devices.b07.
|
|
1
|
+
from dodal.devices.b07.enums import Grating, LensMode
|
|
2
2
|
|
|
3
|
-
__all__ = ["
|
|
3
|
+
__all__ = ["Grating", "LensMode"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from ophyd_async.core import StrictEnum, SupersetEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Grating(StrictEnum):
|
|
5
|
+
NI_400 = "400 l/mm Ni"
|
|
6
|
+
NI_1000 = "1000 l/mm Ni"
|
|
7
|
+
PT_600 = "BAD 600 l/mm Pt"
|
|
8
|
+
AU_600 = "600 l/mm Au"
|
|
9
|
+
NO_GRATING = "No Grating"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LensMode(SupersetEnum):
|
|
13
|
+
LARGE_AREA = "LargeArea"
|
|
14
|
+
HIGH_MAGNIFICATION = "HighMagnification"
|
|
15
|
+
MEDIUM_MAGNIFICATION = "MediumMagnification"
|
|
16
|
+
LOW_MAGNIFICATION = "LowMagnification"
|
|
17
|
+
MEDIUM_ANGULAR_DISPERSION = "MediumAngularDispersion"
|
|
18
|
+
LOW_ANGULAR_DISPERSION = "LowAngularDispersion"
|
|
19
|
+
HIGH_ANGULAR_DISPERSION = "HighAngularDispersion"
|
|
20
|
+
WIDE_ANGLE_MODE = "WideAngleMode"
|
|
21
|
+
MEDIUM_AREA = "MediumArea"
|
|
22
|
+
SMALL_AREA = "SmallArea"
|
|
23
|
+
HIGH_MAGNIFICATION2 = "HighMagnification2"
|
|
24
|
+
NOT_CONNECTED = "Not connected"
|
dodal/devices/b07_1/__init__.py
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
from dodal.devices.b07_1.
|
|
1
|
+
from dodal.devices.b07_1.enums import Grating, LensMode
|
|
2
2
|
|
|
3
|
-
__all__ = ["
|
|
3
|
+
__all__ = ["Grating", "LensMode"]
|