dls-dodal 1.63.0__py3-none-any.whl → 1.65.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 (47) hide show
  1. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.0.dist-info}/METADATA +3 -3
  2. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.0.dist-info}/RECORD +47 -39
  3. dodal/_version.py +2 -2
  4. dodal/beamline_specific_utils/i05_shared.py +6 -3
  5. dodal/beamlines/b01_1.py +1 -1
  6. dodal/beamlines/b07.py +6 -3
  7. dodal/beamlines/b07_1.py +6 -3
  8. dodal/beamlines/i03.py +9 -1
  9. dodal/beamlines/i05.py +2 -2
  10. dodal/beamlines/i05_1.py +2 -2
  11. dodal/beamlines/i07.py +21 -0
  12. dodal/beamlines/i09.py +4 -4
  13. dodal/beamlines/i09_1.py +7 -1
  14. dodal/beamlines/i09_2.py +36 -3
  15. dodal/beamlines/i10_optics.py +53 -27
  16. dodal/beamlines/i17.py +21 -11
  17. dodal/beamlines/i19_2.py +22 -0
  18. dodal/beamlines/i21.py +34 -4
  19. dodal/beamlines/i22.py +0 -17
  20. dodal/beamlines/k07.py +6 -3
  21. dodal/cli.py +3 -3
  22. dodal/devices/apple2_undulator.py +19 -17
  23. dodal/devices/b07_1/ccmc.py +1 -1
  24. dodal/devices/common_dcm.py +3 -3
  25. dodal/devices/cryostream.py +21 -0
  26. dodal/devices/i03/undulator_dcm.py +1 -1
  27. dodal/devices/i07/__init__.py +0 -0
  28. dodal/devices/i07/dcm.py +33 -0
  29. dodal/devices/i09_1_shared/__init__.py +3 -0
  30. dodal/devices/i09_1_shared/hard_undulator_functions.py +111 -0
  31. dodal/devices/i10/i10_apple2.py +4 -4
  32. dodal/devices/i15/dcm.py +1 -1
  33. dodal/devices/i22/dcm.py +1 -1
  34. dodal/devices/i22/nxsas.py +5 -24
  35. dodal/devices/pgm.py +1 -1
  36. dodal/devices/scintillator.py +4 -0
  37. dodal/devices/undulator.py +29 -1
  38. dodal/devices/util/lookup_tables.py +8 -2
  39. dodal/plan_stubs/__init__.py +3 -0
  40. dodal/plans/verify_undulator_gap.py +2 -2
  41. dodal/testing/fixtures/__init__.py +0 -0
  42. dodal/testing/fixtures/run_engine.py +118 -0
  43. dodal/testing/fixtures/utils.py +57 -0
  44. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.0.dist-info}/WHEEL +0 -0
  45. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.0.dist-info}/entry_points.txt +0 -0
  46. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.0.dist-info}/licenses/LICENSE +0 -0
  47. {dls_dodal-1.63.0.dist-info → dls_dodal-1.65.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.63.0
3
+ Version: 1.65.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
@@ -215,7 +215,7 @@ 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[ca,pva]>=0.13.2
218
+ Requires-Dist: ophyd-async[ca,pva]>=0.13.5
219
219
  Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
221
  Requires-Dist: dataclasses-json
@@ -245,7 +245,7 @@ Requires-Dist: pipdeptree; extra == "dev"
245
245
  Requires-Dist: pre-commit; extra == "dev"
246
246
  Requires-Dist: psutil; extra == "dev"
247
247
  Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
248
- Requires-Dist: pyright; extra == "dev"
248
+ Requires-Dist: pyright==1.1.406; extra == "dev"
249
249
  Requires-Dist: pytest; extra == "dev"
250
250
  Requires-Dist: pytest-asyncio; extra == "dev"
251
251
  Requires-Dist: pytest-cov; extra == "dev"
@@ -1,50 +1,51 @@
1
- dls_dodal-1.63.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1
+ dls_dodal-1.65.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=Tsj3Gv5EK3mUIrqNTysAbLuokwxjHkq88TyXB8FbM30,706
5
- dodal/cli.py,sha256=HzGJEnFzAPRiCTLVXu8R2PP4q2C-kbPsGDbcid9oEMU,4184
4
+ dodal/_version.py,sha256=BccwgLylnQRVOHPFdKWSU7c5OGz6lYaQYHyXYycgMuM,706
5
+ dodal/cli.py,sha256=NJopu78ebawAL3qNSvOoxMpyzcejVRCh9qw2lRpEJZw,4199
6
6
  dodal/log.py,sha256=UckmmyY_SdZePyi5lHnjh-DVw6qvnat3ANa_5-y80Og,9877
7
7
  dodal/utils.py,sha256=abGitd4FLpLnmckF7lUqOKYUL88r5Ex_NGSVgO4gOf4,19305
8
8
  dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  dodal/beamline_specific_utils/i03.py,sha256=P6Ls4FoVtcacH0RJM3v6ZwwGx27oMppcBdW0la-ohTY,377
10
- dodal/beamline_specific_utils/i05_shared.py,sha256=EsgNlOPq9iRbKv7FinR__gCEwp1S2DRclJdklmBpaxo,336
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
13
  dodal/beamlines/adsim.py,sha256=1ciucMo1oNYeKarIeBbqlQjZrVN2viyNrDz8dHw5QxY,2153
14
14
  dodal/beamlines/aithre.py,sha256=IoRO5szytOtdkLLEtwYwLl4TLhMllyG6l9A2G1r7Yic,994
15
- dodal/beamlines/b01_1.py,sha256=c82X3HXysBK0s2_JxJkEg1HPXBNewP_OR_DXBU4izzc,2829
16
- dodal/beamlines/b07.py,sha256=xmnAJf8pnOfMwqRo16AVaF6Pf79_St5TJ-0Ll1gXM08,1336
17
- dodal/beamlines/b07_1.py,sha256=nayXnkEGt2fgPt0GX665QJNbQcI9FiCsyEuDR2QNO18,1543
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
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
21
  dodal/beamlines/i02_1.py,sha256=SwRm9v1U6CiT0fwLbSTECbJ6OF1BPEx4TJ0cEReuGZA,4017
22
22
  dodal/beamlines/i02_2.py,sha256=Jkghwv1Y5i0VUR2NZZ7hoiK9Ii8O-rIECDoKLX9AKi0,1169
23
- dodal/beamlines/i03.py,sha256=-CkU60NXyXVjTjDqwkSWugu6MbG4r8mkwF6ax7WVP-I,16561
23
+ dodal/beamlines/i03.py,sha256=D1bY46sBYAAqLzSVRZyn-n-yVgo1TcNeMNrYViHLm5Q,16883
24
24
  dodal/beamlines/i04.py,sha256=QyprATHFxnw_cP2gak1i2_ywj-i26vrGlvOYM6RmyTY,13758
25
- dodal/beamlines/i05.py,sha256=v4QKd8-neh4Og205oovm6NDRnAU6Oktu1WrxalXsI40,656
26
- dodal/beamlines/i05_1.py,sha256=R6JFFg8Bj-Izw355mx3mOd4IDvJb5ipB4p7_S0I_4Z0,670
27
- dodal/beamlines/i09.py,sha256=VYr-cPmaSoLs0dkuP9jDBtiP-lunuggQVpIEziJG9ZM,1839
28
- dodal/beamlines/i09_1.py,sha256=5GLvhiaSmbHOvAx4pyuE82Y4seizz9hIAC9tReGKWho,1521
29
- dodal/beamlines/i09_2.py,sha256=lyYO1rOaIsXNuVOL39Psh-8jQjkhQBXEQMpbXa-Zcw0,713
25
+ dodal/beamlines/i05.py,sha256=n7khcNIrXlUkRJeBr3HDckZxu1_IzhF3f17ZV3GoyrA,700
26
+ dodal/beamlines/i05_1.py,sha256=bzaDqR2doZnoN-dk_oPwWqSGJaVZTDnNtx0wMzGSTp8,714
27
+ dodal/beamlines/i07.py,sha256=So3qlieBwLufsy-yei-Fj4zLKPhm6swUN3aHDQQWzpM,634
28
+ dodal/beamlines/i09.py,sha256=vRwfF3I3H6PzeJ87_ZzIT0wEwu0iIOS05BwZhbnGBiI,1905
29
+ dodal/beamlines/i09_1.py,sha256=eeJZ59QX8rYI0vZdMc9WuugUxJ7abkHAuhh9EvpJPTo,1671
30
+ dodal/beamlines/i09_2.py,sha256=wYNo_KRx6JvyZVkHATPSFx4t0X-BevheFeD8DI8M-00,1447
30
31
  dodal/beamlines/i10.py,sha256=LC0ii13rVyZj1ziatBAyRoyuutdyyTCkpSvICGv4IGY,4059
31
32
  dodal/beamlines/i10_1.py,sha256=FxnWjr1u55XgIvnuyTfknnj-xPMNJOAtxObq1y9k518,1062
32
- dodal/beamlines/i10_optics.py,sha256=5g7Xx_NwVshy-KiJ8fyDH6e69Q9I2Wlk9AuUvCgcQGU,5508
33
+ dodal/beamlines/i10_optics.py,sha256=AtsN9KncGC7osoahMwojjDoWGhEPYCNrqqO1TiT8ghE,5954
33
34
  dodal/beamlines/i11.py,sha256=hzW5Lh74zDzUD0vqXQzekoFVWDp8qEIc0OPRm0Qepqs,3643
34
35
  dodal/beamlines/i13_1.py,sha256=VYVqMN8-njy7YSI08gskRccT-K2paRC9edAx0ah-Cwo,1602
35
36
  dodal/beamlines/i15.py,sha256=lmUhh1jt5CtD4P_BzkwNufu814aT3uaQlLyDMY_B5AE,5725
36
37
  dodal/beamlines/i15_1.py,sha256=EKg6BCr3wpHxdmG23kSTZYcNnGQxZbkzzulBLwz_Kew,3903
37
- dodal/beamlines/i17.py,sha256=A3flivdYV-XH5mjTab5t9gp9YKUY-2C9Bk2cpgYxh2o,2361
38
+ dodal/beamlines/i17.py,sha256=t6CmuNeWkIDZSvIH-QlHEhEX7S9Pi8U93dyCxg2e8B4,2553
38
39
  dodal/beamlines/i18.py,sha256=JAGk4Z1Q0fFHIClWDGGQSKcIhZZ14oKF6gyCC-Xspe0,3741
39
40
  dodal/beamlines/i19_1.py,sha256=4-jU-JiF1J_aunoMW5GsHXE-R2l1xaXxmPH_89_D3IM,3093
40
- dodal/beamlines/i19_2.py,sha256=8dehUVBjOe_jHBP_il-RZpMc8hZsPWHx9aE_zYCRJ4s,3630
41
+ dodal/beamlines/i19_2.py,sha256=k4WA6xTkUHKVO_lx7ftm7H4s8g8RD7d5X7jTTr9j5Ec,4142
41
42
  dodal/beamlines/i19_optics.py,sha256=fNdAFRJYFA045l4giGI3V68qijDFE1C8gdvD6fncAio,1181
42
43
  dodal/beamlines/i20_1.py,sha256=Zsr1lsH7ySbOgK7RhMVMWzNWZAV-fuYW0iAjSEJZicY,2625
43
- dodal/beamlines/i21.py,sha256=5v6iiTlY4kWlWvQ_uNidJSotvkdNF3qdjR49l7sIYPc,728
44
- dodal/beamlines/i22.py,sha256=3WYXequNzEkGIMEFgnI5axIYTH_kNcENVmoTj1mvyyI,8426
44
+ dodal/beamlines/i21.py,sha256=hrxGVYwSlKGwMq4FSzbNOZu3RVnyykocNOjRN9fzKCA,1411
45
+ dodal/beamlines/i22.py,sha256=lsqLmQQnv5JoR5G6YWMXt87y0UhEN9FtQK3_WOGj0so,7731
45
46
  dodal/beamlines/i23.py,sha256=ZXvPEiMA4mPbRTXOxvL1NcoVWDg4Deyl8k57cveDg90,3060
46
47
  dodal/beamlines/i24.py,sha256=0ZjJCUYIUWIQTPrXFqKviiTCZiyuJh4MkmqMYd9JZ9o,7454
47
- dodal/beamlines/k07.py,sha256=ri5WoOdnVA9O1ZoDnIznxX_si5KxUBDkX0XYPWTaE_w,916
48
+ dodal/beamlines/k07.py,sha256=jELF4ENfSsPumbFieZDQKP-fDKFeGfox7guhdxJqmD8,1005
48
49
  dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
49
50
  dodal/beamlines/p38.py,sha256=lxFGzmQhth0JhOFbTrZd9LEbUgvKmQdMtiHDW6UJgDs,5763
50
51
  dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
@@ -70,14 +71,14 @@ dodal/common/beamlines/device_helpers.py,sha256=8sasAIFRDwo6ElHqLrXnpj_v7xcEg-29
70
71
  dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
72
  dodal/devices/aperture.py,sha256=S7AoIoQg_kFxaQk7HUMijbm1kYkOEi2csbdj76kp1ys,427
72
73
  dodal/devices/aperturescatterguard.py,sha256=V3RFNq5BFeFPRK9ZEi4w2zEDpopkKvqBsdjY59PrIg0,13988
73
- dodal/devices/apple2_undulator.py,sha256=WFjoKFOMxi7XHcMLpwGET1ernWQm0dzrqXMdHqEikeY,25876
74
+ dodal/devices/apple2_undulator.py,sha256=zwSbioULT7R8D2wfpcq08nkI9ljqVgBG0-0h1sFT2EA,25952
74
75
  dodal/devices/backlight.py,sha256=y40kR6N3qSFVLRaGU8CjJJpwv_hq2QALf_85fLQqras,1415
75
76
  dodal/devices/baton.py,sha256=315I_0V73_DYYVT0PBs0luVy4CMqdPo0kLvHBi12MIU,606
76
77
  dodal/devices/bimorph_mirror.py,sha256=OGe6aCczG0gVco4OvIRLJVxn2kw5F2QG1e06uqhFLTw,4609
77
78
  dodal/devices/collimation_table.py,sha256=64HunSPJH-L2gZdfIj_RYdOlOuwRFEfMHfLHzu4BAKI,1681
78
- dodal/devices/common_dcm.py,sha256=dQAWsCIbXynTbVByH4g4j4JO7NFLNP1XWUsMr0fho7E,5288
79
+ dodal/devices/common_dcm.py,sha256=BmvwnT5mbCmSQI8aGl3GKEfpe7N1axUANEyG-NYgC98,5288
79
80
  dodal/devices/controllers.py,sha256=W_Ras1c6xLjcOMKPSHN8Z1eCUCH-ktaah2hzQXyuFLk,652
80
- dodal/devices/cryostream.py,sha256=2FxCGioEZNMHItsGm_rsnkRnHjwMUIwRMAX_x8odKIw,4678
81
+ dodal/devices/cryostream.py,sha256=7alOd8bsiQ8ZufWijKiaAU9HUA19XzxfKNoIrPFGH34,5358
81
82
  dodal/devices/diamond_filter.py,sha256=hySd7HnLdplpPNvBrLddLjO_3LqgD8-99Zr__Sy_GbI,689
82
83
  dodal/devices/eiger.py,sha256=ZKaRXF-YnYWuMW94BIg-gmdKW7JKmtMUvehF3S5XaLY,16670
83
84
  dodal/devices/eiger_odin.py,sha256=1JoqPppTp99IZCiFOXJZB3h62xXRYKZINxTYXdLnT8c,7480
@@ -92,13 +93,13 @@ dodal/devices/ipin.py,sha256=eq5jlKw7WGQi8VLrAWpaAIsZmfiVf-5Q0td_B22H6A4,473
92
93
  dodal/devices/linkam3.py,sha256=Lkw7c05XyHEEA83djfVFqz_8HN4kROCRqZwLwvHwRdA,2054
93
94
  dodal/devices/motors.py,sha256=3exQwYqTCQsCmtBvv_H5T_Dd5KJXF4__afnR33vTNB0,7741
94
95
  dodal/devices/p45.py,sha256=CImflt7ifaOkV20Uip3S8_fde_GlIIhD16y-54ODfHE,1390
95
- dodal/devices/pgm.py,sha256=M4AfjnqIxm0-OVckYWTcisr4VTvyAw1amLooqgtKT2c,1160
96
+ dodal/devices/pgm.py,sha256=grNtQHWP6oSbhmEd12loe9cAFnOn2A7rBlgjwnvH8z8,1182
96
97
  dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
97
98
  dodal/devices/pressure_jump_cell.py,sha256=YGmllfBya7MryLg3EXS0pzBJDRs_TlgDFxt8TzAwKJQ,8734
98
99
  dodal/devices/qbpm.py,sha256=FfrWWAHHtYv3fGRT1qljyPpAwoHJYfbooT9CfKg-oXI,465
99
100
  dodal/devices/robot.py,sha256=Tmr_gXvmL-RgKg7arS4zITkgyY6Ma2irQMhGqHYsc3Y,6998
100
101
  dodal/devices/s4_slit_gaps.py,sha256=4KdarIQoRqX4ry3LUS1Km7fkjUFahA0VuTd2DvYEqQ8,446
101
- dodal/devices/scintillator.py,sha256=JresF8SY_-t1raibzR4f0UoMXnFi-Abh3ywGm2DjhKs,3003
102
+ dodal/devices/scintillator.py,sha256=mzDgpZtnG5ve14TxUuxYKEzk0_SCU9U2BhTqmApK68M,3253
102
103
  dodal/devices/slits.py,sha256=IJtipn1N5B7pH64frWcF2TFK8mTFwSYXpGt_FMGl68w,1537
103
104
  dodal/devices/smargon.py,sha256=m3wkiyGVrFw1HSnIcV2JPvuWkflSdii-1eZxoePxSkg,5025
104
105
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
@@ -106,7 +107,7 @@ dodal/devices/synchrotron.py,sha256=OHBrTrm4K39XE8BrE9b_Jn_ZfMRyDp9CHCwvmiV-KOc,
106
107
  dodal/devices/tetramm.py,sha256=QrS7gXB5BVkHHSqCJxYnAg2bbqnHTg0e4UZNpF9g0gE,10461
107
108
  dodal/devices/thawer.py,sha256=Mh__Rx5XWuT7pcMF-QRWtjQuR38r4q9PrIzXMu4Nz8M,1917
108
109
  dodal/devices/turbo_slit.py,sha256=xhcnhfbdcTYSYozogw6Li4fF4ofoPsc350rEyrRdaNE,1460
109
- dodal/devices/undulator.py,sha256=SsgYvIEQUNs_zZiUPAzlw0yJPaSExdmBFltlq5ypbc8,5530
110
+ dodal/devices/undulator.py,sha256=_sGayfWnkkz5fBTeM-ZToy8rDwt9zvIMyEKvqsBbtEM,6411
110
111
  dodal/devices/v2f.py,sha256=d9f4w5tLxK0S8vrgD85_9W52oEE0uPf912UvLhEWxDM,1248
111
112
  dodal/devices/watsonmarlow323_pump.py,sha256=xNwjoxW3NJIDkeDWHfb0A8Yj95_KKRXMD9AghvX-WLk,1337
112
113
  dodal/devices/webcam.py,sha256=UAx2KF0mKi6I-mJJUb5z56MHY-Wd89-tqyPcFbouQFg,2491
@@ -125,7 +126,7 @@ dodal/devices/attenuator/filter_selections.py,sha256=r0TsT3Cylx0wQiBoCsU0Kk8eOup
125
126
  dodal/devices/b07/__init__.py,sha256=Zw4VkH-68MLoDveswDpR-lTlzK1-IeNz2W4qtkCO3Hs,109
126
127
  dodal/devices/b07/enums.py,sha256=GmS6YZEbFH2wEwS1Ni4VNG-2wT98v7NnCzbHqFKo5Pg,1415
127
128
  dodal/devices/b07_1/__init__.py,sha256=yInDRarid492g7unaL8zIrWSNpRXhgsj8z7TRTRJfjI,281
128
- dodal/devices/b07_1/ccmc.py,sha256=ZjbOjJN3Ckbkp4ZZLE48-j9CGXcfidujgdrSROr6TQM,2554
129
+ dodal/devices/b07_1/ccmc.py,sha256=SyxfR8Sd8C7Bx2q0cvItdxP2DOP-ZhbMuAfSvBrbSio,2554
129
130
  dodal/devices/b07_1/enums.py,sha256=TREiXDSAGFRXR3iUkKADYfm-CmhLmlpGHKZUOQ2Z1as,723
130
131
  dodal/devices/b16/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
132
  dodal/devices/b16/detector.py,sha256=saI2aFBhT0oTisam5b1mlaMJTRwGT7bHbqPGBP7SDnk,840
@@ -168,20 +169,24 @@ dodal/devices/i02_1/sample_motors.py,sha256=fAHAyeuP4hjOnYsp2x5VQNrTh8Di35ezJV1s
168
169
  dodal/devices/i02_2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
170
  dodal/devices/i03/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
170
171
  dodal/devices/i03/dcm.py,sha256=qK9qcPCedjOVMvKZ0TZaWNeyt7CJRsC-Wpjy44OQf4E,2336
171
- dodal/devices/i03/undulator_dcm.py,sha256=L7dr1QcwJ1SiQWkHm0a4yQVJFtPiAJQyDLEXok64Ab8,2857
172
+ dodal/devices/i03/undulator_dcm.py,sha256=HyeqOdq7qA7bqxw5giY4XvX3SLTOMwzbEKdTc5FQXzQ,2857
172
173
  dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
173
174
  dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
174
175
  dodal/devices/i04/murko_results.py,sha256=6VtYDm0HXIBSyd-_v2O1G_6C1D-5fQ45FKMlNMDW--Y,9682
175
176
  dodal/devices/i04/transfocator.py,sha256=sVI4Bgv-2-DH4-F1nIXMp5Aktevrm3agZnCA-WgjmW8,3780
176
177
  dodal/devices/i05/__init__.py,sha256=v0Axsf-vMyLyxcbqS8lljJc0BQ5Tw8yVBTWcO3tG_4g,67
177
178
  dodal/devices/i05/enums.py,sha256=9FHBIexkSfZSTHxUnGupravfG9sVriHcrB15jemkQOQ,191
179
+ dodal/devices/i07/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ dodal/devices/i07/dcm.py,sha256=AJpBiLX6t_mAjGKw9LmjXIFG5IIe5Ploe5LxS-ZckT8,1250
178
181
  dodal/devices/i09/__init__.py,sha256=5AGY_SKtqrU7NeEbzu9ROazPD_C1fEci1LJfdcuz2VY,135
179
182
  dodal/devices/i09/enums.py,sha256=Rfs6OgEHSSxcH2UiVmlR_5wLwxDmcHonXds0UDVRfCc,551
180
183
  dodal/devices/i09_1/__init__.py,sha256=dTazun87AkMDXh7J8gIZYJxJth0XUs72qahJ-VvhRBI,72
181
184
  dodal/devices/i09_1/enums.py,sha256=FwhsvKnEcm9M22U4gcAJi6FE2RaUBZH0jRjNgJUKRqc,1319
185
+ dodal/devices/i09_1_shared/__init__.py,sha256=rHFCmNUYbca82BQ9lbcSvINFkwncUDxZciqa286-6is,137
186
+ dodal/devices/i09_1_shared/hard_undulator_functions.py,sha256=U5-xzejtseZZs9NbT_J-tDOOP_4OR1tWaGvttzmQeZc,4018
182
187
  dodal/devices/i10/__init__.py,sha256=Pa7gI_ulcPO3dN2xpw6tBN1E3CpV3Lj82kmGwIVU7TA,575
183
188
  dodal/devices/i10/diagnostics.py,sha256=ULSHpaRPVWcP-HgKAJW2rsdPoYZs_MgF6HJoPj39MwU,6339
184
- dodal/devices/i10/i10_apple2.py,sha256=iJSxqbTgZREkRyXShssaMaBSfQg0dUlPtQJa6iRPGFg,15953
189
+ dodal/devices/i10/i10_apple2.py,sha256=K2Xq6t5gxsvhYx85tWv43nDnnSdPBqsadaeXLn6TOA4,15970
185
190
  dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
186
191
  dodal/devices/i10/mirrors.py,sha256=Zofd0g2f3YvFi_KIHQE_w4dFZNglhmh--65tRnWLuyY,504
187
192
  dodal/devices/i10/slits.py,sha256=pBstXJnA6j3ftDqei0EZyAPU--M_heqo6hm2DEOqPdc,5040
@@ -199,7 +204,7 @@ dodal/devices/i13_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
199
204
  dodal/devices/i13_1/merlin.py,sha256=mgTFSMJftRzLL-HXAUuJkOYxtyA3Rp8YX0L46JCb30Y,1019
200
205
  dodal/devices/i13_1/merlin_controller.py,sha256=myfmByOEXyMrlJZfsjOxDHeGQVwZGfsRtzrfSy2001o,1495
201
206
  dodal/devices/i15/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
- dodal/devices/i15/dcm.py,sha256=NvDj0zne1MFISy8xfyx3-oPT0eKVlaAn7gBrG5YfLo4,1337
207
+ dodal/devices/i15/dcm.py,sha256=S9kZaImMUUYDDycP_a7qJWE6UzU1JUq2kcbH_-jmuZU,1337
203
208
  dodal/devices/i15/focussing_mirror.py,sha256=E6T_c7M2osgHLa7u8eUfQJlXlJbZHtOp95FhP3qZ4gY,1739
204
209
  dodal/devices/i15/jack.py,sha256=VafCNx-uqkIy0LxbBAhSm_tuC8_SbGCrnTbvQCExAzA,962
205
210
  dodal/devices/i15/laue.py,sha256=H0nLPH8gqJejBZtZeY0lv84EaE2lqdL3CmXvT9iHhpk,496
@@ -225,9 +230,9 @@ dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
225
230
  dodal/devices/i21/__init__.py,sha256=1H0Ov9s8K7nu6e20WtQDH39wgSKWz2ChRVAUzytIyzQ,67
226
231
  dodal/devices/i21/enums.py,sha256=asy90S84fBBydYwz89jNeocz04JXpbHn8ynaPzW353c,141
227
232
  dodal/devices/i22/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
- dodal/devices/i22/dcm.py,sha256=PfDFJOQ2K3KXS2vFnTcLlwxSbsnsOVhnYbkpD-LcsAc,4551
233
+ dodal/devices/i22/dcm.py,sha256=abs6U6DOUO8_g2adpynfoc9lQYbLC3tgObSwI9AhKZg,4551
229
234
  dodal/devices/i22/fswitch.py,sha256=kpgegs4Wv_weBSzbrlXLXqXOOZdzTn3X9k5PlEN5F6c,2881
230
- dodal/devices/i22/nxsas.py,sha256=M6hhiPmHO4WDBsFoSOhKAG_yPF6vTpLRPbB2UW3-aMs,6122
235
+ dodal/devices/i22/nxsas.py,sha256=rQsNZOkgw3P3mHA4NNeGz-ikjhN6WTvlWOaLLPKPfFM,5481
231
236
  dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
237
  dodal/devices/i24/aperture.py,sha256=dlH_g7OPTBc5QRMd-ADU3_GDTKh668kkMHo4k_JxUcY,770
233
238
  dodal/devices/i24/beam_center.py,sha256=nQyOif6JtlU_qP7kZP-8wN1ldW81MIbFUykPC1bEm70,446
@@ -267,7 +272,7 @@ dodal/devices/temperture_controller/lakeshore/lakeshore_io.py,sha256=OSvJv-vtWIo
267
272
  dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
273
  dodal/devices/util/adjuster_plans.py,sha256=c40PFZpXFw0YmJLh9jU4VIb8vRxHyafZlmvprTKAOhM,824
269
274
  dodal/devices/util/epics_util.py,sha256=4useFL8ngsVF08fhOn48BlnO4oh0T4sEKqjdS6mjvG0,4687
270
- dodal/devices/util/lookup_tables.py,sha256=jH9f_D8JbTSqzL-RKHUWOORLt8lEoNQL3o9HpXE98TY,3476
275
+ dodal/devices/util/lookup_tables.py,sha256=8rip4fQI3YaYNcnUPiWF5Bhq9UXJSxFFfqJaFU4a_LU,3706
271
276
  dodal/devices/xspress3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
272
277
  dodal/devices/xspress3/xspress3.py,sha256=OerapEy-IuK7EFz13B5z0BzBmESVl6pYUlqAWHIwJck,4555
273
278
  dodal/devices/xspress3/xspress3_channel.py,sha256=w8tAx2lz5kJ_LeJ_eb_4o--Dtt8MRijsYNgDG6oEIVg,1626
@@ -281,7 +286,7 @@ dodal/devices/zocalo/zocalo_interaction.py,sha256=GFukU9xqagQtVSDg5BrL23jxl1w8wj
281
286
  dodal/devices/zocalo/zocalo_results.py,sha256=czYNpOurzBJBfl4OS0Uxpjpp09QFDtJprXyBctqPu2c,12659
282
287
  dodal/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
288
  dodal/parameters/experiment_parameter_base.py,sha256=vONep-llSqhM0OpVj3zFUxdnzRQpu9y9mPhh2HauEJE,226
284
- dodal/plan_stubs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
+ dodal/plan_stubs/__init__.py,sha256=HbaQ9K1pSznrmDecSRIhClLWercMRuO9G7GoFvtZ6lY,168
285
290
  dodal/plan_stubs/check_topup.py,sha256=3gyLHfHNQBCgEWuAg4QE-ONx7y2Do1vVv5HP8ss0Z1I,5371
286
291
  dodal/plan_stubs/data_session.py,sha256=Syc6XKaN1usf7bNWOez8_vAH3byrcROqskmBrSUWa4Y,2132
287
292
  dodal/plan_stubs/motor_utils.py,sha256=smYhhkSfDHQrq_UPa7Szhhyx_HlwnP_1srG0JkiDwnY,4478
@@ -291,7 +296,7 @@ dodal/plans/bimorph.py,sha256=JxDmZDiEvZnz5f22tlaoyivpnaNGiX8kSL82qz5uvMM,11738
291
296
  dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=mzvno7ikEQkVfY1-vlrINxga2sOYAprRaf1LtySCfCk,6186
292
297
  dodal/plans/save_panda.py,sha256=X-zR5GysBPp3M7ZpEYEqCUSc4nJYzHJBA44e52uQ6F4,3099
293
298
  dodal/plans/scanspec.py,sha256=Q0AcvTKRT401iGMRDSqK-D523UX5_ofiVMZ_rNXKOx8,2074
294
- dodal/plans/verify_undulator_gap.py,sha256=o6TcV4GtJ6HLl0ufxKbnWjwrfBzpFdWhEpHraSwC0ZQ,614
299
+ dodal/plans/verify_undulator_gap.py,sha256=0YlkAPKH7A2auHbdhoxA9Bo50nGQ2xbNumDrAa6gjtg,628
295
300
  dodal/plans/wrapped.py,sha256=BPMw__RcWvk9v5XnhMsi9_k4KsDEbmXogzD2n1ecbUg,2098
296
301
  dodal/plans/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
302
  dodal/plans/preprocessors/verify_undulator_gap.py,sha256=cBZEGq8TW1jrXFXB00iClQVXSEaE_jP_rHMY9WTgYyY,1813
@@ -299,8 +304,11 @@ dodal/testing/__init__.py,sha256=AUYZKAvVOs7ZvxO1dVhL0pDTleRO34FQlO5MNe_cwgU,96
299
304
  dodal/testing/setup.py,sha256=8cQnrzE5MQD4Etf0eqMarmtr-opsUOMQww-k1V7DzIQ,2442
300
305
  dodal/testing/electron_analyser/__init__.py,sha256=-lc1opD2dCv0x678-J-ApOhHtvEvcslfOQ7E613U8-Y,118
301
306
  dodal/testing/electron_analyser/device_factory.py,sha256=tkMY6fW3iI02DTD1XXHi4lH6sjo8RHHZBGDHSuTdmNU,2243
302
- dls_dodal-1.63.0.dist-info/METADATA,sha256=nCJBYDZcn5fcAK4UligXdmoOEGp4_wTHMN2CI4oRlfw,16941
303
- dls_dodal-1.63.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
304
- dls_dodal-1.63.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
305
- dls_dodal-1.63.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
306
- dls_dodal-1.63.0.dist-info/RECORD,,
307
+ dodal/testing/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
308
+ dodal/testing/fixtures/run_engine.py,sha256=L77Sy6k142X2pWDReSygUymrS7PngBH6xR45EFYl_l4,4042
309
+ dodal/testing/fixtures/utils.py,sha256=jy3mfAAn_TFQ7gqCec-OiOlZkaNLUH3TESW2oohvNgo,1861
310
+ dls_dodal-1.65.0.dist-info/METADATA,sha256=qx14nm7jd31hPeMxk4m3Dn95dNqZK4hSB-sdUfao6i4,16950
311
+ dls_dodal-1.65.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
312
+ dls_dodal-1.65.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
313
+ dls_dodal-1.65.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
314
+ dls_dodal-1.65.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.63.0'
32
- __version_tuple__ = version_tuple = (1, 63, 0)
31
+ __version__ = version = '1.65.0'
32
+ __version_tuple__ = version_tuple = (1, 65, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1,11 +1,14 @@
1
1
  from dodal.common.beamlines.beamline_utils import device_factory
2
2
  from dodal.devices.i05.enums import Grating
3
- from dodal.devices.pgm import PGM
3
+ from dodal.devices.pgm import PlaneGratingMonochromator
4
4
  from dodal.utils import BeamlinePrefix
5
5
 
6
6
  PREFIX = BeamlinePrefix("i05", "I")
7
7
 
8
8
 
9
9
  @device_factory()
10
- def pgm() -> PGM:
11
- return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
10
+ def pgm() -> PlaneGratingMonochromator:
11
+ return PlaneGratingMonochromator(
12
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
13
+ grating=Grating,
14
+ )
dodal/beamlines/b01_1.py CHANGED
@@ -37,7 +37,7 @@ def panda() -> HDFPanda:
37
37
  HDFPanda: The HDF5-based detector trigger device.
38
38
  """
39
39
  return HDFPanda(
40
- f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
40
+ f"{PREFIX.beamline_prefix}-MO-PPANDA-01:",
41
41
  path_provider=get_path_provider(),
42
42
  )
43
43
 
dodal/beamlines/b07.py CHANGED
@@ -5,7 +5,7 @@ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beam
5
5
  from dodal.devices.b07 import Grating, LensMode, PsuMode
6
6
  from dodal.devices.electron_analyser import EnergySource
7
7
  from dodal.devices.electron_analyser.specs import SpecsDetector
8
- from dodal.devices.pgm import PGM
8
+ from dodal.devices.pgm import PlaneGratingMonochromator
9
9
  from dodal.devices.synchrotron import Synchrotron
10
10
  from dodal.log import set_beamline as set_log_beamline
11
11
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -22,8 +22,11 @@ def synchrotron() -> Synchrotron:
22
22
 
23
23
 
24
24
  @device_factory()
25
- def pgm() -> PGM:
26
- return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
25
+ def pgm() -> PlaneGratingMonochromator:
26
+ return PlaneGratingMonochromator(
27
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
28
+ grating=Grating,
29
+ )
27
30
 
28
31
 
29
32
  @device_factory()
dodal/beamlines/b07_1.py CHANGED
@@ -8,7 +8,7 @@ from dodal.devices.b07_1 import (
8
8
  )
9
9
  from dodal.devices.electron_analyser import EnergySource
10
10
  from dodal.devices.electron_analyser.specs import SpecsDetector
11
- from dodal.devices.pgm import PGM
11
+ from dodal.devices.pgm import PlaneGratingMonochromator
12
12
  from dodal.devices.synchrotron import Synchrotron
13
13
  from dodal.log import set_beamline as set_log_beamline
14
14
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -25,8 +25,11 @@ def synchrotron() -> Synchrotron:
25
25
 
26
26
 
27
27
  @device_factory()
28
- def pgm() -> PGM:
29
- return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
28
+ def pgm() -> PlaneGratingMonochromator:
29
+ return PlaneGratingMonochromator(
30
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
31
+ grating=Grating,
32
+ )
30
33
 
31
34
 
32
35
  # Connect will work again after this work completed
dodal/beamlines/i03.py CHANGED
@@ -21,7 +21,7 @@ from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
21
21
  from dodal.devices.backlight import Backlight
22
22
  from dodal.devices.baton import Baton
23
23
  from dodal.devices.collimation_table import CollimationTable
24
- from dodal.devices.cryostream import CryoStream
24
+ from dodal.devices.cryostream import CryoStream, CryoStreamGantry
25
25
  from dodal.devices.detector.detector_motion import DetectorMotion
26
26
  from dodal.devices.diamond_filter import DiamondFilter, I03Filters
27
27
  from dodal.devices.eiger import EigerDetector
@@ -396,6 +396,14 @@ def cryostream() -> CryoStream:
396
396
  return CryoStream(PREFIX.beamline_prefix)
397
397
 
398
398
 
399
+ @device_factory()
400
+ def cryostream_gantry() -> CryoStreamGantry:
401
+ """Get the i03 cryostream gantry device, instantiate it if it hasn't already been.
402
+ If this is called when already instantiated in i03, it will return the existing object.
403
+ """
404
+ return CryoStreamGantry(PREFIX.beamline_prefix)
405
+
406
+
399
407
  @device_factory()
400
408
  def diamond_filter() -> DiamondFilter[I03Filters]:
401
409
  """Get the i03 diamond filter device, instantiate it if it hasn't already been.
dodal/beamlines/i05.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from dodal.beamline_specific_utils.i05_shared import pgm as i05_pgm
2
2
  from dodal.common.beamlines.beamline_utils import device_factory
3
3
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
4
- from dodal.devices.pgm import PGM
4
+ from dodal.devices.pgm import PlaneGratingMonochromator
5
5
  from dodal.devices.synchrotron import Synchrotron
6
6
  from dodal.log import set_beamline as set_log_beamline
7
7
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -18,5 +18,5 @@ def synchrotron() -> Synchrotron:
18
18
 
19
19
 
20
20
  @device_factory()
21
- def pgm() -> PGM:
21
+ def pgm() -> PlaneGratingMonochromator:
22
22
  return i05_pgm()
dodal/beamlines/i05_1.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from dodal.beamline_specific_utils.i05_shared import pgm as i05_pgm
2
2
  from dodal.common.beamlines.beamline_utils import device_factory
3
3
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
4
- from dodal.devices.pgm import PGM
4
+ from dodal.devices.pgm import PlaneGratingMonochromator
5
5
  from dodal.devices.synchrotron import Synchrotron
6
6
  from dodal.log import set_beamline as set_log_beamline
7
7
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -13,7 +13,7 @@ set_utils_beamline(BL)
13
13
 
14
14
 
15
15
  @device_factory()
16
- def pgm() -> PGM:
16
+ def pgm() -> PlaneGratingMonochromator:
17
17
  return i05_pgm()
18
18
 
19
19
 
dodal/beamlines/i07.py ADDED
@@ -0,0 +1,21 @@
1
+ from dodal.common.beamlines.beamline_utils import device_factory
2
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
3
+ from dodal.devices.i07.dcm import DCM
4
+ from dodal.log import set_beamline as set_log_beamline
5
+ from dodal.utils import BeamlinePrefix, get_beamline_name
6
+
7
+ BL = get_beamline_name("i07")
8
+ set_log_beamline(BL)
9
+ set_utils_beamline(BL)
10
+ PREFIX = BeamlinePrefix(BL)
11
+
12
+
13
+ @device_factory()
14
+ def dcm() -> DCM:
15
+ """Instantiate DCM using two PV bases"""
16
+ dcm = DCM(
17
+ f"{PREFIX.beamline_prefix}-MO-DCM-01:",
18
+ f"{PREFIX.beamline_prefix}-DI-DCM-01:",
19
+ "dcm",
20
+ )
21
+ return dcm
dodal/beamlines/i09.py CHANGED
@@ -10,7 +10,7 @@ from dodal.devices.common_dcm import (
10
10
  from dodal.devices.electron_analyser import DualEnergySource
11
11
  from dodal.devices.electron_analyser.vgscienta import VGScientaDetector
12
12
  from dodal.devices.i09 import Grating, LensMode, PassEnergy, PsuMode
13
- from dodal.devices.pgm import PGM
13
+ from dodal.devices.pgm import PlaneGratingMonochromator
14
14
  from dodal.devices.synchrotron import Synchrotron
15
15
  from dodal.log import set_beamline as set_log_beamline
16
16
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -27,8 +27,8 @@ def synchrotron() -> Synchrotron:
27
27
 
28
28
 
29
29
  @device_factory()
30
- def pgm() -> PGM:
31
- return PGM(
30
+ def pgm() -> PlaneGratingMonochromator:
31
+ return PlaneGratingMonochromator(
32
32
  prefix=f"{BeamlinePrefix(BL, suffix='J').beamline_prefix}-MO-PGM-01:",
33
33
  grating=Grating,
34
34
  )
@@ -43,7 +43,7 @@ def dcm() -> DoubleCrystalMonochromatorWithDSpacing:
43
43
 
44
44
  @device_factory()
45
45
  def energy_source() -> DualEnergySource:
46
- return DualEnergySource(dcm().energy_in_ev, pgm().energy.user_readback)
46
+ return DualEnergySource(dcm().energy_in_eV, pgm().energy.user_readback)
47
47
 
48
48
 
49
49
  # Connect will work again after this work completed
dodal/beamlines/i09_1.py CHANGED
@@ -11,6 +11,7 @@ from dodal.devices.electron_analyser import EnergySource
11
11
  from dodal.devices.electron_analyser.specs import SpecsDetector
12
12
  from dodal.devices.i09_1 import LensMode, PsuMode
13
13
  from dodal.devices.synchrotron import Synchrotron
14
+ from dodal.devices.undulator import UndulatorOrder
14
15
  from dodal.log import set_beamline as set_log_beamline
15
16
  from dodal.utils import BeamlinePrefix, get_beamline_name
16
17
 
@@ -34,7 +35,7 @@ def dcm() -> DoubleCrystalMonochromatorWithDSpacing:
34
35
 
35
36
  @device_factory()
36
37
  def energy_source() -> EnergySource:
37
- return EnergySource(dcm().energy_in_ev)
38
+ return EnergySource(dcm().energy_in_eV)
38
39
 
39
40
 
40
41
  # Connect will work again after this work completed
@@ -47,3 +48,8 @@ def analyser() -> SpecsDetector[LensMode, PsuMode]:
47
48
  psu_mode_type=PsuMode,
48
49
  energy_source=energy_source(),
49
50
  )
51
+
52
+
53
+ @device_factory()
54
+ def harmonics() -> UndulatorOrder:
55
+ return UndulatorOrder(name="harmonics")
dodal/beamlines/i09_2.py CHANGED
@@ -2,8 +2,13 @@ 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.apple2_undulator import (
6
+ Apple2,
7
+ UndulatorGap,
8
+ UndulatorPhaseAxes,
9
+ )
5
10
  from dodal.devices.i09.enums import Grating
6
- from dodal.devices.pgm import PGM
11
+ from dodal.devices.pgm import PlaneGratingMonochromator
7
12
  from dodal.devices.synchrotron import Synchrotron
8
13
  from dodal.log import set_beamline as set_log_beamline
9
14
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -20,5 +25,33 @@ def synchrotron() -> Synchrotron:
20
25
 
21
26
 
22
27
  @device_factory()
23
- def pgm() -> PGM:
24
- return PGM(prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:", grating=Grating)
28
+ def pgm() -> PlaneGratingMonochromator:
29
+ return PlaneGratingMonochromator(
30
+ prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:",
31
+ grating=Grating,
32
+ )
33
+
34
+
35
+ @device_factory()
36
+ def jid_gap() -> UndulatorGap:
37
+ return UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:")
38
+
39
+
40
+ @device_factory()
41
+ def jid_phase() -> UndulatorPhaseAxes:
42
+ return UndulatorPhaseAxes(
43
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
44
+ top_outer="PUO",
45
+ top_inner="PUI",
46
+ btm_inner="PLI",
47
+ btm_outer="PLO",
48
+ )
49
+
50
+
51
+ @device_factory()
52
+ def jid() -> Apple2:
53
+ """I09 soft x-ray insertion device."""
54
+ return Apple2(
55
+ id_gap=jid_gap(),
56
+ id_phase=jid_phase(),
57
+ )
@@ -32,7 +32,7 @@ from dodal.devices.i10.i10_apple2 import (
32
32
 
33
33
  # Imports taken from i10 while we work out how to deal with split end stations
34
34
  from dodal.devices.i10.i10_setting_data import I10Grating
35
- from dodal.devices.pgm import PGM
35
+ from dodal.devices.pgm import PlaneGratingMonochromator
36
36
  from dodal.devices.synchrotron import Synchrotron
37
37
  from dodal.log import set_beamline as set_log_beamline
38
38
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -59,9 +59,9 @@ def first_mirror() -> PiezoMirror:
59
59
 
60
60
 
61
61
  @device_factory()
62
- def pgm() -> PGM:
62
+ def pgm() -> PlaneGratingMonochromator:
63
63
  "I10 Plane Grating Monochromator, it can change energy via pgm.energy.set(<energy>)"
64
- return PGM(
64
+ return PlaneGratingMonochromator(
65
65
  prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
66
66
  grating=I10Grating,
67
67
  grating_pv="NLINES2",
@@ -80,22 +80,35 @@ I10_CONF_CLIENT = ConfigServer(url="https://daq-config.diamond.ac.uk")
80
80
  LOOK_UPTABLE_DIR = "/dls_sw/i10/software/gda/workspace_git/gda-diamond.git/configurations/i10-shared/lookupTables/"
81
81
 
82
82
 
83
+ @device_factory()
84
+ def idd_gap() -> UndulatorGap:
85
+ return UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:")
86
+
87
+
88
+ @device_factory()
89
+ def idd_phase() -> UndulatorPhaseAxes:
90
+ return UndulatorPhaseAxes(
91
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
92
+ top_outer="RPQ1",
93
+ top_inner="RPQ2",
94
+ btm_inner="RPQ3",
95
+ btm_outer="RPQ4",
96
+ )
97
+
98
+
99
+ @device_factory()
100
+ def idd_jaw_phase() -> UndulatorJawPhase:
101
+ return UndulatorJawPhase(
102
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
103
+ move_pv="RPQ1",
104
+ )
105
+
106
+
83
107
  @device_factory()
84
108
  def idd() -> I10Apple2:
85
109
  """i10 downstream insertion device:"""
86
110
  return I10Apple2(
87
- id_gap=UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:"),
88
- id_phase=UndulatorPhaseAxes(
89
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
90
- top_outer="RPQ1",
91
- top_inner="RPQ2",
92
- btm_inner="RPQ3",
93
- btm_outer="RPQ4",
94
- ),
95
- id_jaw_phase=UndulatorJawPhase(
96
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
97
- move_pv="RPQ1",
98
- ),
111
+ id_gap=idd_gap(), id_phase=idd_phase(), id_jaw_phase=idd_jaw_phase()
99
112
  )
100
113
 
101
114
 
@@ -131,22 +144,35 @@ def energy_dd() -> BeamEnergy:
131
144
  return BeamEnergy(id_energy=idd_energy(), mono=pgm().energy)
132
145
 
133
146
 
147
+ @device_factory()
148
+ def idu_gap() -> UndulatorGap:
149
+ return UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:")
150
+
151
+
152
+ @device_factory()
153
+ def idu_phase() -> UndulatorPhaseAxes:
154
+ return UndulatorPhaseAxes(
155
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
156
+ top_outer="RPQ1",
157
+ top_inner="RPQ2",
158
+ btm_inner="RPQ3",
159
+ btm_outer="RPQ4",
160
+ )
161
+
162
+
163
+ @device_factory()
164
+ def idu_jaw_phase() -> UndulatorJawPhase:
165
+ return UndulatorJawPhase(
166
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
167
+ move_pv="RPQ1",
168
+ )
169
+
170
+
134
171
  @device_factory()
135
172
  def idu() -> I10Apple2:
136
173
  """i10 upstream insertion device"""
137
174
  return I10Apple2(
138
- id_gap=UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:"),
139
- id_phase=UndulatorPhaseAxes(
140
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
141
- top_outer="RPQ1",
142
- top_inner="RPQ2",
143
- btm_inner="RPQ3",
144
- btm_outer="RPQ4",
145
- ),
146
- id_jaw_phase=UndulatorJawPhase(
147
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
148
- move_pv="RPQ1",
149
- ),
175
+ id_gap=idu_gap(), id_phase=idu_phase(), id_jaw_phase=idu_jaw_phase()
150
176
  )
151
177
 
152
178