dls-dodal 1.36.1a0__py3-none-any.whl → 1.36.3__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 (36) hide show
  1. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/METADATA +2 -2
  2. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/RECORD +31 -33
  3. dodal/_version.py +2 -2
  4. dodal/beamlines/__init__.py +1 -0
  5. dodal/beamlines/adsim.py +75 -0
  6. dodal/beamlines/i10.py +74 -7
  7. dodal/beamlines/i24.py +17 -1
  8. dodal/devices/adsim.py +10 -10
  9. dodal/devices/aperture.py +0 -7
  10. dodal/devices/aperturescatterguard.py +79 -195
  11. dodal/devices/apple2_undulator.py +9 -9
  12. dodal/devices/attenuator.py +15 -5
  13. dodal/devices/focusing_mirror.py +12 -3
  14. dodal/devices/i10/i10_setting_data.py +3 -3
  15. dodal/devices/i10/mirrors.py +24 -0
  16. dodal/devices/i10/slits.py +37 -0
  17. dodal/devices/i24/dual_backlight.py +1 -0
  18. dodal/devices/i24/focus_mirrors.py +12 -12
  19. dodal/devices/linkam3.py +2 -2
  20. dodal/devices/oav/pin_image_recognition/__init__.py +2 -4
  21. dodal/devices/p99/sample_stage.py +15 -15
  22. dodal/devices/slits.py +29 -7
  23. dodal/devices/tetramm.py +16 -16
  24. dodal/devices/undulator_dcm.py +4 -0
  25. dodal/devices/util/test_utils.py +2 -2
  26. dodal/devices/xspress3/xspress3.py +3 -3
  27. dodal/devices/zebra.py +13 -13
  28. dodal/adsim.py +0 -17
  29. dodal/devices/areadetector/__init__.py +0 -10
  30. dodal/devices/areadetector/adaravis.py +0 -101
  31. dodal/devices/areadetector/adsim.py +0 -47
  32. dodal/devices/areadetector/adutils.py +0 -81
  33. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/LICENSE +0 -0
  34. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/WHEEL +0 -0
  35. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/entry_points.txt +0 -0
  36. {dls_dodal-1.36.1a0.dist-info → dls_dodal-1.36.3.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dls-dodal
3
- Version: 1.36.1a0
3
+ Version: 1.36.3
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
@@ -216,7 +216,7 @@ Description-Content-Type: text/markdown
216
216
  License-File: LICENSE
217
217
  Requires-Dist: click
218
218
  Requires-Dist: ophyd
219
- Requires-Dist: ophyd-async>=0.8.0a5
219
+ Requires-Dist: ophyd-async>=0.9.0a1
220
220
  Requires-Dist: bluesky
221
221
  Requires-Dist: pyepics
222
222
  Requires-Dist: dataclasses-json
@@ -1,23 +1,23 @@
1
1
  dodal/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
2
2
  dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
3
- dodal/_version.py,sha256=ktA0kNTYPVSWYOxui27Mnyui4C-Y9QFQo0LpESSVdeo,415
4
- dodal/adsim.py,sha256=OW2dcS7ciD4Yq9WFw4PN_c5Bwccrmu7R-zr-u6ZCbQM,497
3
+ dodal/_version.py,sha256=zCUFph3NXnWsNVGniqwz8NKCDOFFa-siapasQGlkWD4,413
5
4
  dodal/cli.py,sha256=NieWNUgLUxyck1rHoFAPJjX1xXLzHNdQ-s4wvxYFfps,3757
6
5
  dodal/log.py,sha256=0to7CRsbzbgVfAAfKRAMhsaUuKqF2-7CGdQc-z8Uhno,9499
7
6
  dodal/utils.py,sha256=h2sNmTlsaznfxusV1Xj_mXtNjzsWjWAgmps6I0YNA3U,18097
8
7
  dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
8
  dodal/beamline_specific_utils/i03.py,sha256=P6Ls4FoVtcacH0RJM3v6ZwwGx27oMppcBdW0la-ohTY,377
10
9
  dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
11
- dodal/beamlines/__init__.py,sha256=WWXqkXkufRUNFSC_b0PoHSkyKo7Tn8wNmnQCr9klh2o,3054
10
+ dodal/beamlines/__init__.py,sha256=FsS1hMz9nqwTP12UtCJsfVn712mFElcBq2kKKpscp9k,3074
11
+ dodal/beamlines/adsim.py,sha256=DUAFS1ueoZ6DK2cmZkiEm3NElnaro1mUvyodv14pSmU,1839
12
12
  dodal/beamlines/b01_1.py,sha256=0gLjg0O9ttMjHzszSyJ_GT3fnoAB6u4aJ4MdAfjJbHA,1788
13
13
  dodal/beamlines/i03.py,sha256=WOMkGTcrrKqoBNeRObumMA8Nlo404uIr2ccfn8gK-zs,18063
14
14
  dodal/beamlines/i04.py,sha256=z8LUbhyfUDU08oSp85hg7hFE8FJkAyLsqPUQScs5SUA,14567
15
- dodal/beamlines/i10.py,sha256=0ZoFe1vuwNiP2AvNACxuN0OMXJ4DcQ3Oqa0L-w5Ch_M,7744
15
+ dodal/beamlines/i10.py,sha256=4VrbkRFi1HdNrXN_ItMWOROrx1BRbid-ZbtwcgMWP9w,9129
16
16
  dodal/beamlines/i13_1.py,sha256=csXHrdwUh4sXTmb4X6ZiiSS_XxRkNShsVoBMxYI6rG0,1833
17
17
  dodal/beamlines/i20_1.py,sha256=MaPgONHqpoZuBtkiKEzYtViJnKBM2_ekeP4OdbmuXHE,1158
18
18
  dodal/beamlines/i22.py,sha256=tzx8w86uvJHo5TuwPoIUErB7C5mGhqTzlv45qrppld0,7228
19
19
  dodal/beamlines/i23.py,sha256=2j5qLoqE_hg9ETHqNkOVu7LLkVB8qalgXeORnVYKN_I,1075
20
- dodal/beamlines/i24.py,sha256=V0MMr9bS-4c3fzSQL2gK6zCOT0ft1AV6VWBrnLAn5fk,8011
20
+ dodal/beamlines/i24.py,sha256=bV1OqQP0KdJDM5SLsru6TGYLSxwXSy2GExpG44Qfo0w,8539
21
21
  dodal/beamlines/p38.py,sha256=JJbclLYoRdIxcpzpW4oTj77YJ001CdEAM0bKRk7seYI,8735
22
22
  dodal/beamlines/p45.py,sha256=N4SDTIFok3uMqb37higZHMr3xRjxItsT4ib_KacKKAE,2935
23
23
  dodal/beamlines/p99.py,sha256=I6c_3NbvEPOpy2z1uwLRqwCkd83Sf15-OXEykLkn0-c,910
@@ -36,11 +36,11 @@ dodal/common/beamlines/beamline_utils.py,sha256=LCUt58Y2wRd15PdMIYSeHiKhWVYgt6UC
36
36
  dodal/common/beamlines/device_helpers.py,sha256=aFzYa4YOPcbrvwoW1k3OrN6NVLYYmMPR8YkCpHHe-98,962
37
37
  dodal/devices/CTAB.py,sha256=5_261Ox6NG2cJIzzwnjWz289BG0nZoE0wKOaI5V5jqM,1998
38
38
  dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- dodal/devices/adsim.py,sha256=dMU0TKIuiODHYFHQOH4_5UvB8iJtaJEtjqaEDGjcU-w,311
40
- dodal/devices/aperture.py,sha256=VefMpkOXJ36vv2F9uNxFwIEyDMcXiImArcK1zA_ctmU,774
41
- dodal/devices/aperturescatterguard.py,sha256=DoSH7TFJt7rXA17eChlGnv9_GsWz1R6s_EigGayPEOM,13007
42
- dodal/devices/apple2_undulator.py,sha256=HtjHiDX80n_nzabuFcUioH-gWH1a6VjZzw_xStq7S4w,22470
43
- dodal/devices/attenuator.py,sha256=6IAPr8XmLxUOHC8g7Zt8MR1trMEDOxO5JkLphd6LbRg,2582
39
+ dodal/devices/adsim.py,sha256=vCexraF4zLssHdjfPod-XuQGJE_sWoCttFdx__HDS8w,488
40
+ dodal/devices/aperture.py,sha256=yyw2ei3gM_lmZWDQ6VTbydB58RCDTen_nqBZyoTP2IM,583
41
+ dodal/devices/aperturescatterguard.py,sha256=PRNnGbxYKFWoa1m70Mz-6Ta4NtFG0ShUprBvv2viUeI,8993
42
+ dodal/devices/apple2_undulator.py,sha256=ls_qGM_nGsZdo4I_Zs_stFjUc1oZE6zB1puWrV8-2Wg,22470
43
+ dodal/devices/attenuator.py,sha256=SEDnnNeUpwBArJbPcwHyr5BwkHO1Jvgsrw1bpFz5u-o,2894
44
44
  dodal/devices/backlight.py,sha256=nQIr3J-I-OXnOUoWmr3ruy3nhq_q2US1KXC4NrGG_2U,1634
45
45
  dodal/devices/cryostream.py,sha256=K-ldpredpeDTzNt4qtQMg99nKJNjBYoXBbK0WJGexzw,656
46
46
  dodal/devices/dcm.py,sha256=JbyxLnrS68nnnv39l9XEWgJgXUBqxX6aFo19MZnL36E,2574
@@ -50,10 +50,10 @@ dodal/devices/eiger_odin.py,sha256=oZl16K-Qb2yL6tK1fyDQvqbbhhvYMSVcf_e2CjlqMa4,7
50
50
  dodal/devices/fast_grid_scan.py,sha256=dKF2-8CNmm-LaMXBkqkO31pTcAAwiAXznEeB6tg0f6E,11149
51
51
  dodal/devices/fluorescence_detector_motion.py,sha256=-1qCSvW0PdT0m6BcoLxrtc0OJ5UDIBsEe11EOLr-gFw,501
52
52
  dodal/devices/flux.py,sha256=RtPStHw7Mad0igVKntKWVZfuZn2clokVJqH14HLix6M,198
53
- dodal/devices/focusing_mirror.py,sha256=yz0MIeqLtg-Ga5M-AF1S3fsHgaHn_9b1bv9zA5OqsEk,6262
53
+ dodal/devices/focusing_mirror.py,sha256=vdUPkwyCAZBSR3LQ-EojDOoxVy1ZmOaD_nevETbj7BA,6592
54
54
  dodal/devices/hutch_shutter.py,sha256=WXY9JwqAa5prbf72IP7_MTKndPDtAltCpPJlNbq-F_0,3313
55
55
  dodal/devices/ipin.py,sha256=eq5jlKw7WGQi8VLrAWpaAIsZmfiVf-5Q0td_B22H6A4,473
56
- dodal/devices/linkam3.py,sha256=O1ufCb5ce6nfGXVwiO3I1WEnZ_Jp0azWxBcrZ7PWQm4,3869
56
+ dodal/devices/linkam3.py,sha256=2sf-_heIsDg4qmqae-w9C2Py8pG8bPB3mT0TFPQIzd0,3869
57
57
  dodal/devices/logging_ophyd_device.py,sha256=dUVE-XhWA56WUXez0mrc4sf322CXY3MVLreTycO5j_A,668
58
58
  dodal/devices/motors.py,sha256=mduFm9vTZfu9rhwL93AMZpDzGd2TASdqalWzRaMoqec,1114
59
59
  dodal/devices/p45.py,sha256=jzBW2fGRhIbGzSRs5Fgupxro6aqE611n1RTcrTTG-yY,1047
@@ -64,24 +64,20 @@ dodal/devices/robot.py,sha256=laLwekoO9RsZzfag_6UGf8NhcGZ5deP4JAutvHqo2KM,5336
64
64
  dodal/devices/s4_slit_gaps.py,sha256=j3kgF9WfGFaU9xdUuiAh-QqI5u_vhiAftaDVINt91SM,243
65
65
  dodal/devices/scatterguard.py,sha256=jx03in9QgaThWxD4t1S8_Llent2kWrn_hThJ9KkUWTk,330
66
66
  dodal/devices/scintillator.py,sha256=PlD6cnJ39PTB_e7QrRspPliLYE4kL_K7ziJURzuxgdA,365
67
- dodal/devices/slits.py,sha256=uOyVmbgeygiP6e5Z9t5zMPXLuVEWFfYg9GB3ZU76Tug,600
67
+ dodal/devices/slits.py,sha256=b_7ku2sHlzhMHTvWrwiRwee6ufrbxNX9JB_Z0lvk15o,1105
68
68
  dodal/devices/smargon.py,sha256=tOHb9fjI8ZCIrboiC4OzS2j1QJDOKkAlQ2SORbBmaGo,4708
69
69
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
70
70
  dodal/devices/synchrotron.py,sha256=wLfClZ1lYQWA_D--UsM3NnKLG8bY8mvVsRYER6ob-Ew,2026
71
- dodal/devices/tetramm.py,sha256=460luDYab-u1QB0CPe7lPihtm9nZxdCDGtLPnXI-XGo,8447
71
+ dodal/devices/tetramm.py,sha256=17uUbwcK7G7RTZ0Q37PgQ8HOot6iMJ_dPGFO8ZblEZM,8455
72
72
  dodal/devices/thawer.py,sha256=4t4yF4VDIrT_tQ8RwjmXe_hDMwVjR8A-4rDkPx19b28,1672
73
73
  dodal/devices/turbo_slit.py,sha256=B6SPXqviMnG-U4PnUF1BdTO0LBKmTuwAUKRbxMiNJXo,1125
74
74
  dodal/devices/undulator.py,sha256=rQjDhrvgf4uXUEO17CiLopNDEagWOgkmpa02BarozDE,5295
75
- dodal/devices/undulator_dcm.py,sha256=OJBxUe2LlQkGdydWIa1kzR07UnEz8QcHQjE-gB3kUWE,2238
75
+ dodal/devices/undulator_dcm.py,sha256=4Y1ZgKatBenQgg4DuZnMtKwLDOH2YvUMo1QkFE0aaXs,2432
76
76
  dodal/devices/watsonmarlow323_pump.py,sha256=rwU94YE6esgGLYdh-pe8nBo_3tvgp6brrrbPDrqp5_M,1406
77
77
  dodal/devices/webcam.py,sha256=mef075ynDbzZ4pNAjfxR_9tdTTqF_rM7hAOVEEOV-Do,2408
78
78
  dodal/devices/xbpm_feedback.py,sha256=j8MHhhE0feoe6R54zPKqS5EbQ0bEDR-nOpLHzHhnHHQ,1156
79
- dodal/devices/zebra.py,sha256=p191eIGfmwM2EE1YJn6rRgChim2kqXl2KIYbMPUSOvg,9474
79
+ dodal/devices/zebra.py,sha256=cOcohj57eDKWgd-747EsL1ypPQWrOVc68EB_9D4L8CI,9474
80
80
  dodal/devices/zebra_controlled_shutter.py,sha256=5-SH5HoXp_6P-xAtfDFJKQq6mBDwreubuCULSz78fgw,1852
81
- dodal/devices/areadetector/__init__.py,sha256=8IwLxuZMW0MOJpJp_ZDdlaE20hrtsH_PXWGaKgMiYs4,240
82
- dodal/devices/areadetector/adaravis.py,sha256=Cqw_Mzrp_zODFxQ2LZBJzHp_DsZ6_dAITkZz8gYz_0w,3797
83
- dodal/devices/areadetector/adsim.py,sha256=cIc9PRbKnftBk7Ut8d8CU_TVrin8EwcKHObP2n9VxWM,1876
84
- dodal/devices/areadetector/adutils.py,sha256=4axFR3wtn-K-sjMVJyfTcu-8g35odf2cY8mTKv1gS-o,3093
85
81
  dodal/devices/areadetector/plugins/CAM.py,sha256=sZzJm5Ez3eWfXZi_EB67wluhZmMQm1UyOc2bJFfzd1U,964
86
82
  dodal/devices/areadetector/plugins/MJPG.py,sha256=QTsxCoWbofNpLMGPoOR2hWoM33KyntuLepbF0YmX0KE,3031
87
83
  dodal/devices/detector/__init__.py,sha256=-RdACL3tzc3lLArWOoGNje48UUlv2fElOmGOz9yOuO0,317
@@ -93,7 +89,9 @@ dodal/devices/detector/detector_motion.py,sha256=UGDQriDWRluDZOZh1mDX9w_fPjMD-_B
93
89
  dodal/devices/i03/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
90
  dodal/devices/i04/transfocator.py,sha256=uieByXIj0JRbmvMB_om5NOAEbEJkzfkCD24bl2aEo1g,3154
95
91
  dodal/devices/i10/i10_apple2.py,sha256=pEZes8wVCPHiOOcuVhEtqPvtnyphMxqbdp39mDp6xXQ,13165
96
- dodal/devices/i10/i10_setting_data.py,sha256=Pc78L9asOLot9WmKcxkxpaefB3h4FeKIolHcGO4JnOU,161
92
+ dodal/devices/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
93
+ dodal/devices/i10/mirrors.py,sha256=E0M5keGI3LGaDHyXQkCCyj6xmixNY1xTSkIaaYwtnP8,794
94
+ dodal/devices/i10/slits.py,sha256=4X50bGiJhTIHxhsOrv-8DATBkQPwQgEaFMNa2OsPrFY,1201
97
95
  dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
96
  dodal/devices/i22/dcm.py,sha256=SQDh-Sj1OvplHZ9yTWblJwv8PJrUqxseDPupZOWmcLo,4701
99
97
  dodal/devices/i22/fswitch.py,sha256=LSMoo9aDkH0SLcojbUh2NxTWIpUXHZxauTqThc3XtSk,3073
@@ -103,8 +101,8 @@ dodal/devices/i24/aperture.py,sha256=XlnOyQsvdTom1dJHVUg8CUSthq3jlBlZFOUaa9b1eZ4
103
101
  dodal/devices/i24/beam_center.py,sha256=c5NRCBjhg9hMjznNMDipIq0M8-T8yM78IzhcRdpNtGw,470
104
102
  dodal/devices/i24/beamstop.py,sha256=89ncXUisia1rn1Faf5iWg3k0QW6Rm99j1vq9A8l9Xv8,1221
105
103
  dodal/devices/i24/dcm.py,sha256=Q3qqlgsiLJga2cgI8L4jczjyUgQixJh6QWg7shrFpTQ,1988
106
- dodal/devices/i24/dual_backlight.py,sha256=mhbM4CzfjWQ883ebnG4oP1PLa1I4BlR30s-Ly5nXXb0,2023
107
- dodal/devices/i24/focus_mirrors.py,sha256=Z5ZSJeKdHa8vGlUNxzZz9fe6pQ1uJUWX6JFHbfPO1JQ,1845
104
+ dodal/devices/i24/dual_backlight.py,sha256=CbQ9mYUNhhozVdNXqR5ac73tEIAWT2RnEpRwXB3EFog,2049
105
+ dodal/devices/i24/focus_mirrors.py,sha256=HO3B4yjV-HMvjkgFd2xTvXft75Qj4lN8d0RNg6HJ4Lo,1857
108
106
  dodal/devices/i24/i24_detector_motion.py,sha256=_HgdsZqFYY0tKqUgMzViHaPEUFXL3WlXXioGvDehRUw,364
109
107
  dodal/devices/i24/pilatus_metadata.py,sha256=fV8AQSBYGx1Qc91Rqj8VhcFPqPLqLCePNpDdmhcrTYM,1827
110
108
  dodal/devices/i24/pmac.py,sha256=lz9FYU_8YN8cC51ddTzdxcUA7MCVTA_ho3P0CHJ9zCo,6837
@@ -116,14 +114,14 @@ dodal/devices/oav/oav_detector.py,sha256=lUzdkAgviBtiZkN92fA_kleQRmmpfx_wTA06rq-
116
114
  dodal/devices/oav/oav_parameters.py,sha256=gGN73TQGUiRzlIO5YKiqCRkjpTKsV6LFGo7Eu4Vs82g,6074
117
115
  dodal/devices/oav/oav_to_redis_forwarder.py,sha256=pfhaW6Uo_1wDNfywyPkS5UTrY8yhkerhjgJfRMqrJRA,6259
118
116
  dodal/devices/oav/utils.py,sha256=3IvSTw6Ygkaz4Hzoz0eU2l6mljpq0NO57M15e-K4jOE,3182
119
- dodal/devices/oav/pin_image_recognition/__init__.py,sha256=lkfEd7NdnoCR7yX03wsp-rsL0BqpzZVYh-24QO4fYio,6562
117
+ dodal/devices/oav/pin_image_recognition/__init__.py,sha256=_eCq-rEtGNXVfrpahfKMLu53lEr49q5rtVqg0GhiODQ,6534
120
118
  dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
121
119
  dodal/devices/oav/pin_image_recognition/utils.py,sha256=L9ypluYqeOFoS7gQuws-vTNc8LqaKl2ZIDNeQ2JaNpg,8592
122
120
  dodal/devices/oav/snapshots/grid_overlay.py,sha256=CdvCdTKMCiwMwxm2lV28KpcIUSXlscZmWxb73_KKmiI,3694
123
121
  dodal/devices/oav/snapshots/snapshot_with_beam_centre.py,sha256=J77RfE3AGTLNdWc6hvsRn2DUdupzuk_FTDGvdP0jqbU,1962
124
122
  dodal/devices/oav/snapshots/snapshot_with_grid.py,sha256=EBoCtr1NmOKye2yQHqbTBxSg-DsEKFeyBtMFmOeGPRs,2269
125
123
  dodal/devices/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- dodal/devices/p99/sample_stage.py,sha256=B795PAcvrtHo3AZexPyke8R7t-g-0Vr3BhO0fQz_wF8,1189
124
+ dodal/devices/p99/sample_stage.py,sha256=v2-KSvuxCmpreVUh0p2OLGj6d1MR_li56cvMBWbvF9g,1189
127
125
  dodal/devices/training_rig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
126
  dodal/devices/training_rig/sample_stage.py,sha256=jktTp837ij8wor5LidE3AajCk95L7DebJotMlO7QwTE,355
129
127
  dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -132,8 +130,8 @@ dodal/devices/util/epics_util.py,sha256=A8iNL79PnxntuxPTKA9oLGaDRKhnXaaeAVJwS6FN
132
130
  dodal/devices/util/lookup_tables.py,sha256=Bk-wZk7JO5_j_8gbot-8reirVqxvFUg9_SIqEIOVZu0,2025
133
131
  dodal/devices/util/motor_utils.py,sha256=pNY-aUk9LxaIWeDr5rpMS6udiB9j19wcCXkNDLp1uA0,257
134
132
  dodal/devices/util/save_panda.py,sha256=PHFlkerBhkkU0-o5dNEdi2P95_jD9Lk8yYgaqn9R97o,2538
135
- dodal/devices/util/test_utils.py,sha256=VrSFFGLNKOcCAsWFMZOxwhng3wGR5kV8NqqnKfj8Vuw,562
136
- dodal/devices/xspress3/xspress3.py,sha256=pD46vyjbblrzE3xhP2ZGcStmN06cp41gSOLuff_bQTs,4636
133
+ dodal/devices/util/test_utils.py,sha256=x0QVKVeST4T-wpsVSSm-169MyNRXlmybVWnPTefv1as,565
134
+ dodal/devices/xspress3/xspress3.py,sha256=75RdPuHpES4Xi-Lcywz0XUhaN2G3vZSoc-dzgcxfNvs,4636
137
135
  dodal/devices/xspress3/xspress3_channel.py,sha256=w8tAx2lz5kJ_LeJ_eb_4o--Dtt8MRijsYNgDG6oEIVg,1626
138
136
  dodal/devices/zocalo/__init__.py,sha256=dRAZ9o7B9TACqyE7aanT3yzvqWtt019YgV5ZJY7Ylso,517
139
137
  dodal/devices/zocalo/zocalo_constants.py,sha256=vu7Xjz7UNEpBUWEEBxDvP4bVFkZIN6NLGfQDpWbCjH8,98
@@ -148,9 +146,9 @@ dodal/plan_stubs/wrapped.py,sha256=nriHKX4BF010CmrhdoUhY3-txClW5W8TPLz64kE_AXU,4
148
146
  dodal/plans/__init__.py,sha256=nH1jNxw3DzDMg9O8Uda0kqKIalRVEWBrq07OLY6Ey38,93
149
147
  dodal/plans/scanspec.py,sha256=Q0AcvTKRT401iGMRDSqK-D523UX5_ofiVMZ_rNXKOx8,2074
150
148
  dodal/plans/wrapped.py,sha256=Cr2iOpQCuk2ORKo5CZOh-zbQXAjoTfaLrfm7r1--GhU,2098
151
- dls_dodal-1.36.1a0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
152
- dls_dodal-1.36.1a0.dist-info/METADATA,sha256=Du63G1abjqQlRwGNTbqO-QoFfAcTJ9ovv6VNkdaQVlc,16657
153
- dls_dodal-1.36.1a0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
154
- dls_dodal-1.36.1a0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
155
- dls_dodal-1.36.1a0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
156
- dls_dodal-1.36.1a0.dist-info/RECORD,,
149
+ dls_dodal-1.36.3.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
150
+ dls_dodal-1.36.3.dist-info/METADATA,sha256=kxGKgtp3OTCkpiOdg7edQ8FCV9G8Hw4klZobJMmibSA,16655
151
+ dls_dodal-1.36.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
152
+ dls_dodal-1.36.3.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
153
+ dls_dodal-1.36.3.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
154
+ dls_dodal-1.36.3.dist-info/RECORD,,
dodal/_version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.36.1a0'
16
- __version_tuple__ = version_tuple = (1, 36, 1)
15
+ __version__ = version = '1.36.3'
16
+ __version_tuple__ = version_tuple = (1, 36, 3)
@@ -16,6 +16,7 @@ _BEAMLINE_NAME_OVERRIDES = {
16
16
  "p47": "training_rig",
17
17
  "p48": "training_rig",
18
18
  "p49": "training_rig",
19
+ "t01": "adsim",
19
20
  }
20
21
 
21
22
 
@@ -0,0 +1,75 @@
1
+ from pathlib import Path
2
+
3
+ from ophyd_async.epics.adsimdetector import SimDetector
4
+
5
+ from dodal.common.beamlines.beamline_utils import (
6
+ device_factory,
7
+ get_path_provider,
8
+ set_path_provider,
9
+ )
10
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
11
+ from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
12
+ from dodal.devices.adsim import SimStage
13
+ from dodal.log import set_beamline as set_log_beamline
14
+ from dodal.utils import BeamlinePrefix
15
+
16
+ BL = "adsim"
17
+ PREFIX = BeamlinePrefix("t01")
18
+ set_log_beamline(BL)
19
+ set_utils_beamline(BL)
20
+
21
+ set_path_provider(
22
+ StaticVisitPathProvider(
23
+ BL,
24
+ Path("/tmp"),
25
+ client=LocalDirectoryServiceClient(),
26
+ )
27
+ )
28
+
29
+ """
30
+ Beamline module for use with the simulated AreaDetector and motors.
31
+ These devices are simulated at the EPICS level, enabling testing of
32
+ dodal and ophyd-async against what appear to be "real" signals.
33
+
34
+ Usage Example
35
+ -------------
36
+
37
+ Start the simulated beamline by following the epics-containers tutorial at
38
+ https://epics-containers.github.io/main/tutorials/launch_example.html
39
+ And ensure that the signals are visible:
40
+
41
+ ```sh
42
+ export EPICS_CA_ADDR_LIST=127.0.0.1
43
+ ```
44
+
45
+ How to use the devices in a plan:
46
+ In an ipython terminal run:
47
+
48
+ ```python
49
+ from bluesky.run_engine import RunEngine
50
+
51
+ from dodal.beamlines.adsim import det, stage
52
+ from dodal.plans import count
53
+
54
+ RE = RunEngine()
55
+ d = det(connect_immediately=True)
56
+ s = stage(connect_immediately=True)
57
+ RE(count([d], num=10))
58
+ ```
59
+
60
+ """
61
+
62
+
63
+ @device_factory()
64
+ def stage() -> SimStage:
65
+ return SimStage(f"{PREFIX.beamline_prefix}-MO-SIMC-01:")
66
+
67
+
68
+ @device_factory()
69
+ def det() -> SimDetector:
70
+ return SimDetector(
71
+ f"{PREFIX.beamline_prefix}-DI-CAM-01:",
72
+ path_provider=get_path_provider(),
73
+ drv_suffix="DET:",
74
+ hdf_suffix="HDF:",
75
+ )
dodal/beamlines/i10.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from pathlib import Path
2
2
 
3
- from dodal.common.beamlines.beamline_utils import device_instantiation
3
+ from dodal.common.beamlines.beamline_utils import device_factory, device_instantiation
4
4
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
5
  from dodal.devices.apple2_undulator import (
6
6
  UndulatorGap,
@@ -14,13 +14,18 @@ from dodal.devices.i10.i10_apple2 import (
14
14
  LinearArbitraryAngle,
15
15
  )
16
16
  from dodal.devices.i10.i10_setting_data import I10Grating
17
+ from dodal.devices.i10.mirrors import PiezoMirror
18
+ from dodal.devices.i10.slits import I10PrimarySlits, I10Slits
17
19
  from dodal.devices.pgm import PGM
20
+ from dodal.devices.slits import MinimalSlits
18
21
  from dodal.log import set_beamline as set_log_beamline
19
22
  from dodal.utils import BeamlinePrefix, get_beamline_name
20
23
 
21
24
  BL = get_beamline_name("i10")
22
25
  set_log_beamline(BL)
23
26
  set_utils_beamline(BL)
27
+ PREFIX = BeamlinePrefix(BL)
28
+
24
29
 
25
30
  LOOK_UPTABLE_DIR = "/dls_sw/i10/software/gda/workspace_git/gda-diamond.git/configurations/i10-shared/lookupTables/"
26
31
  """
@@ -39,7 +44,7 @@ def idd_gap(
39
44
  return device_instantiation(
40
45
  device_factory=UndulatorGap,
41
46
  name="idd_gap",
42
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
47
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
43
48
  wait=wait_for_connection,
44
49
  fake=fake_with_ophyd_sim,
45
50
  bl_prefix=False,
@@ -52,7 +57,7 @@ def idd_phase_axes(
52
57
  return device_instantiation(
53
58
  device_factory=UndulatorPhaseAxes,
54
59
  name="idd_phase_axes",
55
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
60
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
56
61
  top_outer="RPQ1",
57
62
  top_inner="RPQ2",
58
63
  btm_inner="RPQ3",
@@ -69,7 +74,7 @@ def idd_jaw(
69
74
  return device_instantiation(
70
75
  device_factory=UndulatorJawPhase,
71
76
  name="idd_jaw",
72
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
77
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
73
78
  move_pv="RPQ1",
74
79
  wait=wait_for_connection,
75
80
  fake=fake_with_ophyd_sim,
@@ -83,7 +88,7 @@ def idu_gap(
83
88
  return device_instantiation(
84
89
  device_factory=UndulatorGap,
85
90
  name="idu_gap",
86
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-21:",
91
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
87
92
  wait=wait_for_connection,
88
93
  fake=fake_with_ophyd_sim,
89
94
  bl_prefix=False,
@@ -96,7 +101,7 @@ def idu_phase_axes(
96
101
  return device_instantiation(
97
102
  device_factory=UndulatorPhaseAxes,
98
103
  name="idu_phase_axes",
99
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-21:",
104
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
100
105
  top_outer="RPQ1",
101
106
  top_inner="RPQ2",
102
107
  btm_inner="RPQ3",
@@ -113,7 +118,7 @@ def idu_jaw(
113
118
  return device_instantiation(
114
119
  device_factory=UndulatorJawPhase,
115
120
  name="idu_jaw",
116
- prefix=f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-21:",
121
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
117
122
  move_pv="RPQ1",
118
123
  wait=wait_for_connection,
119
124
  fake=fake_with_ophyd_sim,
@@ -255,3 +260,65 @@ def idd_la_angle(
255
260
  wait=wait_for_connection,
256
261
  fake=fake_with_ophyd_sim,
257
262
  )
263
+
264
+
265
+ @device_factory()
266
+ def first_mirror() -> PiezoMirror:
267
+ return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-COL-01:")
268
+
269
+
270
+ @device_factory()
271
+ def switching_mirror() -> PiezoMirror:
272
+ return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-SWTCH-01:")
273
+
274
+
275
+ @device_factory()
276
+ def slit_1() -> I10PrimarySlits:
277
+ return I10PrimarySlits(
278
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-01:",
279
+ )
280
+
281
+
282
+ @device_factory()
283
+ def slit_2() -> I10Slits:
284
+ return I10Slits(
285
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-02:",
286
+ )
287
+
288
+
289
+ @device_factory()
290
+ def slit_3() -> I10Slits:
291
+ return I10Slits(
292
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-03:",
293
+ )
294
+
295
+
296
+ """Rasor devices"""
297
+
298
+
299
+ @device_factory()
300
+ def focusing_mirror() -> PiezoMirror:
301
+ return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-FOCS-01:")
302
+
303
+
304
+ @device_factory()
305
+ def slit_4() -> MinimalSlits:
306
+ return MinimalSlits(
307
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-04:",
308
+ x_gap="XSIZE",
309
+ y_gap="YSIZE",
310
+ )
311
+
312
+
313
+ @device_factory()
314
+ def slit_5() -> I10Slits:
315
+ return I10Slits(
316
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-05:",
317
+ )
318
+
319
+
320
+ @device_factory()
321
+ def slit_6() -> I10Slits:
322
+ return I10Slits(
323
+ prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-06:",
324
+ )
dodal/beamlines/i24.py CHANGED
@@ -1,5 +1,6 @@
1
1
  from dodal.common.beamlines.beamline_utils import BL, device_instantiation
2
2
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
3
+ from dodal.devices.attenuator import ReadOnlyAttenuator
3
4
  from dodal.devices.detector import DetectorParams
4
5
  from dodal.devices.eiger import EigerDetector
5
6
  from dodal.devices.hutch_shutter import HutchShutter
@@ -20,7 +21,7 @@ from dodal.log import set_beamline as set_log_beamline
20
21
  from dodal.utils import get_beamline_name, skip_device
21
22
 
22
23
  ZOOM_PARAMS_FILE = (
23
- "/dls_sw/i24/software/gda_versions/gda_9_34/config/xml/jCameraManZoomLevels.xml"
24
+ "/dls_sw/i24/software/gda_versions/gda/config/xml/jCameraManZoomLevels.xml"
24
25
  )
25
26
  DISPLAY_CONFIG = "/dls_sw/i24/software/gda_versions/var/display.configuration"
26
27
 
@@ -29,6 +30,21 @@ set_log_beamline(BL)
29
30
  set_utils_beamline(BL)
30
31
 
31
32
 
33
+ def attenuator(
34
+ wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
35
+ ) -> ReadOnlyAttenuator:
36
+ """Get a read-only attenuator device for i24, instantiate it if it hasn't already
37
+ been. If this is called when already instantiated in i24, it will return the
38
+ existing object."""
39
+ return device_instantiation(
40
+ ReadOnlyAttenuator,
41
+ "attenuator",
42
+ "-OP-ATTN-01:",
43
+ wait_for_connection,
44
+ fake_with_ophyd_sim,
45
+ )
46
+
47
+
32
48
  def aperture(
33
49
  wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
34
50
  ) -> Aperture:
dodal/devices/adsim.py CHANGED
@@ -1,13 +1,13 @@
1
- from ophyd import Component, EpicsMotor, MotorBundle
1
+ from ophyd_async.core import StandardReadable
2
+ from ophyd_async.epics.motor import Motor
2
3
 
3
4
 
4
- class SimStage(MotorBundle):
5
- """
6
- ADSIM EPICS motors
7
- """
5
+ class SimStage(StandardReadable):
6
+ """Simulated Sample Stage for use with the containerised simulated beamline
7
+ https://github.com/epics-containers/example-services"""
8
8
 
9
- x = Component(EpicsMotor, "M1")
10
- y = Component(EpicsMotor, "M2")
11
- z = Component(EpicsMotor, "M3")
12
- theta = Component(EpicsMotor, "M4")
13
- load = Component(EpicsMotor, "M5")
9
+ def __init__(self, prefix: str, name: str = "sim"):
10
+ with self.add_children_as_readables():
11
+ self.x = Motor(prefix + "M1")
12
+ self.y = Motor(prefix + "M2")
13
+ super().__init__(name=name)
dodal/devices/aperture.py CHANGED
@@ -12,10 +12,3 @@ class Aperture(StandardReadable):
12
12
  self.medium = epics_signal_r(float, prefix + "Y:MEDIUM_CALC")
13
13
  self.large = epics_signal_r(float, prefix + "Y:LARGE_CALC")
14
14
  super().__init__(name)
15
-
16
- async def in_position(self):
17
- return (
18
- await self.small.get_value()
19
- or await self.medium.get_value()
20
- or await self.large.get_value()
21
- )