dls-dodal 1.50.0__py3-none-any.whl → 1.51.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 (70) hide show
  1. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.0.dist-info}/METADATA +3 -4
  2. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.0.dist-info}/RECORD +63 -59
  3. dodal/_version.py +2 -2
  4. dodal/beamlines/adsim.py +5 -3
  5. dodal/beamlines/b01_1.py +41 -5
  6. dodal/beamlines/b07.py +11 -1
  7. dodal/beamlines/b07_1.py +11 -1
  8. dodal/beamlines/b16.py +8 -4
  9. dodal/beamlines/b21.py +148 -0
  10. dodal/beamlines/i03.py +6 -11
  11. dodal/beamlines/i04.py +5 -5
  12. dodal/beamlines/i09.py +22 -1
  13. dodal/beamlines/i09_1.py +9 -1
  14. dodal/beamlines/i09_2.py +24 -0
  15. dodal/beamlines/i10.py +5 -6
  16. dodal/beamlines/i13_1.py +5 -5
  17. dodal/beamlines/i18.py +5 -6
  18. dodal/beamlines/i22.py +7 -1
  19. dodal/beamlines/i24.py +3 -3
  20. dodal/beamlines/p45.py +4 -3
  21. dodal/beamlines/p60.py +18 -1
  22. dodal/beamlines/p99.py +5 -5
  23. dodal/beamlines/training_rig.py +3 -3
  24. dodal/common/beamlines/beamline_utils.py +5 -2
  25. dodal/devices/aithre_lasershaping/goniometer.py +4 -5
  26. dodal/devices/aperture.py +4 -7
  27. dodal/devices/aperturescatterguard.py +2 -2
  28. dodal/devices/b07/__init__.py +3 -0
  29. dodal/devices/b07/grating.py +9 -0
  30. dodal/devices/b07_1/__init__.py +3 -0
  31. dodal/devices/b07_1/grating.py +10 -0
  32. dodal/devices/detector/detector_motion.py +19 -17
  33. dodal/devices/electron_analyser/abstract/base_driver_io.py +24 -25
  34. dodal/devices/electron_analyser/detector.py +3 -13
  35. dodal/devices/electron_analyser/specs/detector.py +9 -3
  36. dodal/devices/electron_analyser/specs/driver_io.py +5 -2
  37. dodal/devices/electron_analyser/vgscienta/detector.py +9 -3
  38. dodal/devices/electron_analyser/vgscienta/driver_io.py +5 -6
  39. dodal/devices/electron_analyser/vgscienta/region.py +0 -1
  40. dodal/devices/fast_grid_scan.py +1 -2
  41. dodal/devices/i04/constants.py +1 -1
  42. dodal/devices/i09/__init__.py +4 -0
  43. dodal/devices/i09/dcm.py +26 -0
  44. dodal/devices/i09/grating.py +7 -0
  45. dodal/devices/i10/mirrors.py +4 -6
  46. dodal/devices/i10/rasor/rasor_motors.py +0 -14
  47. dodal/devices/i19/beamstop.py +3 -7
  48. dodal/devices/i24/aperture.py +4 -6
  49. dodal/devices/i24/beamstop.py +5 -8
  50. dodal/devices/i24/pmac.py +4 -8
  51. dodal/devices/motors.py +92 -35
  52. dodal/devices/p45.py +0 -12
  53. dodal/devices/p60/__init__.py +3 -0
  54. dodal/devices/p60/lab_xray_source.py +21 -0
  55. dodal/devices/pgm.py +1 -1
  56. dodal/devices/robot.py +11 -7
  57. dodal/devices/smargon.py +8 -9
  58. dodal/devices/zocalo/zocalo_results.py +27 -78
  59. dodal/plans/configure_arm_trigger_and_disarm_detector.py +7 -5
  60. dodal/devices/adsim.py +0 -13
  61. dodal/devices/i18/table.py +0 -14
  62. dodal/devices/i18/thor_labs_stage.py +0 -12
  63. dodal/devices/i24/i24_detector_motion.py +0 -12
  64. dodal/devices/scatterguard.py +0 -11
  65. dodal/devices/training_rig/__init__.py +0 -0
  66. dodal/devices/training_rig/sample_stage.py +0 -10
  67. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.0.dist-info}/WHEEL +0 -0
  68. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.0.dist-info}/entry_points.txt +0 -0
  69. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.0.dist-info}/licenses/LICENSE +0 -0
  70. {dls_dodal-1.50.0.dist-info → dls_dodal-1.51.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.50.0
3
+ Version: 1.51.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
@@ -208,10 +208,9 @@ License: Apache License
208
208
  Project-URL: GitHub, https://github.com/DiamondLightSource/dodal
209
209
  Classifier: Development Status :: 3 - Alpha
210
210
  Classifier: License :: OSI Approved :: Apache Software License
211
- Classifier: Programming Language :: Python :: 3.10
212
211
  Classifier: Programming Language :: Python :: 3.11
213
212
  Classifier: Programming Language :: Python :: 3.12
214
- Requires-Python: >=3.10
213
+ Requires-Python: >=3.11
215
214
  Description-Content-Type: text/markdown
216
215
  License-File: LICENSE
217
216
  Requires-Dist: click
@@ -232,9 +231,9 @@ Requires-Dist: numpy
232
231
  Requires-Dist: aiofiles
233
232
  Requires-Dist: aiohttp
234
233
  Requires-Dist: redis
235
- Requires-Dist: deepdiff
236
234
  Requires-Dist: scanspec>=0.7.3
237
235
  Requires-Dist: event-model>=1.23
236
+ Requires-Dist: pyzmq==26.3.0
238
237
  Provides-Extra: dev
239
238
  Requires-Dist: black; extra == "dev"
240
239
  Requires-Dist: diff-cover; extra == "dev"
@@ -1,7 +1,7 @@
1
- dls_dodal-1.50.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1
+ dls_dodal-1.51.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=EDlHUWODqx60XSwjWm_Ktz1n2BnxgiT-qk2UvfHj1II,513
4
+ dodal/_version.py,sha256=bIKVhfeJkgHBQ02QO68CDP3rWX1qe-o1xnMH5rP7lM0,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,34 +9,36 @@ 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=uOmFYZIGyput93XHk9R5ydZdxnTrS_wA2zSEm62UCVU,1930
12
+ dodal/beamlines/adsim.py,sha256=1RfxzvLkMWCoRnpFQNxnlvoWWGthuJvfHu-IsXv3GeE,1986
13
13
  dodal/beamlines/aithre.py,sha256=QpNIT9RVtlyamJoshAa87Cw5U0QfBNwMBcZVvMlD25s,1037
14
- dodal/beamlines/b01_1.py,sha256=SdjnpssxlpdTwE1D2fuXUsf9WmvUsyg-MSp3DONXyQU,2008
15
- dodal/beamlines/b07.py,sha256=Fxsn9YDKySnE3zZgtpD8-LSb4IzWlb5xd6sLTCRrvFU,740
16
- dodal/beamlines/b07_1.py,sha256=nY5fMUDoxn91OG2miVh5cXNQDH8o881yMW9RfZMRlnQ,742
17
- dodal/beamlines/b16.py,sha256=0MF-wKfogDkZ6wo0DiqCUor0cNG6cYvMdcYr88KuRdY,1690
14
+ dodal/beamlines/b01_1.py,sha256=ru5a2FJar2rUdA2PDEXpQ1fRZwyzEd5Uf76J5qZMVhY,2922
15
+ dodal/beamlines/b07.py,sha256=rD0tczn94eDpuSdDTUWP1KQvTPi6Vtk6rGMIOC6ObV0,994
16
+ dodal/beamlines/b07_1.py,sha256=soR_nF5aBbL0-WtYSoGVpEZcql7pH9vHKYycmVItu2U,998
17
+ dodal/beamlines/b16.py,sha256=36VibkYciQL-K2G4PsDPVp2r460GTQlQPbSJ5vzLUVo,1724
18
18
  dodal/beamlines/b18.py,sha256=ryxrGtcCdwoFgZ8ljWYgr1g9gKvoA7nxkARVxl1IE78,1189
19
+ dodal/beamlines/b21.py,sha256=hpPDPrRlgI3AAsZ2voymGynLlI8G4Oj0r0MOfaoQceM,4244
19
20
  dodal/beamlines/i02_1.py,sha256=d2IyqFMgeaSEyZYm7GMSjTKr7_02SakyC_oARx-XwnY,1204
20
- dodal/beamlines/i03.py,sha256=jLiqH3R_TK2sHsI1zCZ91cYcATEtG28-5lMUcsQTXhU,15594
21
- dodal/beamlines/i04.py,sha256=_ogXHZZbJVNoMIOKLZe_8TbLP3vC4wss5lqqmzctR40,13723
22
- dodal/beamlines/i09.py,sha256=cr75vG65pgyWkEYdpcdpuuqAhN_tkmBiBqJn76lQN3k,744
23
- dodal/beamlines/i09_1.py,sha256=UbBn1q4L8BZXjZ1rUZQImwO0zkIYqGd5T8FptlFFMyw,742
24
- dodal/beamlines/i10.py,sha256=wg-yKw_a2hK_Tx7rym2Rq7oo8GlluoSQK77HcZNohPY,5716
25
- dodal/beamlines/i13_1.py,sha256=RF8AXBqVKPY7rVf4j1gOxcURAToYVk-Yo9t4FWyaphU,1650
26
- dodal/beamlines/i18.py,sha256=CbzdLHXcIhLl1T-GmXmnNOhwHojl8V3d3ikxVoCqXII,3657
21
+ dodal/beamlines/i03.py,sha256=OYftBHUkKYUpcrs0KzzSkpjBI4gaA4YmMungixLkemA,15481
22
+ dodal/beamlines/i04.py,sha256=ceL-GCalkKivPkrpZ0lBe4-khhrutodRlMacvemNrIw,13698
23
+ dodal/beamlines/i09.py,sha256=NBdolMK26rkrM6nO1a9DydYCk_-MlfSzt40fRxzPvjY,1229
24
+ dodal/beamlines/i09_1.py,sha256=6k2aQysaXm3VPHE79vhqJDbnUxii_L3oLbEBZ0wHwNA,920
25
+ dodal/beamlines/i09_2.py,sha256=Bi7ty8dOTTQ_va_EsEbj7QUwlPgsUoXvL1VleaS4se8,721
26
+ dodal/beamlines/i10.py,sha256=0rSWOlIihkDtq7ZZaJ5O2jkMBrteRYjl4Hhqe8EP1Yc,5697
27
+ dodal/beamlines/i13_1.py,sha256=7GzkEM1wT5pKsAPNSVd6tSnCBEE-FSOEBQrP-pCpU10,1625
28
+ dodal/beamlines/i18.py,sha256=FuU8G-q1piu6BRou-Shj3BQEbNtsF7CUsSIqqkvCKZc,3615
27
29
  dodal/beamlines/i19_1.py,sha256=RsHXje1S2OLwuPnaqkRva02aAIq5Ya1FvPbHEQKo0Uc,2925
28
30
  dodal/beamlines/i19_2.py,sha256=zairZIPj1mrs9-dG19CjdMEFeqztGmlyeBmIxj7Kl5I,2329
29
31
  dodal/beamlines/i19_optics.py,sha256=RztOdru0lvPXpaIXSUfzSsPVIuwAMKZsEA8vJFU4_Mk,1184
30
32
  dodal/beamlines/i20_1.py,sha256=Xp6XXofjXh3Yibrg5wSHet-pXikprJ9oprEhJg19OkI,1825
31
- dodal/beamlines/i22.py,sha256=GAS1KgRrtpdXhYb7tIO3yHHMRcffxOqcSIaCZyexnDk,7595
33
+ dodal/beamlines/i22.py,sha256=GMJiZRdtqxHZJVKVo3JNdRPmqcKnNjQj-kO6JPKDMHw,7759
32
34
  dodal/beamlines/i23.py,sha256=pf3KmzLZYDVqUB4LkLcNJk6z9H4qkFpTdVB8_0MYehs,3066
33
- dodal/beamlines/i24.py,sha256=D83MIeoyC-tzd5QcR0yiLUyzraAyBTObx7VnP5-okSk,7158
35
+ dodal/beamlines/i24.py,sha256=bDrszseW490WiReHkXIdsDj8m_HqMberHjDKuhEXQjk,7120
34
36
  dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
35
37
  dodal/beamlines/p38.py,sha256=bka6zsZfFiBAD-rrLSmIIVAOAw0FvupSkhOHGEG77xo,5708
36
- dodal/beamlines/p45.py,sha256=2snO895TGwf4LbNIvg4BkvAGSfvZcevdpv_82MRpXKo,2129
37
- dodal/beamlines/p60.py,sha256=IJQdemlEkvVMYcyqp2WkyEwPAQrjor33b52wrfEVDIs,615
38
- dodal/beamlines/p99.py,sha256=hzKgFnJnsCPnVBQ9mAiWUOztLQXnlT5019k3qiMLqr8,2317
39
- dodal/beamlines/training_rig.py,sha256=TzJnKAfL8Nn5nxCyyt9D9-71YnrvmS8oyGavI_N-iv4,1954
38
+ dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
39
+ dodal/beamlines/p60.py,sha256=KepKbrgMwwRRdIUmcgKgGtWaaZ-4Zp4_kdzH4zZW6E8,1086
40
+ dodal/beamlines/p99.py,sha256=8AaUZPlqhwzgKHYMD2wT8x-8KNFwB9seuSwla59jlQE,2292
41
+ dodal/beamlines/training_rig.py,sha256=0HeZYy4LkI1yU8joz40f241owLGB26CeCk7s8TW98zw,1902
40
42
  dodal/common/__init__.py,sha256=ZC4ICKUDB0BDxRaVy8nmqclVmDBne-dPtk6UJsoFq6I,258
41
43
  dodal/common/coordination.py,sha256=OxIjDiO1-9A9KESRPFtzwkvvQlavbgA5RHemlbubBPg,1168
42
44
  dodal/common/crystal_metadata.py,sha256=XGr-X81G9SZvPx5b4nBCH4FOnywyX_zYVy6zwDxIMVM,1926
@@ -47,13 +49,12 @@ dodal/common/udc_directory_provider.py,sha256=v5OBaCUwjtQZAsRQUw6LlVL58UvwwDO1l2
47
49
  dodal/common/visit.py,sha256=BLpr3GrP7Ij95V135hRJLgg7gWtBKXVxyOibWtcO8RE,5782
48
50
  dodal/common/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
51
  dodal/common/beamlines/beamline_parameters.py,sha256=H9d4fLwVist7G-KdKYcv9D28E0tkhPtGPfiJ4V_5iHI,2721
50
- dodal/common/beamlines/beamline_utils.py,sha256=uy-HWchyUwoIqYYUWAd4BOPPoDzqvvtgkWQGzuKStTg,5061
52
+ dodal/common/beamlines/beamline_utils.py,sha256=te1f4vOu3-E3U_Ynghn9qIS7R6Ob3NJq_AL_Bssg2KY,5162
51
53
  dodal/common/beamlines/device_helpers.py,sha256=V0hdBegQZ0ZILTT00tFFA8nNOOFta3tBMH3fsF1ZsBg,1024
52
54
  dodal/devices/CTAB.py,sha256=5_261Ox6NG2cJIzzwnjWz289BG0nZoE0wKOaI5V5jqM,1998
53
55
  dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- dodal/devices/adsim.py,sha256=vCexraF4zLssHdjfPod-XuQGJE_sWoCttFdx__HDS8w,488
55
- dodal/devices/aperture.py,sha256=yyw2ei3gM_lmZWDQ6VTbydB58RCDTen_nqBZyoTP2IM,583
56
- dodal/devices/aperturescatterguard.py,sha256=i2hLNyf5_7UOuySdkjckb9RWMZrGcZkOF7cfDUj4V-E,12216
56
+ dodal/devices/aperture.py,sha256=S7AoIoQg_kFxaQk7HUMijbm1kYkOEi2csbdj76kp1ys,427
57
+ dodal/devices/aperturescatterguard.py,sha256=Ohp0eZNANHj-YlNE_42IJtWCKazzgGIooTT5AIyI77k,12200
57
58
  dodal/devices/apple2_undulator.py,sha256=PlgSpeCYfAMDYwOLx06Vzk_Iz_VGPwht1JbbwHjVyFQ,26291
58
59
  dodal/devices/backlight.py,sha256=RcgeA1hE3Z_5jA-jH8S8uLMpBfZjenRLz1lx6HTYeAo,1653
59
60
  dodal/devices/baton.py,sha256=BnakfZxx3cIIX6Kxj8-abxn8Z9LaQODhcPbStbD0as4,485
@@ -63,25 +64,24 @@ dodal/devices/cryostream.py,sha256=K-ldpredpeDTzNt4qtQMg99nKJNjBYoXBbK0WJGexzw,6
63
64
  dodal/devices/diamond_filter.py,sha256=hySd7HnLdplpPNvBrLddLjO_3LqgD8-99Zr__Sy_GbI,689
64
65
  dodal/devices/eiger.py,sha256=pQmklNX9kVCT5DE0WhRd5bAsNNKEo_vfPZG-ZunW67Q,15836
65
66
  dodal/devices/eiger_odin.py,sha256=ytUH_18YuM1nJDhplS6OTdtADloYvHpO6ppENjVd4jU,7411
66
- dodal/devices/fast_grid_scan.py,sha256=NfP746FfuHW-SWs7c7-O9oocWyVjBpu89WW7kaanlLM,11914
67
+ dodal/devices/fast_grid_scan.py,sha256=UpAvlEncAG_toJi6p9iFggmLGeY7PZNfzt6WZiDo51Q,11891
67
68
  dodal/devices/fluorescence_detector_motion.py,sha256=-1qCSvW0PdT0m6BcoLxrtc0OJ5UDIBsEe11EOLr-gFw,501
68
69
  dodal/devices/flux.py,sha256=1CDsq9yU2-ho8MfYBl50Tl9ABZwpUBHnV486PQXKNoQ,462
69
70
  dodal/devices/focusing_mirror.py,sha256=vdUPkwyCAZBSR3LQ-EojDOoxVy1ZmOaD_nevETbj7BA,6592
70
71
  dodal/devices/hutch_shutter.py,sha256=iY3qWxDr8mDlAvN_BYe2gqpXRM1hlfV3ewdwkwh0_v0,3889
71
72
  dodal/devices/ipin.py,sha256=eq5jlKw7WGQi8VLrAWpaAIsZmfiVf-5Q0td_B22H6A4,473
72
73
  dodal/devices/linkam3.py,sha256=2sf-_heIsDg4qmqae-w9C2Py8pG8bPB3mT0TFPQIzd0,3869
73
- dodal/devices/motors.py,sha256=WSNPt9Pi7f-16yDtzAHApLOlUh1Y0aqnFICJIy2zOEs,1671
74
- dodal/devices/p45.py,sha256=hoBPpnj3b-njKqmhjAUFb79AyM4qFbWC9tuN6Aa47Rk,1703
75
- dodal/devices/pgm.py,sha256=am-AST9iTqma1PkGOKLozqAokZWbJUbM3TNcqXzB-6A,1132
74
+ dodal/devices/motors.py,sha256=-gNBsKQHqlYCEeq9cNmnSTdyLLaFX-AmPwfQlmUxdQA,3356
75
+ dodal/devices/p45.py,sha256=CImflt7ifaOkV20Uip3S8_fde_GlIIhD16y-54ODfHE,1390
76
+ dodal/devices/pgm.py,sha256=92yfr3i4fC92g-HPbbUBrazGs4b9n6CjmJfKxmUrMUY,1157
76
77
  dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
77
78
  dodal/devices/pressure_jump_cell.py,sha256=h5nMNtr2PMG_AKM6nOB7qNTYT70GRuiGBwC-Ol2Yby0,10548
78
79
  dodal/devices/qbpm.py,sha256=FfrWWAHHtYv3fGRT1qljyPpAwoHJYfbooT9CfKg-oXI,465
79
- dodal/devices/robot.py,sha256=BoaWRqPeO1Q9EhJ1fnq4od0GaiBconBunzg3u5kK5n0,6859
80
+ dodal/devices/robot.py,sha256=qU_QWvtlVnV9kKbfmKPMpjKIODVy8eE-2tyJXPlBhcg,7023
80
81
  dodal/devices/s4_slit_gaps.py,sha256=4KdarIQoRqX4ry3LUS1Km7fkjUFahA0VuTd2DvYEqQ8,446
81
- dodal/devices/scatterguard.py,sha256=jx03in9QgaThWxD4t1S8_Llent2kWrn_hThJ9KkUWTk,330
82
82
  dodal/devices/scintillator.py,sha256=PlD6cnJ39PTB_e7QrRspPliLYE4kL_K7ziJURzuxgdA,365
83
83
  dodal/devices/slits.py,sha256=b_7ku2sHlzhMHTvWrwiRwee6ufrbxNX9JB_Z0lvk15o,1105
84
- dodal/devices/smargon.py,sha256=hLalJ32VDSjWQCCjFMXq4PhO17dven9RD5-9hqy8zNM,5734
84
+ dodal/devices/smargon.py,sha256=uTO01FNToL_4FL6XIcH9WxGZmQB-SP4ujkZU6ChS-3U,5823
85
85
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
86
86
  dodal/devices/synchrotron.py,sha256=wLfClZ1lYQWA_D--UsM3NnKLG8bY8mvVsRYER6ob-Ew,2026
87
87
  dodal/devices/tetramm.py,sha256=cvlXiKwrvVgYNb3Kt2b_YyRMT5-fqMoKJrOGFNNR150,8643
@@ -91,13 +91,17 @@ dodal/devices/undulator.py,sha256=ZCdMQ8PKnW7mFV1BmrprOt0aSBCZMSKAH-2yyVH5Ihk,53
91
91
  dodal/devices/watsonmarlow323_pump.py,sha256=rwU94YE6esgGLYdh-pe8nBo_3tvgp6brrrbPDrqp5_M,1406
92
92
  dodal/devices/webcam.py,sha256=mef075ynDbzZ4pNAjfxR_9tdTTqF_rM7hAOVEEOV-Do,2408
93
93
  dodal/devices/xbpm_feedback.py,sha256=j8MHhhE0feoe6R54zPKqS5EbQ0bEDR-nOpLHzHhnHHQ,1156
94
- dodal/devices/aithre_lasershaping/goniometer.py,sha256=rZXnifj4-D0Nx3vStK0s-fBijvdepL1SXlHKocV7uKI,1840
94
+ dodal/devices/aithre_lasershaping/goniometer.py,sha256=a3MMFs7ZBSa0eAEXOtlLX5uVbS99MZoDNENQdR84Rn0,1746
95
95
  dodal/devices/aithre_lasershaping/laser_robot.py,sha256=BPAHHRa9cYYSR4iv05CQEqRBjt1VKp0INSoVDg0ImRQ,763
96
96
  dodal/devices/areadetector/plugins/CAM.py,sha256=sZzJm5Ez3eWfXZi_EB67wluhZmMQm1UyOc2bJFfzd1U,964
97
97
  dodal/devices/areadetector/plugins/MJPG.py,sha256=QTsxCoWbofNpLMGPoOR2hWoM33KyntuLepbF0YmX0KE,3031
98
98
  dodal/devices/attenuator/attenuator.py,sha256=Vq9Zsyf56S5fePHGeluImTUtxdwEqttBa2YBIdU5tJU,3993
99
99
  dodal/devices/attenuator/filter.py,sha256=ZoPsTWXjllyMtKBdSIFLB7Cbc88rGof5k3ymL13VczE,422
100
100
  dodal/devices/attenuator/filter_selections.py,sha256=lcmTprCXgSggp2L6uQ6YU0xLMljXvbspAug-WWKCXks,1410
101
+ dodal/devices/b07/__init__.py,sha256=VZfYvg9YkIRC47uqQwe0OpnQT1mLoCHnaej5LIY7nXc,77
102
+ dodal/devices/b07/grating.py,sha256=AY3LZUQaNTohT93M0Qam0H1OYOkwziUUXYb2VsqXy6A,217
103
+ dodal/devices/b07_1/__init__.py,sha256=xBXYQrDNjeGDHlGjacgopo1cQX-LRcy9UfXLZik7Qls,79
104
+ dodal/devices/b07_1/grating.py,sha256=8fAvh6psQ9YQs5tdQ203KIa8pyZld3ZmfmGtTUl-P44,242
101
105
  dodal/devices/b16/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
106
  dodal/devices/b16/detector.py,sha256=nj0Xl8uleGtD_sk6tN-h7ipAtfz-e-c-DKWVwk_xXuY,1067
103
107
  dodal/devices/current_amplifiers/__init__.py,sha256=-MhT-t-GJ83rrvTDBCoWub_NKYkRtu4sEj8-y5XZBP0,782
@@ -111,51 +115,52 @@ dodal/devices/detector/det_dim_constants.py,sha256=arBWvzMwybatdSiCMAiwB4Bq1dX-w
111
115
  dodal/devices/detector/det_dist_to_beam_converter.py,sha256=nSkhiEESyuzdrWoPu6h3C05DnOhCXa6DZd-9vU5JYc0,1625
112
116
  dodal/devices/detector/det_resolution.py,sha256=aQkKp24LpRGiwzPAQM3wLVa4ANw32HdrKc2kftHfKQA,3253
113
117
  dodal/devices/detector/detector.py,sha256=DqQvlgdjIdKErrZqgM9IH7drc-r6N8nhkFk7KwlgYAk,4815
114
- dodal/devices/detector/detector_motion.py,sha256=UGDQriDWRluDZOZh1mDX9w_fPjMD-_BGe11kA36Kezs,1616
118
+ dodal/devices/detector/detector_motion.py,sha256=Y14WORa6KaUHkm3u6Y7brH_WwH9UoutThKaxiDTaSnQ,1545
115
119
  dodal/devices/electron_analyser/__init__.py,sha256=xbOqt6b0J89UkZx6PAqEjPchfY_CMb3xgX3NAMEPf6A,793
116
- dodal/devices/electron_analyser/detector.py,sha256=V_fCe54S8K0C8cZXcozRKWwqm7n9B-iXf97Y9NtKAvQ,4522
120
+ dodal/devices/electron_analyser/detector.py,sha256=0Hh6sSvBS26977oVHbUq2SeSJtjAtCcyhgJZeqVh_10,4207
117
121
  dodal/devices/electron_analyser/enums.py,sha256=2QObyZln7pvWyLgixabGGWvfs3aIF98gVSz2B4NS1OM,120
118
122
  dodal/devices/electron_analyser/types.py,sha256=k_uRDdHzx3sZQ11KB5PNTDQjxuGL91B3-l6sRuKdHHo,1026
119
123
  dodal/devices/electron_analyser/util.py,sha256=iUFvnYm-Y-0mBHR8oBLofZMKKuDhYYgGkOmvX6y1s1o,437
120
124
  dodal/devices/electron_analyser/abstract/__init__.py,sha256=OJ8rm_23azSe-MHmiyQZEUztqDnew4bRTdC2eVaiHT4,572
121
125
  dodal/devices/electron_analyser/abstract/base_detector.py,sha256=Tcx-lrqHr7dkGmOPMSVibZypefddRauQU_1cZTIwaVU,2979
122
- dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=ZGYtzxDkPIIcrZP4G2FXXJTAGL5uDKwpdAAvcM94gWU,8824
126
+ dodal/devices/electron_analyser/abstract/base_driver_io.py,sha256=L2ToXCohnDnIpB8fZQS9ILIF8lo9W4SVBVy3n3rZPgQ,8665
123
127
  dodal/devices/electron_analyser/abstract/base_region.py,sha256=KI4Nk1w9V_1p71wdqLS7IMoal54QPejghDUO4FEdWuw,3648
124
128
  dodal/devices/electron_analyser/specs/__init__.py,sha256=qN57kY6ERUGdrAWhU5m8CBrc0KaqiOGwPL6h2BNm3i0,291
125
- dodal/devices/electron_analyser/specs/detector.py,sha256=9yOmfjVE_cRPJLOLZxaeGUqV1q82YuS_oO-psWE_Wxc,528
126
- dodal/devices/electron_analyser/specs/driver_io.py,sha256=hAqy0nKCR-9HLlcgJqkXpgIJy77yWsHCtS2bQ7eFM5c,3337
129
+ dodal/devices/electron_analyser/specs/detector.py,sha256=zYu7e5Ob0f8L3cHr-hjv78q2V1_15dwWJ78523Nnrzc,664
130
+ dodal/devices/electron_analyser/specs/driver_io.py,sha256=rIBfnTXxZZGlMArUDxxo_MCr84pfXNszTZbef8WBXak,3449
127
131
  dodal/devices/electron_analyser/specs/enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
128
132
  dodal/devices/electron_analyser/specs/region.py,sha256=hBxrMUJrzOoJGInULEbAdnhBL74fFe7R6-c7nde8nPE,977
129
133
  dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=Iq0d2BBp0TJh4uG9twiiL-gJiSVI8zNUEbkg1UF5k6U,395
130
- dodal/devices/electron_analyser/vgscienta/detector.py,sha256=JdCsTXXLbIIGIYZaNDcEGD-fagz8tjil7IbJDTfak6c,618
131
- dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=NijPdgvJoTLRPSVDfO4qB7X41TflPRayZZGxfKw-V-o,2800
134
+ dodal/devices/electron_analyser/vgscienta/detector.py,sha256=3hD8dPMW6Oz76ZpRUwYSVCwGzuOw8qhaSdPF3B5Z3fE,754
135
+ dodal/devices/electron_analyser/vgscienta/driver_io.py,sha256=pThghZHEive80hqY7Gv_QBYcXv4OKOnn4M56uHSRze8,2720
132
136
  dodal/devices/electron_analyser/vgscienta/enums.py,sha256=apJZgIaE1aMQPBwIL1tQvV0WJ5trbk3j6iFmc1OqLsw,353
133
- dodal/devices/electron_analyser/vgscienta/region.py,sha256=b1_L54ZxVaiO7sDOK6IbzWVi8fxgTlPAXnT4OpMfbVY,2273
137
+ dodal/devices/electron_analyser/vgscienta/region.py,sha256=URXuHIkKQW-heejweTodoG-tM1XwWj9tPJwTWxpm-DY,2242
134
138
  dodal/devices/i03/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
135
139
  dodal/devices/i03/dcm.py,sha256=zDcgxOdMRVOQZBGDsLaIlr7o4UJIK2vehPWHxAxt6VA,2268
136
140
  dodal/devices/i03/undulator_dcm.py,sha256=c5H-17Dpt3pIMAlU9fHCnU59lYDnmgKk3qE2qR9gg44,2594
137
141
  dodal/devices/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
138
- dodal/devices/i04/constants.py,sha256=jHZe5Aeph0_hCDJotMx7Yi8v_a_6jyoI6p60AQ8GvGM,271
142
+ dodal/devices/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
139
143
  dodal/devices/i04/murko_results.py,sha256=1vVQKQdBGYAwcX22oQzWYheelIppoTQk5_git563y10,7055
140
144
  dodal/devices/i04/transfocator.py,sha256=sVI4Bgv-2-DH4-F1nIXMp5Aktevrm3agZnCA-WgjmW8,3780
145
+ dodal/devices/i09/__init__.py,sha256=dBGF2yRW78BJc03VSSjgv0SsiKVaLmO48xS9Ht_bfYA,120
146
+ dodal/devices/i09/dcm.py,sha256=u0OgfZUE-eFQc-ix7iIfXERZhymAMXHP-Eifu2xWhYA,996
147
+ dodal/devices/i09/grating.py,sha256=i17tUlgXGKc2Ynclj7N6hpmPR9wDIw8w8m95SwzkouM,153
141
148
  dodal/devices/i10/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
149
  dodal/devices/i10/diagnostics.py,sha256=5nnf1oFKtUJZa9Pewh1VxXpFecLscqTR2VakHKr_PaQ,5432
143
150
  dodal/devices/i10/i10_apple2.py,sha256=RbavLeqwmmcqAkGJw9-0AmLrWSiP91tAxwJLnXXCY-4,15271
144
151
  dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
145
- dodal/devices/i10/mirrors.py,sha256=E0M5keGI3LGaDHyXQkCCyj6xmixNY1xTSkIaaYwtnP8,794
152
+ dodal/devices/i10/mirrors.py,sha256=M9knDxs1I1bdfW96rKsFEVeyVPeB9-0HSTuEb1zsqm8,663
146
153
  dodal/devices/i10/slits.py,sha256=jI4wJPVT2vtl4bvabrU9u_v-SdGjOfDLBm0S9GMZC7w,4157
147
154
  dodal/devices/i10/rasor/rasor_current_amp.py,sha256=hImaPI3veKiS5YVfYwv-qrQ1AYNBjFVxG_MwTQqtkcc,2368
148
- dodal/devices/i10/rasor/rasor_motors.py,sha256=0w31rKDuzRL-9tGbLDj0JZljaDjfXvKHQyzMs6fc3sw,1653
155
+ dodal/devices/i10/rasor/rasor_motors.py,sha256=yWBxsiVhbdkQzhaK1S-nUq_wVntwHgdf6T8c8f7wHUE,1327
149
156
  dodal/devices/i10/rasor/rasor_scaler_cards.py,sha256=sfWJKNx6pq342PEAlmg_Yt_Tijq7mO1XFjcCDtToQiU,467
150
157
  dodal/devices/i13_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
158
  dodal/devices/i13_1/merlin.py,sha256=mgTFSMJftRzLL-HXAUuJkOYxtyA3Rp8YX0L46JCb30Y,1019
152
159
  dodal/devices/i13_1/merlin_controller.py,sha256=XkY8E3UkSzZb9Pw_Ic4bv1DYJvBVADS_3okjHvY4nH4,1453
153
160
  dodal/devices/i18/KBMirror.py,sha256=W4R3TeulSjosUqAFIIznyWzje_Y2AoEf9f8N-NkisYM,710
154
161
  dodal/devices/i18/diode.py,sha256=nk5kvn4LsbhczRpCwHOO0_jJTYOz7MP9qm_uvBWuv7c,1468
155
- dodal/devices/i18/table.py,sha256=f6OtVSqCFIpXyoHX97CPLpaVDVXUNc2EvgSFP3qVFKo,446
156
- dodal/devices/i18/thor_labs_stage.py,sha256=I9JSKY-UqTjN-yBxQWL4CycTNNkUj3vknRrXjA6KZR8,364
157
162
  dodal/devices/i19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- dodal/devices/i19/beamstop.py,sha256=aV5gjTN-LEZxd3HnbotagJBB1GMdVB8VbvFPZvIw2U4,885
163
+ dodal/devices/i19/beamstop.py,sha256=htAp2ckioFoYCcYDUBX-xm-0cC-xAmpr6W5AgRZyCFI,707
159
164
  dodal/devices/i19/blueapi_device.py,sha256=Tsl4vsREz7FM2d-kKJK-9tGrYbyKq4SLxnMlEKIM-g8,3966
160
165
  dodal/devices/i19/hutch_access.py,sha256=hnClUWCL1qTYzuBMmhXX85jiNak7mbYfyHEh54tZ27U,377
161
166
  dodal/devices/i19/shutter.py,sha256=Z3_UO3TmSczJrB8AcU5ohk8WlDN04a00XhSyDLAHvbc,1815
@@ -164,15 +169,14 @@ dodal/devices/i22/dcm.py,sha256=IbK56lSvX3PZlYKVeH7mIbRK83-mhJEIoTn1zjQfScE,4494
164
169
  dodal/devices/i22/fswitch.py,sha256=LSMoo9aDkH0SLcojbUh2NxTWIpUXHZxauTqThc3XtSk,3073
165
170
  dodal/devices/i22/nxsas.py,sha256=093GCM2H2LESt28RF-JfxEljJ8QzRPkL1ByXI2XVhoA,6012
166
171
  dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- dodal/devices/i24/aperture.py,sha256=XlnOyQsvdTom1dJHVUg8CUSthq3jlBlZFOUaa9b1eZ4,837
172
+ dodal/devices/i24/aperture.py,sha256=lSCdmGrcCF1EKSFaknbJVmHzvd1e3Az-5euC76e5C1c,735
168
173
  dodal/devices/i24/beam_center.py,sha256=m6LWsG9e_lhtPfZ8pc_hoLNyTYQQGGdRNav8J_2scTo,483
169
- dodal/devices/i24/beamstop.py,sha256=89ncXUisia1rn1Faf5iWg3k0QW6Rm99j1vq9A8l9Xv8,1221
174
+ dodal/devices/i24/beamstop.py,sha256=6tbiQLlcTlp4PCPhHJ_mlHtkv0kz5ArQ99zg9rwTnrw,1133
170
175
  dodal/devices/i24/dcm.py,sha256=9eNCGq-lpyFAftLxLxlhG_enzVmrx1nbwMxGFP_UBvU,1354
171
176
  dodal/devices/i24/dual_backlight.py,sha256=CbQ9mYUNhhozVdNXqR5ac73tEIAWT2RnEpRwXB3EFog,2049
172
177
  dodal/devices/i24/focus_mirrors.py,sha256=DYiYLpDw8FJ1LYHxLOxE_om5qGfUo2itzskgqhmQZlg,1763
173
- dodal/devices/i24/i24_detector_motion.py,sha256=_HgdsZqFYY0tKqUgMzViHaPEUFXL3WlXXioGvDehRUw,364
174
178
  dodal/devices/i24/pilatus_metadata.py,sha256=I-AR8vd67qf6p0vZnRPTv4aNPN5T4KpSt2Iog4_jvn0,1781
175
- dodal/devices/i24/pmac.py,sha256=UTcJdTyzr7DL5XanjtjIopsxEyAPn9pv2jwgh2ksWV4,7078
179
+ dodal/devices/i24/pmac.py,sha256=RFkt_jzpO7XBHbkWaep3SxwBbld8jAfRj_zI5JyzRjs,6945
176
180
  dodal/devices/i24/vgonio.py,sha256=sxSmcYZayVJPJz_D_91j9PmNor7Tbl1RGQFRrdtESlw,533
177
181
  dodal/devices/mx_phase1/beamstop.py,sha256=MeSpp4YpHgIrWCifDU7OTUaJNAMLVpcmgxTMjmOy048,3170
178
182
  dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -188,11 +192,11 @@ dodal/devices/oav/snapshots/grid_overlay.py,sha256=CdvCdTKMCiwMwxm2lV28KpcIUSXls
188
192
  dodal/devices/oav/snapshots/snapshot.py,sha256=VDHYxko97sATMKvD5wClgvN7WQUtUAjcXXSyoQAL8q8,499
189
193
  dodal/devices/oav/snapshots/snapshot_image_processing.py,sha256=wDxH9WPmB0nsotr49PUpw2Ke4l4RFxirrbpPzOUF9s4,2318
190
194
  dodal/devices/oav/snapshots/snapshot_with_grid.py,sha256=KAM7KjF0BzhGxx-MXd4Zc16IBbi1BF8S_VT8T84_2OY,2309
195
+ dodal/devices/p60/__init__.py,sha256=XsrXi-4D-zlgKzwCcrTM0UL6H51NYVn-78ETQsjcPv0,137
196
+ dodal/devices/p60/lab_xray_source.py,sha256=4rruJ4yCT8c7QFDqkd6szsrJhLGOauAOh6Y25K-Vz-E,595
191
197
  dodal/devices/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
198
  dodal/devices/p99/andor2_point.py,sha256=zBoIou7VVzs-tAq3M29XL2xYV8aYZRKPYCGKRLk7MA0,1417
193
199
  dodal/devices/p99/sample_stage.py,sha256=DvHU556Gp0wFiufZiwY3o2W4xmsCL5uSwNnhd8HPAnc,528
194
- dodal/devices/training_rig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
- dodal/devices/training_rig/sample_stage.py,sha256=jktTp837ij8wor5LidE3AajCk95L7DebJotMlO7QwTE,355
196
200
  dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
201
  dodal/devices/util/adjuster_plans.py,sha256=c40PFZpXFw0YmJLh9jU4VIb8vRxHyafZlmvprTKAOhM,824
198
202
  dodal/devices/util/epics_util.py,sha256=3_d0m7BTvN19WIKvz2XSMvoPdTdccg9Z2gOAL-52q4s,4692
@@ -207,7 +211,7 @@ dodal/devices/zebra/zebra_controlled_shutter.py,sha256=tcBq2WQxST9g2VrjVWu-tOomF
207
211
  dodal/devices/zocalo/__init__.py,sha256=P9L31CzVJjXv3TQHau5qywYGFPTyopVaHLww8MOYnzc,440
208
212
  dodal/devices/zocalo/zocalo_constants.py,sha256=vu7Xjz7UNEpBUWEEBxDvP4bVFkZIN6NLGfQDpWbCjH8,98
209
213
  dodal/devices/zocalo/zocalo_interaction.py,sha256=GFukU9xqagQtVSDg5BrL23jxl1w8wjs4b4NLLqdFfpk,3584
210
- dodal/devices/zocalo/zocalo_results.py,sha256=1OzVrO4YavOzVZfG18ccsoQAjVo9We172P1beERSD8Y,16095
214
+ dodal/devices/zocalo/zocalo_results.py,sha256=NToJUIa55VbVjH80Uipx5bFoBbOzrsSEu-DMERF89xc,13268
211
215
  dodal/parameters/experiment_parameter_base.py,sha256=O7JamfuJ5cYHkPf9tsHJPqn-OMHTAGouigvM1cDFehE,313
212
216
  dodal/plan_stubs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
217
  dodal/plan_stubs/check_topup.py,sha256=3gyLHfHNQBCgEWuAg4QE-ONx7y2Do1vVv5HP8ss0Z1I,5371
@@ -216,15 +220,15 @@ dodal/plan_stubs/motor_utils.py,sha256=Mf8utOA_xmxUa2dLmQ1uRkdfyDTip7D8YcKeCBCQL
216
220
  dodal/plan_stubs/wrapped.py,sha256=kC8HH7bx3-sLYu2oieY_502tAdT2OECF8n-fqoL5Bfc,4266
217
221
  dodal/plans/__init__.py,sha256=nH1jNxw3DzDMg9O8Uda0kqKIalRVEWBrq07OLY6Ey38,93
218
222
  dodal/plans/bimorph.py,sha256=JxDmZDiEvZnz5f22tlaoyivpnaNGiX8kSL82qz5uvMM,11738
219
- dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=pI1AkTH_5hIU56GmmrBdHMhepuDCuQz44V-O4XIaueg,5384
223
+ dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=Ndg6Tuqvu4WesTxtDlzzgeJh0BP7aWJ-TbYlforDkjM,5454
220
224
  dodal/plans/save_panda.py,sha256=1fumH7Ih8uDIv8ahAtgQ_vUuR3dz0sfUs4n9TEtEbSs,3053
221
225
  dodal/plans/scanspec.py,sha256=Q0AcvTKRT401iGMRDSqK-D523UX5_ofiVMZ_rNXKOx8,2074
222
226
  dodal/plans/verify_undulator_gap.py,sha256=OcDN09-eCoMzsmhKGxvzsH5EapG2zYz0yGCqUtQxLSc,568
223
227
  dodal/plans/wrapped.py,sha256=BPMw__RcWvk9v5XnhMsi9_k4KsDEbmXogzD2n1ecbUg,2098
224
228
  dodal/plans/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
229
  dodal/plans/preprocessors/verify_undulator_gap.py,sha256=cBZEGq8TW1jrXFXB00iClQVXSEaE_jP_rHMY9WTgYyY,1813
226
- dls_dodal-1.50.0.dist-info/METADATA,sha256=HHVwD53GPNpl389XdyNTqmiuW6uEBg1tsRZh7j8HU1g,16839
227
- dls_dodal-1.50.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
228
- dls_dodal-1.50.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
229
- dls_dodal-1.50.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
230
- dls_dodal-1.50.0.dist-info/RECORD,,
230
+ dls_dodal-1.51.0.dist-info/METADATA,sha256=1MFj5q0Et6Ayr7fvZf7Jc_baoKQzrrNQAoi_r1PhBHQ,16793
231
+ dls_dodal-1.51.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
232
+ dls_dodal-1.51.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
233
+ dls_dodal-1.51.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
234
+ dls_dodal-1.51.0.dist-info/RECORD,,
dodal/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '1.50.0'
21
- __version_tuple__ = version_tuple = (1, 50, 0)
20
+ __version__ = version = '1.51.0'
21
+ __version_tuple__ = version_tuple = (1, 51, 0)
dodal/beamlines/adsim.py CHANGED
@@ -10,7 +10,7 @@ from dodal.common.beamlines.beamline_utils import (
10
10
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
11
11
  from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
12
12
  from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
13
- from dodal.devices.adsim import SimStage
13
+ from dodal.devices.motors import XThetaStage
14
14
  from dodal.log import set_beamline as set_log_beamline
15
15
  from dodal.utils import BeamlinePrefix
16
16
 
@@ -62,8 +62,10 @@ RE(count([d], num=10))
62
62
 
63
63
 
64
64
  @device_factory()
65
- def stage() -> SimStage:
66
- return SimStage(f"{PREFIX.beamline_prefix}-MO-SIMC-01:")
65
+ def stage() -> XThetaStage:
66
+ return XThetaStage(
67
+ f"{PREFIX.beamline_prefix}-MO-SIMC-01:", x_infix="M1", theta_infix="M2"
68
+ )
67
69
 
68
70
 
69
71
  @device_factory()
dodal/beamlines/b01_1.py CHANGED
@@ -11,7 +11,7 @@ from dodal.common.beamlines.beamline_utils import (
11
11
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
12
12
  from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
13
13
  from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
14
- from dodal.devices.motors import XYZPositioner
14
+ from dodal.devices.motors import XYZStage
15
15
  from dodal.devices.synchrotron import Synchrotron
16
16
  from dodal.log import set_beamline as set_log_beamline
17
17
  from dodal.utils import BeamlinePrefix
@@ -42,8 +42,13 @@ https://argocd.diamond.ac.uk/applications?showFavorites=false&proj=&sync=&autoSy
42
42
 
43
43
  @device_factory()
44
44
  def panda() -> HDFPanda:
45
+ """Provides triggering of the detectors.
46
+
47
+ Returns:
48
+ HDFPanda: The HDF5-based detector trigger device.
49
+ """
45
50
  return HDFPanda(
46
- f"{PREFIX.beamline_prefix}-EA-PANDA-01:",
51
+ f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
47
52
  path_provider=get_path_provider(),
48
53
  )
49
54
 
@@ -54,7 +59,16 @@ def synchrotron() -> Synchrotron:
54
59
 
55
60
 
56
61
  @device_factory()
57
- def manta() -> AravisDetector:
62
+ def oav() -> AravisDetector:
63
+ """The Manta camera for the spectroscopy experiment.
64
+
65
+ Looks at the spectroscopy screen and visualises light
66
+ transmitted through the sample after it has gone through
67
+ the diffraction grating.
68
+
69
+ Returns:
70
+ AravisDetector: The spectroscopy camera device.
71
+ """
58
72
  return AravisDetector(
59
73
  f"{PREFIX.beamline_prefix}-DI-DCAM-02:",
60
74
  path_provider=get_path_provider(),
@@ -64,7 +78,29 @@ def manta() -> AravisDetector:
64
78
 
65
79
 
66
80
  @device_factory()
67
- def sample_stage() -> XYZPositioner:
68
- return XYZPositioner(
81
+ def sample_det() -> AravisDetector:
82
+ """The Mako camera for the imaging experiment.
83
+
84
+ Looks at the on-axis viewing screen.
85
+
86
+ Returns:
87
+ AravisDetector: The imaging camera device.
88
+ """
89
+ return AravisDetector(
90
+ f"{PREFIX.beamline_prefix}-DI-DCAM-01:",
91
+ path_provider=get_path_provider(),
92
+ drv_suffix=CAM_SUFFIX,
93
+ fileio_suffix=HDF5_SUFFIX,
94
+ )
95
+
96
+
97
+ @device_factory()
98
+ def sample_stage() -> XYZStage:
99
+ """An XYZ stage holding the sample.
100
+
101
+ Returns:
102
+ XYZStage: The XYZ sample stage device.
103
+ """
104
+ return XYZStage(
69
105
  f"{PREFIX.beamline_prefix}-MO-PPMAC-01:",
70
106
  )
dodal/beamlines/b07.py CHANGED
@@ -2,7 +2,9 @@ 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 B07BGrating
5
6
  from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
7
+ from dodal.devices.pgm import PGM
6
8
  from dodal.devices.synchrotron import Synchrotron
7
9
  from dodal.log import set_beamline as set_log_beamline
8
10
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -18,6 +20,14 @@ def synchrotron() -> Synchrotron:
18
20
  return Synchrotron()
19
21
 
20
22
 
23
+ @device_factory()
24
+ def pgm() -> PGM:
25
+ return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=B07BGrating)
26
+
27
+
21
28
  @device_factory()
22
29
  def analyser_driver() -> SpecsAnalyserDriverIO:
23
- return SpecsAnalyserDriverIO(prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:")
30
+ return SpecsAnalyserDriverIO(
31
+ f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
32
+ {"source1": pgm().energy.user_readback},
33
+ )
dodal/beamlines/b07_1.py CHANGED
@@ -2,7 +2,9 @@ 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 B07CGrating
5
6
  from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
7
+ from dodal.devices.pgm import PGM
6
8
  from dodal.devices.synchrotron import Synchrotron
7
9
  from dodal.log import set_beamline as set_log_beamline
8
10
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -18,6 +20,14 @@ def synchrotron() -> Synchrotron:
18
20
  return Synchrotron()
19
21
 
20
22
 
23
+ @device_factory()
24
+ def pgm() -> PGM:
25
+ return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=B07CGrating)
26
+
27
+
21
28
  @device_factory()
22
29
  def analyser_driver() -> SpecsAnalyserDriverIO:
23
- return SpecsAnalyserDriverIO(prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:")
30
+ return SpecsAnalyserDriverIO(
31
+ f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
32
+ {"source1": pgm().energy.user_readback},
33
+ )
dodal/beamlines/b16.py CHANGED
@@ -14,7 +14,7 @@ from dodal.common.visit import RemoteDirectoryServiceClient, StaticVisitPathProv
14
14
  from dodal.devices.b16.detector import (
15
15
  software_triggered_tiff_area_detector,
16
16
  )
17
- from dodal.devices.motors import XYZPositioner
17
+ from dodal.devices.motors import XYZStage
18
18
  from dodal.log import set_beamline as set_log_beamline
19
19
  from dodal.utils import BeamlinePrefix, get_beamline_name
20
20
 
@@ -59,7 +59,11 @@ def fds2() -> AreaDetector:
59
59
 
60
60
 
61
61
  @device_factory()
62
- def sim_stage() -> XYZPositioner:
63
- return XYZPositioner(
64
- f"{PREFIX.beamline_prefix}-MO-SIM-01:", "sim_stage", infix=("M1", "M2", "M3")
62
+ def sim_stage() -> XYZStage:
63
+ return XYZStage(
64
+ f"{PREFIX.beamline_prefix}-MO-SIM-01:",
65
+ "sim_stage",
66
+ x_infix="M1",
67
+ y_infix="M2",
68
+ z_infix="M3",
65
69
  )
dodal/beamlines/b21.py ADDED
@@ -0,0 +1,148 @@
1
+ from pathlib import Path # noqa
2
+ from ophyd_async.fastcs.panda import HDFPanda
3
+ from ophyd_async.epics.adaravis import AravisDetector
4
+ from dodal.devices.i22.nxsas import NXSasMetadataHolder, NXSasOAV
5
+ from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
6
+
7
+
8
+ from dodal.common.beamlines.beamline_utils import (
9
+ device_factory,
10
+ get_path_provider,
11
+ set_path_provider,
12
+ )
13
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
14
+ from dodal.common.visit import RemoteDirectoryServiceClient, StaticVisitPathProvider
15
+ from ophyd_async.fastcs.eiger import EigerDetector
16
+
17
+
18
+ from dodal.devices.linkam3 import Linkam3
19
+ from dodal.devices.slits import Slits
20
+ from dodal.devices.synchrotron import Synchrotron
21
+
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("b21")
26
+ PREFIX = BeamlinePrefix(BL)
27
+ set_log_beamline(BL)
28
+ set_utils_beamline(BL)
29
+
30
+ # Currently we must hard-code the visit, determining the visit at runtime requires
31
+ # infrastructure that is still WIP.
32
+ # Communication with GDA is also WIP so for now we determine an arbitrary scan number
33
+ # locally and write the commissioning directory. The scan number is not guaranteed to
34
+ # be unique and the data is at risk - this configuration is for testing only.
35
+ set_path_provider(
36
+ StaticVisitPathProvider(
37
+ BL,
38
+ Path("/dls/b21/data/2025/cm40642-3/bluesky"),
39
+ client=RemoteDirectoryServiceClient(f"http://{BL}-control:8088/api"),
40
+ )
41
+ )
42
+
43
+
44
+ @device_factory(skip=True)
45
+ def saxs() -> EigerDetector:
46
+ return EigerDetector(
47
+ prefix=PREFIX.beamline_prefix,
48
+ path_provider=get_path_provider(),
49
+ drv_suffix="-EA-EIGER-01:",
50
+ hdf_suffix="-EA-EIGER-01:OD:",
51
+ # odin_nodes=1, # TODO: https://github.com/bluesky/ophyd-async/issues/923
52
+ )
53
+
54
+
55
+ @device_factory(skip=True)
56
+ def waxs() -> EigerDetector:
57
+ return EigerDetector(
58
+ prefix=PREFIX.beamline_prefix,
59
+ path_provider=get_path_provider(),
60
+ drv_suffix="-EA-EIGER-02:",
61
+ hdf_suffix="-EA-EIGER-02:OD:",
62
+ # odin_nodes=1, # TODO: https://github.com/bluesky/ophyd-async/issues/923
63
+ )
64
+
65
+
66
+ @device_factory()
67
+ def panda1() -> HDFPanda:
68
+ return HDFPanda(
69
+ prefix=f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
70
+ path_provider=get_path_provider(),
71
+ )
72
+
73
+
74
+ @device_factory()
75
+ def synchrotron() -> Synchrotron:
76
+ return Synchrotron()
77
+
78
+
79
+ @device_factory()
80
+ def slits_1() -> Slits:
81
+ return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-01:")
82
+
83
+
84
+ @device_factory()
85
+ def slits_2() -> Slits:
86
+ return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-02:")
87
+
88
+
89
+ @device_factory()
90
+ def slits_3() -> Slits:
91
+ return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-03:")
92
+
93
+
94
+ """
95
+ Slits 4 was removed from B21 after the camera length was fixed, it is not used anymore.
96
+ """
97
+
98
+
99
+ @device_factory()
100
+ def slits_5() -> Slits:
101
+ return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-05:")
102
+
103
+
104
+ @device_factory()
105
+ def slits_6() -> Slits:
106
+ return Slits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-06:")
107
+
108
+
109
+ @device_factory()
110
+ def slits_7() -> Slits:
111
+ """
112
+ Compact JJ slits device is used for B21 slits 7. PV's operate in same way
113
+ but physically different to other slits, and uses X:GAP nomenclature.
114
+ """
115
+ return Slits(
116
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-07:",
117
+ x_gap="X:GAP",
118
+ y_gap="Y:GAP",
119
+ x_centre="X:CENTRE",
120
+ y_centre="Y:CENTRE",
121
+ )
122
+
123
+
124
+ @device_factory()
125
+ def wbscam() -> AravisDetector:
126
+ metadata_holder = NXSasMetadataHolder(
127
+ x_pixel_size=(1292, "pixels"), # Double check this figure
128
+ y_pixel_size=(964, "pixels"),
129
+ description="Manta_G-125B",
130
+ distance=(-1.0, "m"),
131
+ )
132
+ return NXSasOAV(
133
+ prefix=f"{PREFIX.beamline_prefix}-RS-ABSB-02:CAM:",
134
+ drv_suffix=CAM_SUFFIX,
135
+ fileio_suffix=HDF5_SUFFIX,
136
+ path_provider=get_path_provider(),
137
+ metadata_holder=metadata_holder,
138
+ )
139
+
140
+
141
+ @device_factory(skip=True)
142
+ def linkam() -> Linkam3:
143
+ return Linkam3(prefix=f"{PREFIX.beamline_prefix}-EA-HPLC-01:")
144
+
145
+
146
+ # TODO: https://github.com/DiamondLightSource/dodal/issues/1286
147
+ # def dmm() -> DMM: #b21 uses a dmm so
148
+ # return DMM()