dls-dodal 1.59.1__py3-none-any.whl → 1.61.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 (46) hide show
  1. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.0.dist-info}/METADATA +2 -3
  2. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.0.dist-info}/RECORD +46 -25
  3. dodal/_version.py +2 -2
  4. dodal/beamlines/__init__.py +1 -0
  5. dodal/beamlines/i15.py +242 -0
  6. dodal/beamlines/i15_1.py +156 -0
  7. dodal/beamlines/i19_1.py +3 -1
  8. dodal/beamlines/i19_2.py +1 -1
  9. dodal/devices/apple2_undulator.py +85 -52
  10. dodal/devices/areadetector/__init__.py +0 -0
  11. dodal/devices/areadetector/plugins/__init__.py +0 -0
  12. dodal/devices/attenuator/__init__.py +0 -0
  13. dodal/devices/electron_analyser/abstract/__init__.py +2 -2
  14. dodal/devices/electron_analyser/abstract/base_detector.py +13 -26
  15. dodal/devices/electron_analyser/abstract/base_driver_io.py +5 -4
  16. dodal/devices/electron_analyser/abstract/base_region.py +28 -13
  17. dodal/devices/electron_analyser/detector.py +19 -31
  18. dodal/devices/electron_analyser/specs/driver_io.py +0 -1
  19. dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -1
  20. dodal/devices/fast_grid_scan.py +14 -11
  21. dodal/devices/i04/murko_results.py +24 -12
  22. dodal/devices/i10/i10_apple2.py +15 -15
  23. dodal/devices/i10/rasor/__init__.py +0 -0
  24. dodal/devices/i11/__init__.py +0 -0
  25. dodal/devices/i15/__init__.py +0 -0
  26. dodal/devices/i15/dcm.py +77 -0
  27. dodal/devices/i15/focussing_mirror.py +55 -0
  28. dodal/devices/i15/jack.py +31 -0
  29. dodal/devices/i15/laue.py +14 -0
  30. dodal/devices/i15/motors.py +27 -0
  31. dodal/devices/i15/multilayer_mirror.py +21 -0
  32. dodal/devices/i15/rail.py +13 -0
  33. dodal/devices/i18/__init__.py +0 -0
  34. dodal/devices/i22/__init__.py +0 -0
  35. dodal/devices/i24/commissioning_jungfrau.py +9 -1
  36. dodal/devices/motors.py +52 -1
  37. dodal/devices/mx_phase1/__init__.py +0 -0
  38. dodal/devices/oav/snapshots/__init__.py +0 -0
  39. dodal/devices/slits.py +18 -0
  40. dodal/devices/v2f.py +7 -7
  41. dodal/devices/xspress3/__init__.py +0 -0
  42. dodal/parameters/__init__.py +0 -0
  43. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.0.dist-info}/WHEEL +0 -0
  44. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.0.dist-info}/entry_points.txt +0 -0
  45. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.0.dist-info}/licenses/LICENSE +0 -0
  46. {dls_dodal-1.59.1.dist-info → dls_dodal-1.61.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.59.1
3
+ Version: 1.61.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
@@ -216,7 +216,7 @@ License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
218
  Requires-Dist: ophyd-async[ca,pva]>=0.13.2
219
- Requires-Dist: bluesky==1.14.2
219
+ Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
221
  Requires-Dist: dataclasses-json
222
222
  Requires-Dist: pillow
@@ -230,7 +230,6 @@ Requires-Dist: aiofiles
230
230
  Requires-Dist: aiohttp
231
231
  Requires-Dist: redis
232
232
  Requires-Dist: scanspec>=0.7.3
233
- Requires-Dist: event-model>=1.23
234
233
  Requires-Dist: pyzmq==26.3.0
235
234
  Requires-Dist: deepdiff
236
235
  Requires-Dist: daq-config-server>=v1.0.0-rc.2
@@ -1,7 +1,7 @@
1
- dls_dodal-1.59.1.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1
+ dls_dodal-1.61.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=wK0DlFmbBUtBSJrrSyAf2e1H4HULMvk71ss8iHGbVFg,706
4
+ dodal/_version.py,sha256=R0nxjIENITg3eHoaeIFi4EMDLFAHK-E5jkMwqc20ybI,706
5
5
  dodal/cli.py,sha256=yi8dXOp0hqzlg4ZZXCRGU-LpDa_ydaropDjyREWbZ5Y,4152
6
6
  dodal/log.py,sha256=Rt5O3hFZfMnJvQueZvgagQuXnPqHrFxhponOvVkpfrk,9871
7
7
  dodal/utils.py,sha256=abGitd4FLpLnmckF7lUqOKYUL88r5Ex_NGSVgO4gOf4,19305
@@ -9,7 +9,7 @@ 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/beamline_specific_utils/i05_shared.py,sha256=EsgNlOPq9iRbKv7FinR__gCEwp1S2DRclJdklmBpaxo,336
11
11
  dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
12
- dodal/beamlines/__init__.py,sha256=pYP4kWH7h3VYXmjXdgbt27T_q-EA5PIyiaMZc7C49UA,3198
12
+ dodal/beamlines/__init__.py,sha256=FU0P25acBYfikeXaVlQz0cMssJRrSRPzjak0FMeB4Bc,3220
13
13
  dodal/beamlines/adsim.py,sha256=fxj_P-7PsywdWPjfBAsLoOPiSKtApOKmLWHdQ8xCa3s,2048
14
14
  dodal/beamlines/aithre.py,sha256=IoRO5szytOtdkLLEtwYwLl4TLhMllyG6l9A2G1r7Yic,994
15
15
  dodal/beamlines/b01_1.py,sha256=c82X3HXysBK0s2_JxJkEg1HPXBNewP_OR_DXBU4izzc,2829
@@ -30,10 +30,12 @@ dodal/beamlines/i10-1.py,sha256=9uivujUOgYMaNeVKMq6ZmR4HdXF4je7VEKGk4RtY5xc,736
30
30
  dodal/beamlines/i10.py,sha256=EgVmrF7c5hT2WljDdfBpmYi6GVu4vkKuZ3kURdGM1XU,6141
31
31
  dodal/beamlines/i11.py,sha256=hzW5Lh74zDzUD0vqXQzekoFVWDp8qEIc0OPRm0Qepqs,3643
32
32
  dodal/beamlines/i13_1.py,sha256=VYVqMN8-njy7YSI08gskRccT-K2paRC9edAx0ah-Cwo,1602
33
+ dodal/beamlines/i15.py,sha256=lmUhh1jt5CtD4P_BzkwNufu814aT3uaQlLyDMY_B5AE,5725
34
+ dodal/beamlines/i15_1.py,sha256=TomeTLsYSvL5en8GPvI8driQa5nMObrB5DrMKckHig8,3898
33
35
  dodal/beamlines/i17.py,sha256=Nickt8CKQ9JcQ1D_ulNICUT4jjLF1Aib7D9jblSnzA4,987
34
36
  dodal/beamlines/i18.py,sha256=FuU8G-q1piu6BRou-Shj3BQEbNtsF7CUsSIqqkvCKZc,3615
35
- dodal/beamlines/i19_1.py,sha256=tg3eALJTn9p686VFV7GjfUvChGS1mrh8-98uzjdLj_g,2934
36
- dodal/beamlines/i19_2.py,sha256=hlpAbSsgmhtxrygIVMPso4YL2jAqRfYWuK_L4TS54Fw,3171
37
+ dodal/beamlines/i19_1.py,sha256=xAI9B3fyUKtoO-tnAF7wWQelrXQ6QrYNgEyncHqVzn4,3057
38
+ dodal/beamlines/i19_2.py,sha256=x-k6Dy2_Jy_9Z4Jh5ytcQWsOQlk4MRAsLOX55Fjz4t0,3171
37
39
  dodal/beamlines/i19_optics.py,sha256=8hdlDAAMgFrhcXrp5xCPZtLUlrDUEC9VwKnnuUAMbbU,1150
38
40
  dodal/beamlines/i20_1.py,sha256=Zsr1lsH7ySbOgK7RhMVMWzNWZAV-fuYW0iAjSEJZicY,2625
39
41
  dodal/beamlines/i21.py,sha256=5v6iiTlY4kWlWvQ_uNidJSotvkdNF3qdjR49l7sIYPc,728
@@ -66,7 +68,7 @@ dodal/common/beamlines/device_helpers.py,sha256=8sasAIFRDwo6ElHqLrXnpj_v7xcEg-29
66
68
  dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
69
  dodal/devices/aperture.py,sha256=S7AoIoQg_kFxaQk7HUMijbm1kYkOEi2csbdj76kp1ys,427
68
70
  dodal/devices/aperturescatterguard.py,sha256=FH2oru3DU-I6BwOJOVEgHdFplLKIIknxtEBUBAXZ_WA,13946
69
- dodal/devices/apple2_undulator.py,sha256=-IKrEFatjbyI8nbfbCsAmsYWZU-l4A0gXFDJ-WPYEpw,22144
71
+ dodal/devices/apple2_undulator.py,sha256=LjhU4ILkSrhnccHOwOrOT9HenowKmI0NFHLfpQk14lY,23035
70
72
  dodal/devices/backlight.py,sha256=y40kR6N3qSFVLRaGU8CjJJpwv_hq2QALf_85fLQqras,1415
71
73
  dodal/devices/baton.py,sha256=315I_0V73_DYYVT0PBs0luVy4CMqdPo0kLvHBi12MIU,606
72
74
  dodal/devices/bimorph_mirror.py,sha256=OGe6aCczG0gVco4OvIRLJVxn2kw5F2QG1e06uqhFLTw,4609
@@ -78,14 +80,14 @@ dodal/devices/diamond_filter.py,sha256=hySd7HnLdplpPNvBrLddLjO_3LqgD8-99Zr__Sy_G
78
80
  dodal/devices/eiger.py,sha256=ZKaRXF-YnYWuMW94BIg-gmdKW7JKmtMUvehF3S5XaLY,16670
79
81
  dodal/devices/eiger_odin.py,sha256=1JoqPppTp99IZCiFOXJZB3h62xXRYKZINxTYXdLnT8c,7480
80
82
  dodal/devices/eurotherm.py,sha256=rdLldmWYP1PZBckoya6svPy1mDxHYaa1IfMleMPGzD4,3832
81
- dodal/devices/fast_grid_scan.py,sha256=Bng0FFIw3PYqdqX2Mj-KhyGRKIbKZVYEygzrYtylorY,14530
83
+ dodal/devices/fast_grid_scan.py,sha256=4HHOVAPwhUf4u1nC_kNhCAUzCqYuEsJ15lqcnxfdrVg,14659
82
84
  dodal/devices/fluorescence_detector_motion.py,sha256=hJ1M9Zs6Dlw8DDL9APh7yVePlS4tU2hnlySd16hqfwE,346
83
85
  dodal/devices/flux.py,sha256=1CDsq9yU2-ho8MfYBl50Tl9ABZwpUBHnV486PQXKNoQ,462
84
86
  dodal/devices/focusing_mirror.py,sha256=2UWVrY6bs6_0i-h6JJ_LAUZPX_FgMzIx04JqZafdtYU,7464
85
87
  dodal/devices/hutch_shutter.py,sha256=iY3qWxDr8mDlAvN_BYe2gqpXRM1hlfV3ewdwkwh0_v0,3889
86
88
  dodal/devices/ipin.py,sha256=eq5jlKw7WGQi8VLrAWpaAIsZmfiVf-5Q0td_B22H6A4,473
87
89
  dodal/devices/linkam3.py,sha256=Lkw7c05XyHEEA83djfVFqz_8HN4kROCRqZwLwvHwRdA,2054
88
- dodal/devices/motors.py,sha256=UIc6JZbzYhgT4Vr3DpHqG53_4q391A9-8W_BWHksSG8,6300
90
+ dodal/devices/motors.py,sha256=3exQwYqTCQsCmtBvv_H5T_Dd5KJXF4__afnR33vTNB0,7741
89
91
  dodal/devices/p45.py,sha256=CImflt7ifaOkV20Uip3S8_fde_GlIIhD16y-54ODfHE,1390
90
92
  dodal/devices/pgm.py,sha256=92yfr3i4fC92g-HPbbUBrazGs4b9n6CjmJfKxmUrMUY,1157
91
93
  dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
@@ -94,7 +96,7 @@ dodal/devices/qbpm.py,sha256=FfrWWAHHtYv3fGRT1qljyPpAwoHJYfbooT9CfKg-oXI,465
94
96
  dodal/devices/robot.py,sha256=k4Vkjpd3R-wXWf6YbYC1225sSdjvTrZS54v5v6Qy_EU,7003
95
97
  dodal/devices/s4_slit_gaps.py,sha256=4KdarIQoRqX4ry3LUS1Km7fkjUFahA0VuTd2DvYEqQ8,446
96
98
  dodal/devices/scintillator.py,sha256=JresF8SY_-t1raibzR4f0UoMXnFi-Abh3ywGm2DjhKs,3003
97
- dodal/devices/slits.py,sha256=b_7ku2sHlzhMHTvWrwiRwee6ufrbxNX9JB_Z0lvk15o,1105
99
+ dodal/devices/slits.py,sha256=IJtipn1N5B7pH64frWcF2TFK8mTFwSYXpGt_FMGl68w,1537
98
100
  dodal/devices/smargon.py,sha256=m3wkiyGVrFw1HSnIcV2JPvuWkflSdii-1eZxoePxSkg,5025
99
101
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
100
102
  dodal/devices/synchrotron.py,sha256=OHBrTrm4K39XE8BrE9b_Jn_ZfMRyDp9CHCwvmiV-KOc,1989
@@ -102,15 +104,18 @@ dodal/devices/tetramm.py,sha256=IKZ49NtOf65L46Zu5CjX0kjQsYkA-bNIdu4BpMI2iLA,1024
102
104
  dodal/devices/thawer.py,sha256=HexahKZ1rUxF9jBMeULruqYt6I7fsl6OgXkvcxPQY3M,1963
103
105
  dodal/devices/turbo_slit.py,sha256=xhcnhfbdcTYSYozogw6Li4fF4ofoPsc350rEyrRdaNE,1460
104
106
  dodal/devices/undulator.py,sha256=SsgYvIEQUNs_zZiUPAzlw0yJPaSExdmBFltlq5ypbc8,5530
105
- dodal/devices/v2f.py,sha256=MQiC5vEp2scu99ERcx9N5RIVtn5IYTWEUSFaklgbWKY,1225
107
+ dodal/devices/v2f.py,sha256=TL9fFYKEWENBtos031Ma4D6eDVG1uqUmdJON9aQzwwc,1232
106
108
  dodal/devices/watsonmarlow323_pump.py,sha256=xNwjoxW3NJIDkeDWHfb0A8Yj95_KKRXMD9AghvX-WLk,1337
107
109
  dodal/devices/webcam.py,sha256=UAx2KF0mKi6I-mJJUb5z56MHY-Wd89-tqyPcFbouQFg,2491
108
110
  dodal/devices/xbpm_feedback.py,sha256=HKLY3k52FPe2G-EAg8ir2LSdeUuGvhRD73ibDZ4mjH8,1418
109
111
  dodal/devices/aithre_lasershaping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
112
  dodal/devices/aithre_lasershaping/goniometer.py,sha256=-2ewYMcdzB1DqP9sMpr4L1i4KeTCrGAJfngAt9-eFWw,1005
111
113
  dodal/devices/aithre_lasershaping/laser_robot.py,sha256=vy-I1ASYflFYIUYePhT2l3l7g2iekrIFzLxA0GLmKY8,717
114
+ dodal/devices/areadetector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
115
  dodal/devices/areadetector/plugins/CAM.py,sha256=sZzJm5Ez3eWfXZi_EB67wluhZmMQm1UyOc2bJFfzd1U,964
113
116
  dodal/devices/areadetector/plugins/MJPG.py,sha256=QTsxCoWbofNpLMGPoOR2hWoM33KyntuLepbF0YmX0KE,3031
117
+ dodal/devices/areadetector/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
+ dodal/devices/attenuator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
119
  dodal/devices/attenuator/attenuator.py,sha256=-rJYY_bHCDl8NVn3yYPytYIANiOPsz0f-3U1zBsT5pE,6246
115
120
  dodal/devices/attenuator/filter.py,sha256=xb_8S62ktJdqdNE03PqhsfsTsQyTsRbR9CF1ksfX06M,542
116
121
  dodal/devices/attenuator/filter_selections.py,sha256=k77EKESAlbA_ZUf1eNBdzMa8Xs8Mmmmb7XBkhipo3lE,1900
@@ -134,24 +139,24 @@ dodal/devices/detector/det_resolution.py,sha256=aQkKp24LpRGiwzPAQM3wLVa4ANw32Hdr
134
139
  dodal/devices/detector/detector.py,sha256=DqQvlgdjIdKErrZqgM9IH7drc-r6N8nhkFk7KwlgYAk,4815
135
140
  dodal/devices/detector/detector_motion.py,sha256=Ly4nz_AsB-_EDOADMC2u2J0dunpkOMbafVN_dgh3T-E,1389
136
141
  dodal/devices/electron_analyser/__init__.py,sha256=mpC48s2fK58aEKI-Fl3CiYBb4tXgcaa4Msj8_jLpH8g,956
137
- dodal/devices/electron_analyser/detector.py,sha256=nnZ5bGaZJql-G9JaDK9VqLcsbPXb7hRSSfO1103JbX0,5046
142
+ dodal/devices/electron_analyser/detector.py,sha256=FE8Qh7H01tej5GqWLXtCbiWo4n7OGm6q-QVViv-dqZ8,4749
138
143
  dodal/devices/electron_analyser/energy_sources.py,sha256=NO3oxaVgmXnm6QuvyPBaeFbTjl3KwXzXY7EsdOhjATM,3152
139
144
  dodal/devices/electron_analyser/enums.py,sha256=ruSH7LNRhtqMflv7gYxKeAu0uLzZIaoCai7sSTzpvkg,204
140
145
  dodal/devices/electron_analyser/types.py,sha256=_kmdSp4E98fsusg5Wg-Hyo25zHYA_pMe_hFW8lKe3tE,1869
141
146
  dodal/devices/electron_analyser/util.py,sha256=ZFQJxxwDPIr43859DPIS9lBuq54phUT3R2f_Rbn-FbU,1235
142
- dodal/devices/electron_analyser/abstract/__init__.py,sha256=4M9RF4ccXRnkK0zrNzt3vR-8vHgqcPiCl2CPXHSlyxg,620
143
- dodal/devices/electron_analyser/abstract/base_detector.py,sha256=_jcUSZoHJNwLVI_HLk7DD8vEjZTSN2E3APJS8-Ssjzc,2368
144
- dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=uQVsw43RigLJ_nWxS6RxtzeSjrfNgFHz5aOcbBrxIvI,9839
145
- dodal/devices/electron_analyser/abstract/base_region.py,sha256=DXJkDBJUyD7gi0ZEksXP5Wh1EZvmVbSlOevbZUHrVjU,5056
147
+ dodal/devices/electron_analyser/abstract/__init__.py,sha256=OE5iU5L_7wQudl3cddtMk6eRNbXzZxqiVIzaOAZmuxc,612
148
+ dodal/devices/electron_analyser/abstract/base_detector.py,sha256=alBDZgJxNYLAHDrUa_C5tRUSlujxwWdBebFHDQ8jOv0,2055
149
+ dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=1j_bCS1k4LqyOBvlt34ijGOLbgX3vboxOUD4j-zv-MU,9963
150
+ dodal/devices/electron_analyser/abstract/base_region.py,sha256=DY5wNs-BMYimkH5tpBEqXGq4n0YhHpk81kuHASveBpw,5702
146
151
  dodal/devices/electron_analyser/abstract/types.py,sha256=eoeO7sqlv5RE7AEnyzsxHyuBXlUzOIYdRLWp0EnLyAU,596
147
152
  dodal/devices/electron_analyser/specs/__init__.py,sha256=qN57kY6ERUGdrAWhU5m8CBrc0KaqiOGwPL6h2BNm3i0,291
148
153
  dodal/devices/electron_analyser/specs/detector.py,sha256=RaNkSmQ_Jb9AuwQqVqo3vv5Q6DcTtpoVqqRAQvgoeEs,1139
149
- dodal/devices/electron_analyser/specs/driver_io.py,sha256=vfiwK2TcDMJ5AbSPqwJDI9Xs1t0In7KzHys7PgCjNAg,4557
154
+ dodal/devices/electron_analyser/specs/driver_io.py,sha256=_6FG5zXGw8vzKc8JzyxdqqQAcU5mBoDjrF_ehfG9h8w,4500
150
155
  dodal/devices/electron_analyser/specs/enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
151
156
  dodal/devices/electron_analyser/specs/region.py,sha256=P7rwbY72-QGKzC6TeldmP8sTmardpB_-rYx7gPVCMqo,1213
152
157
  dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=5ZUJcUkJJ9ruwE0PzCFdA0HyWKrfjxaUBeGAMCC9JH4,357
153
158
  dodal/devices/electron_analyser/vgscienta/detector.py,sha256=JkO8E5N8tQjYfaHMXoDV6r3oEyzTC0oQI5IqWbOmvxw,1446
154
- dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=ISOQek03DK7UItZwZY4DxatyLwGmOlgQn131onVcmtE,3567
159
+ dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=c1v3AOSGKp6DlVmE82rvuN5aYElWsHeWPtYHPLwIM-s,3510
155
160
  dodal/devices/electron_analyser/vgscienta/enums.py,sha256=3vmX67ExATU8clueVp_mCzw3OUQx799oZMc8gyHtMJE,205
156
161
  dodal/devices/electron_analyser/vgscienta/region.py,sha256=6k6Eah6_I74Pi2_a0KfyMYFfwHwJbh1ndqy0fuq5o14,2184
157
162
  dodal/devices/i02_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -162,7 +167,7 @@ dodal/devices/i03/dcm.py,sha256=zDcgxOdMRVOQZBGDsLaIlr7o4UJIK2vehPWHxAxt6VA,2268
162
167
  dodal/devices/i03/undulator_dcm.py,sha256=L7dr1QcwJ1SiQWkHm0a4yQVJFtPiAJQyDLEXok64Ab8,2857
163
168
  dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
164
169
  dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
165
- dodal/devices/i04/murko_results.py,sha256=JZNW0_G0f41ZWjp1l0TxBuYWcqjfr1XPpGRe4ObCVUk,8506
170
+ dodal/devices/i04/murko_results.py,sha256=Lool7IqYrYoUojexKpoVK8C4ztk9-sNFDg5lcPHBFSw,8949
166
171
  dodal/devices/i04/transfocator.py,sha256=sVI4Bgv-2-DH4-F1nIXMp5Aktevrm3agZnCA-WgjmW8,3780
167
172
  dodal/devices/i05/__init__.py,sha256=v0Axsf-vMyLyxcbqS8lljJc0BQ5Tw8yVBTWcO3tG_4g,67
168
173
  dodal/devices/i05/enums.py,sha256=9FHBIexkSfZSTHxUnGupravfG9sVriHcrB15jemkQOQ,191
@@ -173,13 +178,15 @@ dodal/devices/i09_1/__init__.py,sha256=dTazun87AkMDXh7J8gIZYJxJth0XUs72qahJ-VvhR
173
178
  dodal/devices/i09_1/enums.py,sha256=FwhsvKnEcm9M22U4gcAJi6FE2RaUBZH0jRjNgJUKRqc,1319
174
179
  dodal/devices/i10/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
180
  dodal/devices/i10/diagnostics.py,sha256=iEPScPnjhLX20dD313hBekqM2OmL_WYQN-4yKAMOFWU,5440
176
- dodal/devices/i10/i10_apple2.py,sha256=QN5y03VNE52DyMB6wI6trd7JYzQmQuXBKVod9dL2jRg,19489
181
+ dodal/devices/i10/i10_apple2.py,sha256=Rqk_xaBdIqpimjosFvM4_z5r-PkY0pPEoR2xjyqgWKI,19480
177
182
  dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
178
183
  dodal/devices/i10/mirrors.py,sha256=Zofd0g2f3YvFi_KIHQE_w4dFZNglhmh--65tRnWLuyY,504
179
184
  dodal/devices/i10/slits.py,sha256=jI4wJPVT2vtl4bvabrU9u_v-SdGjOfDLBm0S9GMZC7w,4157
185
+ dodal/devices/i10/rasor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
186
  dodal/devices/i10/rasor/rasor_current_amp.py,sha256=hImaPI3veKiS5YVfYwv-qrQ1AYNBjFVxG_MwTQqtkcc,2368
181
187
  dodal/devices/i10/rasor/rasor_motors.py,sha256=yWBxsiVhbdkQzhaK1S-nUq_wVntwHgdf6T8c8f7wHUE,1327
182
188
  dodal/devices/i10/rasor/rasor_scaler_cards.py,sha256=sfWJKNx6pq342PEAlmg_Yt_Tijq7mO1XFjcCDtToQiU,467
189
+ dodal/devices/i11/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
190
  dodal/devices/i11/cyberstar_blower.py,sha256=YngbNzNkWVj_LUGEIqo9JRxRQ0PT7zjouj2VljdDlOk,1033
184
191
  dodal/devices/i11/diff_stages.py,sha256=3kcBRUvIwaqmoVf9MxY0CvU8LBbX_qaGhqbbYEmOri4,1713
185
192
  dodal/devices/i11/mythen.py,sha256=_fi7SAoWfJ34RyfSNXEyG0gwP0ox6_l9RUN9BF6OBUI,5221
@@ -188,7 +195,16 @@ dodal/devices/i11/spinner.py,sha256=PjumM7QRB7iFUtN4b6xCvxKItYUNX2XLLWDupy5LI_M,
188
195
  dodal/devices/i13_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
196
  dodal/devices/i13_1/merlin.py,sha256=mgTFSMJftRzLL-HXAUuJkOYxtyA3Rp8YX0L46JCb30Y,1019
190
197
  dodal/devices/i13_1/merlin_controller.py,sha256=myfmByOEXyMrlJZfsjOxDHeGQVwZGfsRtzrfSy2001o,1495
198
+ dodal/devices/i15/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
+ dodal/devices/i15/dcm.py,sha256=QLqnKhNbkcVuCFEy9yB-2Ga4fAR0EOGZQshfSoVN8-w,3113
200
+ dodal/devices/i15/focussing_mirror.py,sha256=E6T_c7M2osgHLa7u8eUfQJlXlJbZHtOp95FhP3qZ4gY,1739
201
+ dodal/devices/i15/jack.py,sha256=VafCNx-uqkIy0LxbBAhSm_tuC8_SbGCrnTbvQCExAzA,962
202
+ dodal/devices/i15/laue.py,sha256=H0nLPH8gqJejBZtZeY0lv84EaE2lqdL3CmXvT9iHhpk,496
203
+ dodal/devices/i15/motors.py,sha256=-kGHisSWc_zuV9m2L0mGgmiSiIZ7puLsimddk28h_7s,831
204
+ dodal/devices/i15/multilayer_mirror.py,sha256=qdxnn6PBAxK0MgeVUpM8Ukkq4tdX3jhjlmyU-AzzH4M,741
205
+ dodal/devices/i15/rail.py,sha256=9cRTRKy6uZBASMhK1wC8K_k_5FfLgHnoh9VblSOTkpQ,428
191
206
  dodal/devices/i18/KBMirror.py,sha256=W4R3TeulSjosUqAFIIznyWzje_Y2AoEf9f8N-NkisYM,710
207
+ dodal/devices/i18/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
208
  dodal/devices/i18/diode.py,sha256=nk5kvn4LsbhczRpCwHOO0_jJTYOz7MP9qm_uvBWuv7c,1468
193
209
  dodal/devices/i19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
210
  dodal/devices/i19/backlight.py,sha256=c3F8RTessUJmJHlCWATSj-W25qlkAttb-c95eS28lKs,662
@@ -200,6 +216,7 @@ dodal/devices/i19/shutter.py,sha256=B4KP0Ruc8Ex47OfCskbjYSSu81jz4tK9GC_7pxMIkgI,
200
216
  dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
217
  dodal/devices/i21/__init__.py,sha256=1H0Ov9s8K7nu6e20WtQDH39wgSKWz2ChRVAUzytIyzQ,67
202
218
  dodal/devices/i21/enums.py,sha256=asy90S84fBBydYwz89jNeocz04JXpbHn8ynaPzW353c,141
219
+ dodal/devices/i22/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
220
  dodal/devices/i22/dcm.py,sha256=s3RU6NxsQxOc_YgMBwR8lhboStI1gCDKbWc5pk22O0M,4489
204
221
  dodal/devices/i22/fswitch.py,sha256=kpgegs4Wv_weBSzbrlXLXqXOOZdzTn3X9k5PlEN5F6c,2881
205
222
  dodal/devices/i22/nxsas.py,sha256=M6hhiPmHO4WDBsFoSOhKAG_yPF6vTpLRPbB2UW3-aMs,6122
@@ -207,12 +224,13 @@ dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
207
224
  dodal/devices/i24/aperture.py,sha256=dlH_g7OPTBc5QRMd-ADU3_GDTKh668kkMHo4k_JxUcY,770
208
225
  dodal/devices/i24/beam_center.py,sha256=nQyOif6JtlU_qP7kZP-8wN1ldW81MIbFUykPC1bEm70,446
209
226
  dodal/devices/i24/beamstop.py,sha256=6tbiQLlcTlp4PCPhHJ_mlHtkv0kz5ArQ99zg9rwTnrw,1133
210
- dodal/devices/i24/commissioning_jungfrau.py,sha256=kVt19MS0d9kZhBCgQnWAsC5kxMY9ckTEIprggf-gveY,4217
227
+ dodal/devices/i24/commissioning_jungfrau.py,sha256=i-B6Sy2braKSGYF2G7QrluPkThXHY-YiULUJRqClFok,4532
211
228
  dodal/devices/i24/dcm.py,sha256=l7qbJh2JKL-5ANlMYXDeU5EBYY6mDiLxn7kp_Z9KNaM,1206
212
229
  dodal/devices/i24/dual_backlight.py,sha256=N0R7M1mHPRmQ4fks5lGU1wrXjOvcW_ZKIXaRoC8aLDE,2084
213
230
  dodal/devices/i24/focus_mirrors.py,sha256=DYiYLpDw8FJ1LYHxLOxE_om5qGfUo2itzskgqhmQZlg,1763
214
231
  dodal/devices/i24/pmac.py,sha256=-HYf2HPzaqWvszp4T8TXohdp40-xmKqQq4V0mLvVri8,7028
215
232
  dodal/devices/i24/vgonio.py,sha256=sxSmcYZayVJPJz_D_91j9PmNor7Tbl1RGQFRrdtESlw,533
233
+ dodal/devices/mx_phase1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
234
  dodal/devices/mx_phase1/beamstop.py,sha256=GeHLqHVf3XwJSszUHuxZ2JBwQlcDiFs6jVpdHuw7snM,3127
217
235
  dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
236
  dodal/devices/oav/oav_calculations.py,sha256=qoaNz4MAdbpu0XHAkWTQ3rebFwsWfa8JA1eerUgISjA,2367
@@ -223,6 +241,7 @@ dodal/devices/oav/utils.py,sha256=T-xg7J38ritzXwRrKjsWZ7daC_qR7aNhlbkXx75nJ8Q,31
223
241
  dodal/devices/oav/pin_image_recognition/__init__.py,sha256=ZDqvAk-Nvw_WM00efxfx2aDEoK1T5QydIciqqCCpp7Q,6302
224
242
  dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
225
243
  dodal/devices/oav/pin_image_recognition/utils.py,sha256=L9ypluYqeOFoS7gQuws-vTNc8LqaKl2ZIDNeQ2JaNpg,8592
244
+ dodal/devices/oav/snapshots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
245
  dodal/devices/oav/snapshots/grid_overlay.py,sha256=CdvCdTKMCiwMwxm2lV28KpcIUSXlscZmWxb73_KKmiI,3694
227
246
  dodal/devices/oav/snapshots/snapshot.py,sha256=VDHYxko97sATMKvD5wClgvN7WQUtUAjcXXSyoQAL8q8,499
228
247
  dodal/devices/oav/snapshots/snapshot_image_processing.py,sha256=wDxH9WPmB0nsotr49PUpw2Ke4l4RFxirrbpPzOUF9s4,2318
@@ -241,6 +260,7 @@ dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
241
260
  dodal/devices/util/adjuster_plans.py,sha256=c40PFZpXFw0YmJLh9jU4VIb8vRxHyafZlmvprTKAOhM,824
242
261
  dodal/devices/util/epics_util.py,sha256=4useFL8ngsVF08fhOn48BlnO4oh0T4sEKqjdS6mjvG0,4687
243
262
  dodal/devices/util/lookup_tables.py,sha256=jH9f_D8JbTSqzL-RKHUWOORLt8lEoNQL3o9HpXE98TY,3476
263
+ dodal/devices/xspress3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
264
  dodal/devices/xspress3/xspress3.py,sha256=OerapEy-IuK7EFz13B5z0BzBmESVl6pYUlqAWHIwJck,4555
245
265
  dodal/devices/xspress3/xspress3_channel.py,sha256=w8tAx2lz5kJ_LeJ_eb_4o--Dtt8MRijsYNgDG6oEIVg,1626
246
266
  dodal/devices/zebra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -251,6 +271,7 @@ dodal/devices/zocalo/__init__.py,sha256=W3R09eHAmybP4BcM_gHy6gVAW5_gVSnFq2o3z2iT
251
271
  dodal/devices/zocalo/zocalo_constants.py,sha256=vu7Xjz7UNEpBUWEEBxDvP4bVFkZIN6NLGfQDpWbCjH8,98
252
272
  dodal/devices/zocalo/zocalo_interaction.py,sha256=GFukU9xqagQtVSDg5BrL23jxl1w8wjs4b4NLLqdFfpk,3584
253
273
  dodal/devices/zocalo/zocalo_results.py,sha256=8ZYkNB-By47Ag_p68iOq7jK8_P-LAsWPNs0m_DhnVEQ,12639
274
+ dodal/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
275
  dodal/parameters/experiment_parameter_base.py,sha256=vONep-llSqhM0OpVj3zFUxdnzRQpu9y9mPhh2HauEJE,226
255
276
  dodal/plan_stubs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
277
  dodal/plan_stubs/check_topup.py,sha256=3gyLHfHNQBCgEWuAg4QE-ONx7y2Do1vVv5HP8ss0Z1I,5371
@@ -270,8 +291,8 @@ dodal/testing/__init__.py,sha256=AUYZKAvVOs7ZvxO1dVhL0pDTleRO34FQlO5MNe_cwgU,96
270
291
  dodal/testing/setup.py,sha256=8cQnrzE5MQD4Etf0eqMarmtr-opsUOMQww-k1V7DzIQ,2442
271
292
  dodal/testing/electron_analyser/__init__.py,sha256=-lc1opD2dCv0x678-J-ApOhHtvEvcslfOQ7E613U8-Y,118
272
293
  dodal/testing/electron_analyser/device_factory.py,sha256=tkMY6fW3iI02DTD1XXHi4lH6sjo8RHHZBGDHSuTdmNU,2243
273
- dls_dodal-1.59.1.dist-info/METADATA,sha256=vhekTYIeuSt8iSv0nmyRJljih2oZyHJ8mE1vJiKFuoU,16974
274
- dls_dodal-1.59.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
275
- dls_dodal-1.59.1.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
276
- dls_dodal-1.59.1.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
277
- dls_dodal-1.59.1.dist-info/RECORD,,
294
+ dls_dodal-1.61.0.dist-info/METADATA,sha256=CzbkDC58MYPwQdjxT6ArCdVqQWB9qWGQSHRUC8iWB7A,16941
295
+ dls_dodal-1.61.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
296
+ dls_dodal-1.61.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
297
+ dls_dodal-1.61.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
298
+ dls_dodal-1.61.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.59.1'
32
- __version_tuple__ = version_tuple = (1, 59, 1)
31
+ __version__ = version = '1.61.0'
32
+ __version_tuple__ = version_tuple = (1, 61, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -13,6 +13,7 @@ _BEAMLINE_NAME_OVERRIDES = {
13
13
  "b07-1": "b07_1",
14
14
  "i09-1": "i09_1",
15
15
  "i13-1": "i13_1",
16
+ "i15-1": "i15_1",
16
17
  "i20-1": "i20_1",
17
18
  "i19-1": "i19_1",
18
19
  "i19-2": "i19_2",
dodal/beamlines/i15.py ADDED
@@ -0,0 +1,242 @@
1
+ from ophyd_async.epics.motor import Motor
2
+
3
+ from dodal.common.beamlines.beamline_utils import device_factory
4
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
+ from dodal.devices.i15.dcm import DCM
6
+ from dodal.devices.i15.focussing_mirror import (
7
+ FocusingMirror,
8
+ FocusingMirrorHorizontal,
9
+ FocusingMirrorVertical,
10
+ FocusingMirrorWithRoll,
11
+ )
12
+ from dodal.devices.i15.jack import JackX, JackY
13
+ from dodal.devices.i15.motors import UpstreamDownstreamPair
14
+ from dodal.devices.motors import (
15
+ SixAxisGonioKappaPhi,
16
+ XYStage,
17
+ XYZPitchYawStage,
18
+ XYZStage,
19
+ )
20
+ from dodal.devices.slits import Slits, SlitsY
21
+ from dodal.devices.synchrotron import Synchrotron
22
+ from dodal.log import set_beamline as set_log_beamline
23
+ from dodal.utils import BeamlinePrefix, get_beamline_name
24
+
25
+ BL = get_beamline_name("i15") # Default used when not on a live beamline
26
+ PREFIX = BeamlinePrefix(BL)
27
+ set_log_beamline(BL) # Configure logging and util functions
28
+ set_utils_beamline(BL)
29
+
30
+ """
31
+ Define device factory functions below this point.
32
+ A device factory function is any function that has a return type which conforms
33
+ to one or more Bluesky Protocols.
34
+ """
35
+
36
+
37
+ @device_factory()
38
+ def arm() -> UpstreamDownstreamPair:
39
+ return UpstreamDownstreamPair(f"{PREFIX.beamline_prefix}-MO-LHEAT-01:ARM:")
40
+
41
+
42
+ @device_factory()
43
+ def beamstop() -> XYStage:
44
+ return XYStage(f"{PREFIX.beamline_prefix}-RS-ABSB-04:")
45
+
46
+
47
+ @device_factory()
48
+ def bs2() -> XYStage:
49
+ return XYStage(f"{PREFIX.beamline_prefix}-RS-ABSB-08:")
50
+
51
+
52
+ @device_factory()
53
+ def bs3() -> XYZStage:
54
+ return XYZStage(f"{PREFIX.beamline_prefix}-RS-ABSB-09:")
55
+
56
+
57
+ @device_factory()
58
+ def dcm() -> DCM:
59
+ return DCM(f"{PREFIX.beamline_prefix}-OP-DCM-01:")
60
+
61
+
62
+ @device_factory()
63
+ def det1z() -> Motor:
64
+ return Motor(f"{PREFIX.beamline_prefix}-MO-DIFF-01:ARM:DETECTOR:Z")
65
+
66
+
67
+ @device_factory()
68
+ def det2z() -> Motor:
69
+ """Deliberately the same as eht2dtx"""
70
+ return Motor(f"{PREFIX.beamline_prefix}-MO-TABLE-03:DETECTOR2:Z")
71
+
72
+
73
+ @device_factory()
74
+ def diffractometer() -> SixAxisGonioKappaPhi:
75
+ return SixAxisGonioKappaPhi(
76
+ prefix=f"{PREFIX.beamline_prefix}-MO-DIFF-01:SAMPLE:",
77
+ phi_infix="KPHI",
78
+ )
79
+
80
+
81
+ @device_factory()
82
+ def djack1() -> JackX:
83
+ return JackX(f"{PREFIX.beamline_prefix}-MO-DIFF-01:BASE:")
84
+
85
+
86
+ @device_factory()
87
+ def eht2dtx() -> Motor:
88
+ """Deliberately the same as det2z"""
89
+ return Motor(f"{PREFIX.beamline_prefix}-MO-TABLE-03:DETECTOR2:Z")
90
+
91
+
92
+ @device_factory()
93
+ def f2x() -> Motor:
94
+ return Motor(f"{PREFIX.beamline_prefix}-RS-ABSB-10:X")
95
+
96
+
97
+ @device_factory()
98
+ def fs() -> XYStage:
99
+ return XYStage(f"{PREFIX.beamline_prefix}-EA-SHTR-01:")
100
+
101
+
102
+ @device_factory()
103
+ def fs2() -> XYStage:
104
+ return XYStage(f"{PREFIX.beamline_prefix}-EA-SHTR-02:")
105
+
106
+
107
+ @device_factory()
108
+ def hfm() -> FocusingMirrorWithRoll:
109
+ return FocusingMirrorWithRoll(f"{PREFIX.beamline_prefix}-OP-HFM-01:")
110
+
111
+
112
+ @device_factory()
113
+ def laserboard() -> XYZStage:
114
+ return XYZStage(f"{PREFIX.beamline_prefix}-MO-LHEAT-01:")
115
+
116
+
117
+ @device_factory()
118
+ def obj() -> UpstreamDownstreamPair:
119
+ return UpstreamDownstreamPair(f"{PREFIX.beamline_prefix}-MO-LHEAT-01:OBJ:")
120
+
121
+
122
+ @device_factory()
123
+ def opticds() -> XYStage:
124
+ return XYStage(f"{PREFIX.beamline_prefix}-MO-LHEAT-01:OPTIC:DS:")
125
+
126
+
127
+ @device_factory()
128
+ def opticus() -> XYStage:
129
+ return XYStage(f"{PREFIX.beamline_prefix}-MO-LHEAT-01:OPTIC:US:")
130
+
131
+
132
+ @device_factory()
133
+ def pin3() -> XYStage:
134
+ return XYStage(f"{PREFIX.beamline_prefix}-AL-APTR-03:")
135
+
136
+
137
+ @device_factory()
138
+ def pin() -> XYZPitchYawStage:
139
+ return XYZPitchYawStage(f"{PREFIX.beamline_prefix}-AL-APTR-02:")
140
+
141
+
142
+ @device_factory()
143
+ def qbpm1() -> XYStage:
144
+ return XYStage(f"{PREFIX.beamline_prefix}-DI-QBPM-01:")
145
+
146
+
147
+ @device_factory()
148
+ def qbpm2() -> XYStage:
149
+ return XYStage(f"{PREFIX.beamline_prefix}-DI-QBPM-02:")
150
+
151
+
152
+ @device_factory()
153
+ def s1() -> Slits:
154
+ return Slits(
155
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-01:",
156
+ x_centre="X:CENTER",
157
+ y_centre="Y:CENTER",
158
+ )
159
+
160
+
161
+ @device_factory()
162
+ def s2() -> Slits:
163
+ return Slits(
164
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-02:",
165
+ x_centre="X:CENTER",
166
+ y_centre="Y:CENTER",
167
+ )
168
+
169
+
170
+ @device_factory()
171
+ def s4() -> Slits:
172
+ return Slits(
173
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-04:",
174
+ x_centre="X:CENTER",
175
+ y_centre="Y:CENTER",
176
+ )
177
+
178
+
179
+ @device_factory()
180
+ def s5() -> Slits:
181
+ return Slits(
182
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-05:",
183
+ x_centre="X:CENTER",
184
+ y_centre="Y:CENTER",
185
+ )
186
+
187
+
188
+ @device_factory()
189
+ def s6() -> SlitsY:
190
+ return SlitsY(
191
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-06:",
192
+ y_centre="Y:CENTER",
193
+ )
194
+
195
+
196
+ @device_factory()
197
+ def s7() -> Slits:
198
+ return Slits(
199
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-07:",
200
+ x_centre="X:CENTER",
201
+ y_centre="Y:CENTER",
202
+ )
203
+
204
+
205
+ @device_factory()
206
+ def shd() -> XYZStage:
207
+ return XYZStage(f"{PREFIX.beamline_prefix}-MO-SHEAD-01:")
208
+
209
+
210
+ @device_factory()
211
+ def shd2() -> XYZStage:
212
+ return XYZStage(f"{PREFIX.beamline_prefix}-MO-SHEAD-02:")
213
+
214
+
215
+ @device_factory()
216
+ def shfm() -> FocusingMirrorHorizontal:
217
+ return FocusingMirrorHorizontal(f"{PREFIX.beamline_prefix}-OP-MIRR-03:HFM:")
218
+
219
+
220
+ @device_factory()
221
+ def skb() -> JackY:
222
+ return JackY(f"{PREFIX.beamline_prefix}-OP-MIRR-03:BASE:")
223
+
224
+
225
+ @device_factory()
226
+ def svfm() -> FocusingMirrorVertical:
227
+ return FocusingMirrorVertical(f"{PREFIX.beamline_prefix}-OP-MIRR-03:VFM:")
228
+
229
+
230
+ @device_factory()
231
+ def tab2jack() -> JackX:
232
+ return JackX(f"{PREFIX.beamline_prefix}-MO-TABLE-03:BASE:")
233
+
234
+
235
+ @device_factory()
236
+ def vfm() -> FocusingMirror:
237
+ return FocusingMirror(f"{PREFIX.beamline_prefix}-OP-VFM-01:")
238
+
239
+
240
+ @device_factory()
241
+ def synchrotron() -> Synchrotron:
242
+ return Synchrotron()
@@ -0,0 +1,156 @@
1
+ from ophyd_async.epics.motor import Motor
2
+
3
+ from dodal.common.beamlines.beamline_utils import device_factory
4
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
+ from dodal.devices.i15.laue import LaueMonochrometer
6
+ from dodal.devices.i15.motors import NumberedTripleAxisStage
7
+ from dodal.devices.i15.multilayer_mirror import MultiLayerMirror
8
+ from dodal.devices.i15.rail import Rail
9
+ from dodal.devices.motors import XYPhiStage, XYStage, YZStage
10
+ from dodal.devices.slits import Slits
11
+ from dodal.devices.synchrotron import Synchrotron
12
+ from dodal.log import set_beamline as set_log_beamline
13
+ from dodal.utils import BeamlinePrefix, get_beamline_name
14
+
15
+ BL = get_beamline_name("i15-1") # Default used when not on a live beamline
16
+ PREFIX = BeamlinePrefix(BL, suffix="J")
17
+ set_log_beamline(BL) # Configure logging and util functions
18
+ set_utils_beamline(BL)
19
+
20
+ """
21
+ Define device factory functions below this point.
22
+ A device factory function is any function that has a return type which conforms
23
+ to one or more Bluesky Protocols.
24
+ """
25
+
26
+
27
+ @device_factory()
28
+ def attY() -> NumberedTripleAxisStage:
29
+ return NumberedTripleAxisStage(
30
+ f"{PREFIX.beamline_prefix}-OP-ATTN-01:",
31
+ axis1_infix="STICK1",
32
+ axis2_infix="STICK2",
33
+ axis3_infix="STICK3",
34
+ )
35
+
36
+
37
+ @device_factory()
38
+ def baseY() -> Motor:
39
+ return Motor(f"{PREFIX.beamline_prefix}-MO-TABLE-01:Y")
40
+
41
+
42
+ @device_factory()
43
+ def blowerY() -> Motor:
44
+ """Same motor as blowerZ"""
45
+ return Motor(f"{PREFIX.beamline_prefix}-EA-BLOWR-01:TLATE")
46
+
47
+
48
+ @device_factory()
49
+ def blowerZ() -> Motor:
50
+ """Same motor as blowerY"""
51
+ return Motor(f"{PREFIX.beamline_prefix}-EA-BLOWR-01:TLATE")
52
+
53
+
54
+ @device_factory()
55
+ def bs2() -> XYStage:
56
+ return XYStage(f"{PREFIX.beamline_prefix}-MO-SMAR-02:")
57
+
58
+
59
+ @device_factory()
60
+ def clean() -> XYStage:
61
+ return XYStage(f"{PREFIX.beamline_prefix}-MO-ABSB-01:CLEAN:")
62
+
63
+
64
+ @device_factory()
65
+ def det2() -> YZStage:
66
+ return YZStage(f"{PREFIX.beamline_prefix}-EA-DET-02:")
67
+
68
+
69
+ @device_factory()
70
+ def envX() -> Motor:
71
+ return Motor(f"{PREFIX.beamline_prefix}-MO-TABLE-01:ENV:X")
72
+
73
+
74
+ @device_factory()
75
+ def f2y() -> Motor:
76
+ return Motor(f"{PREFIX.beamline_prefix}-OP-ATTN-02:Y")
77
+
78
+
79
+ @device_factory()
80
+ def m1() -> MultiLayerMirror:
81
+ return MultiLayerMirror(f"{PREFIX.beamline_prefix}-OP-MIRR-01:")
82
+
83
+
84
+ @device_factory()
85
+ def rail() -> Rail:
86
+ return Rail(f"{PREFIX.beamline_prefix}-MO-RAIL-01:")
87
+
88
+
89
+ @device_factory(skip=True)
90
+ def sam() -> XYPhiStage:
91
+ return XYPhiStage(f"{PREFIX.beamline_prefix}-MO-TABLE-01:SAMPLE:", phi_infix="PHI2")
92
+
93
+
94
+ @device_factory()
95
+ def slits_1() -> Slits:
96
+ return Slits(
97
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-01:",
98
+ x_centre="X:CENTER",
99
+ y_centre="Y:CENTER",
100
+ )
101
+
102
+
103
+ @device_factory()
104
+ def slits_2() -> Slits:
105
+ return Slits(
106
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-02:",
107
+ x_centre="X:CENTER",
108
+ y_centre="Y:CENTER",
109
+ )
110
+
111
+
112
+ @device_factory()
113
+ def slits_3() -> Slits:
114
+ return Slits(
115
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-03:",
116
+ x_centre="X:CENTER",
117
+ y_centre="Y:CENTER",
118
+ )
119
+
120
+
121
+ @device_factory()
122
+ def slits_4() -> Slits:
123
+ return Slits(
124
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-04:",
125
+ x_centre="X:CENTER",
126
+ y_centre="Y:CENTER",
127
+ )
128
+
129
+
130
+ @device_factory()
131
+ def slits_5() -> Slits:
132
+ return Slits(
133
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-05:",
134
+ x_centre="X:CENTER",
135
+ y_centre="Y:CENTER",
136
+ )
137
+
138
+
139
+ @device_factory()
140
+ def synchrotron() -> Synchrotron:
141
+ return Synchrotron()
142
+
143
+
144
+ @device_factory()
145
+ def tth() -> Motor:
146
+ return Motor(f"{PREFIX.beamline_prefix}-MO-TABLE-01:TTH")
147
+
148
+
149
+ @device_factory()
150
+ def trans() -> XYPhiStage:
151
+ return XYPhiStage(prefix=f"{PREFIX.beamline_prefix}-MO-TABLE-01:TRANS:")
152
+
153
+
154
+ @device_factory()
155
+ def xtal() -> LaueMonochrometer:
156
+ return LaueMonochrometer(prefix=f"{PREFIX.beamline_prefix}-OP-LAUE-01:")