dls-dodal 1.33.0__py3-none-any.whl → 1.34.1__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 (52) hide show
  1. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.dist-info}/METADATA +3 -3
  2. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.dist-info}/RECORD +50 -42
  3. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.dist-info}/WHEEL +1 -1
  4. dodal/__init__.py +8 -0
  5. dodal/_version.py +2 -2
  6. dodal/beamline_specific_utils/i03.py +6 -2
  7. dodal/beamlines/__init__.py +2 -3
  8. dodal/beamlines/i03.py +41 -9
  9. dodal/beamlines/i04.py +26 -4
  10. dodal/beamlines/i10.py +257 -0
  11. dodal/beamlines/i22.py +1 -2
  12. dodal/beamlines/i24.py +7 -7
  13. dodal/beamlines/p38.py +1 -2
  14. dodal/common/types.py +2 -7
  15. dodal/devices/apple2_undulator.py +602 -0
  16. dodal/devices/areadetector/plugins/CAM.py +31 -0
  17. dodal/devices/areadetector/plugins/MJPG.py +51 -106
  18. dodal/devices/backlight.py +7 -6
  19. dodal/devices/diamond_filter.py +47 -0
  20. dodal/devices/eiger.py +6 -2
  21. dodal/devices/eiger_odin.py +48 -39
  22. dodal/devices/focusing_mirror.py +14 -8
  23. dodal/devices/i10/i10_apple2.py +398 -0
  24. dodal/devices/i10/i10_setting_data.py +7 -0
  25. dodal/devices/i22/dcm.py +7 -8
  26. dodal/devices/i24/dual_backlight.py +5 -5
  27. dodal/devices/oav/oav_calculations.py +22 -0
  28. dodal/devices/oav/oav_detector.py +118 -83
  29. dodal/devices/oav/oav_parameters.py +50 -104
  30. dodal/devices/oav/oav_to_redis_forwarder.py +75 -34
  31. dodal/devices/oav/{grid_overlay.py → snapshots/grid_overlay.py} +0 -43
  32. dodal/devices/oav/snapshots/snapshot_with_beam_centre.py +64 -0
  33. dodal/devices/oav/snapshots/snapshot_with_grid.py +57 -0
  34. dodal/devices/oav/utils.py +26 -25
  35. dodal/devices/pgm.py +41 -0
  36. dodal/devices/qbpm.py +18 -0
  37. dodal/devices/robot.py +2 -2
  38. dodal/devices/smargon.py +2 -2
  39. dodal/devices/tetramm.py +2 -2
  40. dodal/devices/undulator.py +2 -1
  41. dodal/devices/util/adjuster_plans.py +1 -1
  42. dodal/devices/util/lookup_tables.py +4 -5
  43. dodal/devices/zebra.py +5 -2
  44. dodal/devices/zocalo/zocalo_results.py +13 -10
  45. dodal/plans/data_session_metadata.py +2 -2
  46. dodal/plans/motor_util_plans.py +11 -9
  47. dodal/utils.py +7 -0
  48. dodal/beamlines/i04_1.py +0 -140
  49. dodal/devices/oav/oav_errors.py +0 -35
  50. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.dist-info}/LICENSE +0 -0
  51. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.dist-info}/entry_points.txt +0 -0
  52. {dls_dodal-1.33.0.dist-info → dls_dodal-1.34.1.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.33.0
3
+ Version: 1.34.1
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.7,>=0.6
219
+ Requires-Dist: ophyd-async <0.8,>=0.7.0a1
220
220
  Requires-Dist: bluesky
221
221
  Requires-Dist: pyepics
222
222
  Requires-Dist: dataclasses-json
@@ -263,7 +263,7 @@ Requires-Dist: types-aiofiles ; extra == 'dev'
263
263
  [![CI](https://github.com/DiamondLightSource/dodal/actions/workflows/ci.yml/badge.svg)](https://github.com/DiamondLightSource/dodal/actions/workflows/ci.yml)
264
264
  [![Coverage](https://codecov.io/gh/DiamondLightSource/dodal/branch/main/graph/badge.svg)](https://codecov.io/gh/DiamondLightSource/dodal)
265
265
  [![PyPI](https://img.shields.io/pypi/v/dls-dodal.svg)](https://pypi.org/project/dls-dodal)
266
- [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
266
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
267
267
 
268
268
  # dodal
269
269
 
@@ -1,24 +1,24 @@
1
- dodal/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
1
+ dodal/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
2
2
  dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
3
- dodal/_version.py,sha256=LSm0nkFA2tiEbj_K2UaSqjWn-14u8icXCZ6ghuRODjM,413
3
+ dodal/_version.py,sha256=i_NrncMW1U_TZOADuz4SSDOQ3OJYu6niE4QzoDFQrM0,413
4
4
  dodal/adsim.py,sha256=OW2dcS7ciD4Yq9WFw4PN_c5Bwccrmu7R-zr-u6ZCbQM,497
5
5
  dodal/cli.py,sha256=_crmaHchxphSW8eEJB58_XZIeK82aiUv9bV7tpz-LpA,2122
6
6
  dodal/log.py,sha256=0to7CRsbzbgVfAAfKRAMhsaUuKqF2-7CGdQc-z8Uhno,9499
7
- dodal/utils.py,sha256=zlHPQjJOYeEvdC-UHPRvuTZaLt4hG6o9x2Vm4eHFBDU,11851
7
+ dodal/utils.py,sha256=1dJTm77jOxD2B3flC6Xbvl7_r5L4vbGkvBSBoOhUrGY,11966
8
8
  dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- dodal/beamline_specific_utils/i03.py,sha256=eM6ZWZzpL0JYNBff8LhOnwFoZTJ5PDCY2XWI7ZKdtFY,276
9
+ dodal/beamline_specific_utils/i03.py,sha256=P6Ls4FoVtcacH0RJM3v6ZwwGx27oMppcBdW0la-ohTY,377
10
10
  dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
11
- dodal/beamlines/__init__.py,sha256=CD0Dz2H1adLsqY4H3-_QxTdODPZD6mquMfsep5W5s0Q,3076
11
+ dodal/beamlines/__init__.py,sha256=WWXqkXkufRUNFSC_b0PoHSkyKo7Tn8wNmnQCr9klh2o,3054
12
12
  dodal/beamlines/b01_1.py,sha256=nH1CzeGXc9kAZBxISsuQF33On9FuWkwFriGKfU8Qs5g,2176
13
- dodal/beamlines/i03.py,sha256=8Lra4u1kLjWUoboxuSx6Po92OymRaKaJjM9ERr9zeUI,17004
14
- dodal/beamlines/i04.py,sha256=pRVNIBaUn3oIgbxInCgBUwLqHtPirxf0fKfTfx4RcJ8,13877
15
- dodal/beamlines/i04_1.py,sha256=KDxSUQNhIs_NFiRaLY-Jiory0DeN7Y0ErvGuoTrwCDU,4731
13
+ dodal/beamlines/i03.py,sha256=WOMkGTcrrKqoBNeRObumMA8Nlo404uIr2ccfn8gK-zs,18063
14
+ dodal/beamlines/i04.py,sha256=z8LUbhyfUDU08oSp85hg7hFE8FJkAyLsqPUQScs5SUA,14567
15
+ dodal/beamlines/i10.py,sha256=0ZoFe1vuwNiP2AvNACxuN0OMXJ4DcQ3Oqa0L-w5Ch_M,7744
16
16
  dodal/beamlines/i13_1.py,sha256=csXHrdwUh4sXTmb4X6ZiiSS_XxRkNShsVoBMxYI6rG0,1833
17
17
  dodal/beamlines/i20_1.py,sha256=MaPgONHqpoZuBtkiKEzYtViJnKBM2_ekeP4OdbmuXHE,1158
18
- dodal/beamlines/i22.py,sha256=YWTz2PjOMTEO7n3QRfrCerIEUMHd6JTHsd2dYe_4F7c,9915
18
+ dodal/beamlines/i22.py,sha256=FcsRk90qTCLqrS6csXZEb8Vu9P1es2ivm3WWig2PN7U,9889
19
19
  dodal/beamlines/i23.py,sha256=2j5qLoqE_hg9ETHqNkOVu7LLkVB8qalgXeORnVYKN_I,1075
20
- dodal/beamlines/i24.py,sha256=1XVCNWbzowQB6CWpJGSLp9Ih0zypktIzHxb64h-Xj6Y,6583
21
- dodal/beamlines/p38.py,sha256=mCDjRVpY6AIFIAAYCWe-jGABHadFwfJB7poa-dGMU6s,7940
20
+ dodal/beamlines/i24.py,sha256=Eq8GZ6WVZuzGXdxBe2f5ZGsd0n2Vr8XEYFFMgpoSFzg,6422
21
+ dodal/beamlines/p38.py,sha256=36DAoKO9ziCIhRQmAwLBaWKYfTykgW1KEXlqifhHaEY,7914
22
22
  dodal/beamlines/p45.py,sha256=N4SDTIFok3uMqb37higZHMr3xRjxItsT4ib_KacKKAE,2935
23
23
  dodal/beamlines/p99.py,sha256=mHMYi1M_jgSB9SrOPadxvPuMrxG8LmJOYtU0Iw6fnIQ,1708
24
24
  dodal/beamlines/training_rig.py,sha256=yagMEQruA1iTOeQCNpux-6xOtkBuB-hhGvAJwQ5c9bg,1846
@@ -26,7 +26,7 @@ dodal/common/__init__.py,sha256=ZC4ICKUDB0BDxRaVy8nmqclVmDBne-dPtk6UJsoFq6I,258
26
26
  dodal/common/coordination.py,sha256=OxIjDiO1-9A9KESRPFtzwkvvQlavbgA5RHemlbubBPg,1168
27
27
  dodal/common/maths.py,sha256=K9x7iL3xXLtWYTV-xlFHDNSTIL9a2UP3Ws7wr6Dm2rQ,1803
28
28
  dodal/common/signal_utils.py,sha256=OsVJFntyTOHVEjhw27ZSp1e8SpKR2BhqdY1kzG6sago,1774
29
- dodal/common/types.py,sha256=r7Oxcw4lIGi-mvBWc1TF4LDB45q7N4IawNgOMhPohK8,621
29
+ dodal/common/types.py,sha256=fkL7UOwDbe3v2_VJ5f1W5RxR98Wx-Ra-LxUZWkNDtls,486
30
30
  dodal/common/udc_directory_provider.py,sha256=H-9f6uSVGuA8jyiErPi8ikCw1JDrhRAJv-qPpN-HwJk,2379
31
31
  dodal/common/visit.py,sha256=2UbbCmgOjZWSCxFzE9RYiTJhA_IoVOegma-Jv-PJqps,5787
32
32
  dodal/common/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -38,44 +38,49 @@ dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  dodal/devices/adsim.py,sha256=dMU0TKIuiODHYFHQOH4_5UvB8iJtaJEtjqaEDGjcU-w,311
39
39
  dodal/devices/aperture.py,sha256=BLaroQ3n8yd7uZyacJ3KvDWZH8yhA_sJc8b49QMKg9o,585
40
40
  dodal/devices/aperturescatterguard.py,sha256=KW4ERvfMpUadixJlzCVU6oRvLqLm6pFvsldruplAHc4,8404
41
+ dodal/devices/apple2_undulator.py,sha256=ydcr5TuoT7jEHHIkfJywUIiHYvYXsdzgU2OJ2kZtyus,22389
41
42
  dodal/devices/attenuator.py,sha256=viK1iccNekX6ZvR_ZmSwj5JdM1j2B8pcTg8qWDdmzhQ,2584
42
- dodal/devices/backlight.py,sha256=mOnptopsVOsT8JUIX_siDRgJ73CQPz_bm0Eb7oA81wc,1607
43
+ dodal/devices/backlight.py,sha256=jerjGOWuBk7TPNA3NkFRlA4DmgfVoVGAZSQ0qAyANcw,1644
43
44
  dodal/devices/cryostream.py,sha256=CpNA2HGhN_PXkL9eqH_yAPsDxyOLIiehlUxEoNmXJVg,668
44
45
  dodal/devices/dcm.py,sha256=eZNMGjLM56Ll0siU14XomB77W_grLIdxIrMOQNmYFG8,1609
45
- dodal/devices/eiger.py,sha256=sR-Fr97Y0lzzq57fFOUTwUZw5E7asoj36A1JR1QUkLI,13985
46
- dodal/devices/eiger_odin.py,sha256=tDpEhOUY02YManYAMRI3TwSDDa3uITBxI0JHevaK7Rk,7010
46
+ dodal/devices/diamond_filter.py,sha256=hLnfMrHg-EZ1YhN_4GTX1iQDk48zFJBBp03IVGy22cw,1109
47
+ dodal/devices/eiger.py,sha256=2ZT2oQiZFLprg3CjsHRkXfxt9kSf8z8uUKH1Z5n3Hzo,14107
48
+ dodal/devices/eiger_odin.py,sha256=oZl16K-Qb2yL6tK1fyDQvqbbhhvYMSVcf_e2CjlqMa4,7409
47
49
  dodal/devices/fast_grid_scan.py,sha256=WQGeKR-82fbnY4zUD_MQBsQyJgyIiuRpJK5nn_mfR1E,11969
48
50
  dodal/devices/fluorescence_detector_motion.py,sha256=5IcyaVHXa9TXLFlLB0tfpQ1_ThgIRJNaFNw_uj6ahCA,501
49
51
  dodal/devices/flux.py,sha256=RtPStHw7Mad0igVKntKWVZfuZn2clokVJqH14HLix6M,198
50
- dodal/devices/focusing_mirror.py,sha256=-jq2uqBfDjSgRVrV3-sqswPAND72cagBUQVvzd04diw,5901
52
+ dodal/devices/focusing_mirror.py,sha256=SHRYOYTX50BI5RBB3KJFTEMOg5E-BYR8khk3IyuWcak,6096
51
53
  dodal/devices/hutch_shutter.py,sha256=_-hR3SJHM05YHV_fEtc0VYOLamYnpVGDE56AwJGJS48,3320
52
54
  dodal/devices/ipin.py,sha256=qsf8E3xrJYNDwzsacNLCCp3gaqsadqmN1b-Fvou8y8k,420
53
55
  dodal/devices/linkam3.py,sha256=3oYwPtaKSPvLKEat8m7tuhE4Wizz8mg8HMrEWPCYxn0,3820
54
56
  dodal/devices/logging_ophyd_device.py,sha256=dUVE-XhWA56WUXez0mrc4sf322CXY3MVLreTycO5j_A,668
55
57
  dodal/devices/motors.py,sha256=dYa9T6FDMTbr8GvTb-lXtk3v4QEqAWRuGmHIO20fazQ,1039
56
58
  dodal/devices/p45.py,sha256=jzBW2fGRhIbGzSRs5Fgupxro6aqE611n1RTcrTTG-yY,1047
57
- dodal/devices/robot.py,sha256=yzRq-77fVrlhxaIqeORJLGkDHzGgLrHsFYTxmkG-b0w,5343
59
+ dodal/devices/pgm.py,sha256=X9JL7gDq_EUaDpPMSGeeg6S9tfU2ic7fdC2LwPRzpoU,1101
60
+ dodal/devices/qbpm.py,sha256=IxL8TisUiFvdeYYch9Dru6MDwrCzMylkFnBec839cY0,467
61
+ dodal/devices/robot.py,sha256=H60UOH5XSnHLoLSNgBuLZ8veeYNyy-fSvc8Hf06y6Q4,5339
58
62
  dodal/devices/s4_slit_gaps.py,sha256=j3kgF9WfGFaU9xdUuiAh-QqI5u_vhiAftaDVINt91SM,243
59
63
  dodal/devices/scatterguard.py,sha256=jx03in9QgaThWxD4t1S8_Llent2kWrn_hThJ9KkUWTk,330
60
64
  dodal/devices/scintillator.py,sha256=PlD6cnJ39PTB_e7QrRspPliLYE4kL_K7ziJURzuxgdA,365
61
65
  dodal/devices/slits.py,sha256=uOyVmbgeygiP6e5Z9t5zMPXLuVEWFfYg9GB3ZU76Tug,600
62
- dodal/devices/smargon.py,sha256=hX-tCftKumxk67eS5-_gQRmYOrjSyQ4s3mMJsTRuvCk,4706
66
+ dodal/devices/smargon.py,sha256=ijvz7k5a-gbZJv3rfX8uVpDWiHCkZnXcFZqarQvfPGY,4710
63
67
  dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
64
68
  dodal/devices/synchrotron.py,sha256=QtTufJA_fCaBawHougSc7nxwu240oX46_y0P-4qIW8o,1960
65
- dodal/devices/tetramm.py,sha256=EgtaExJBZWZC6lWgUEg0RcWQYmSKwRm20KjTZyhCjBk,8439
69
+ dodal/devices/tetramm.py,sha256=a48aPSPoHYCTNtVhq0YH2UNjGtJuMStjQRw7LjL98ds,8445
66
70
  dodal/devices/thawer.py,sha256=Gq-3f__KJUM6_Ds9OVxpZ5jC447HywJxQGXen6L33Lk,1616
67
71
  dodal/devices/turbo_slit.py,sha256=B6SPXqviMnG-U4PnUF1BdTO0LBKmTuwAUKRbxMiNJXo,1125
68
- dodal/devices/undulator.py,sha256=udwAodxYM9XgtsQGH2PDBA6ehtel5dAFkjsK13nKp6Q,5160
72
+ dodal/devices/undulator.py,sha256=FIjzboayAvD0EFyp6qSlzfWA_WvEFd72SbLCE03OoxE,5183
69
73
  dodal/devices/undulator_dcm.py,sha256=5hn3UZeu4CYXmfUVSdIxjrcIpStgeA1S744p0iIFp4I,2725
70
74
  dodal/devices/webcam.py,sha256=EqdzUBov5wMCULzzkfnCfD-5TQMZFQLp-2nlDHezmPs,2332
71
75
  dodal/devices/xbpm_feedback.py,sha256=-1wbnahJ_oSljQR0Sjiwn3mytVP-VwsAy0a_YPjPM0Y,1168
72
- dodal/devices/zebra.py,sha256=iTHkKv8EP-gkr0Cl2gR9yxt2qTHT2Q4etS67Rshf83k,9327
76
+ dodal/devices/zebra.py,sha256=0eK23zIGm-vLVvLMwR8xnjBtIBQFUqHcl0ndbfUKNBE,9455
73
77
  dodal/devices/zebra_controlled_shutter.py,sha256=w2ISASJ_sb3dbQGi63Yuj3ymTkjX73aSl_ZTYs8TyaI,1860
74
78
  dodal/devices/areadetector/__init__.py,sha256=8IwLxuZMW0MOJpJp_ZDdlaE20hrtsH_PXWGaKgMiYs4,240
75
79
  dodal/devices/areadetector/adaravis.py,sha256=Cqw_Mzrp_zODFxQ2LZBJzHp_DsZ6_dAITkZz8gYz_0w,3797
76
80
  dodal/devices/areadetector/adsim.py,sha256=cIc9PRbKnftBk7Ut8d8CU_TVrin8EwcKHObP2n9VxWM,1876
77
81
  dodal/devices/areadetector/adutils.py,sha256=4axFR3wtn-K-sjMVJyfTcu-8g35odf2cY8mTKv1gS-o,3093
78
- dodal/devices/areadetector/plugins/MJPG.py,sha256=XztHFB1e7qHeZORYxvPgHfDMfkpXGKvfQYmej_hGVVc,4934
82
+ dodal/devices/areadetector/plugins/CAM.py,sha256=fQkZNnnq80q2sloo1XTZH0wUwiY6q-9bECmMhMFwhjQ,976
83
+ dodal/devices/areadetector/plugins/MJPG.py,sha256=H_v92l8GrGS2AfpxUH8UbZG5RzFSUB7J7YPp2Ci4Ih8,3033
79
84
  dodal/devices/detector/__init__.py,sha256=-RdACL3tzc3lLArWOoGNje48UUlv2fElOmGOz9yOuO0,317
80
85
  dodal/devices/detector/det_dim_constants.py,sha256=LNrVMd0DbFEcnyNFmXosCP-VYaZ71Ajuv6inwo4Mg3U,2299
81
86
  dodal/devices/detector/det_dist_to_beam_converter.py,sha256=7keoqZYfvgayePVx97lHYpcFRTJnQOfAk_PYP4EZTZQ,1951
@@ -84,38 +89,41 @@ dodal/devices/detector/detector.py,sha256=syzkl52kGaMINXCXEviFuYPbgNatm5tioVPDmj
84
89
  dodal/devices/detector/detector_motion.py,sha256=LjHNi9FcDSZoriQYrFde8fEmwCGccFgSHPtcxivix4g,1628
85
90
  dodal/devices/i03/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
91
  dodal/devices/i04/transfocator.py,sha256=uieByXIj0JRbmvMB_om5NOAEbEJkzfkCD24bl2aEo1g,3154
92
+ dodal/devices/i10/i10_apple2.py,sha256=v2C7S5BhPPdZcVt4HGjBYYcFoqGz4kurvA6eCG624qk,13017
93
+ dodal/devices/i10/i10_setting_data.py,sha256=pvQ1S2j3WrbGvJLyUm78JIfYMIOtw4JvtyfdcoLsMjY,142
87
94
  dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- dodal/devices/i22/dcm.py,sha256=YXf4iH4-dNTfm0NPUgrbn1iLP24id4pR8xLsvLc_iWg,6290
95
+ dodal/devices/i22/dcm.py,sha256=3tf9fWkFvlxJipZCzjPo1H2beXwxbGxsDQ9YCOGbP_4,6213
89
96
  dodal/devices/i22/fswitch.py,sha256=AlyZ_RdbXoMHrG2-sddNOUyLl3vkBdduXVnFL_rMgLo,3046
90
97
  dodal/devices/i22/nxsas.py,sha256=a8oJXl5uhkh9zcb9rSZmVooU-SplzzO3EsAaHJZRfrQ,6086
91
98
  dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
99
  dodal/devices/i24/aperture.py,sha256=bbT4ts5jfrjrOxG199RGDxIYmzVyv1k0ZlZcmS6kEzU,849
93
100
  dodal/devices/i24/beamstop.py,sha256=GpqSaHlyZfcUfaCgvQRjhDgNdGsrOwV_NqG9JLfcusY,1233
94
101
  dodal/devices/i24/dcm.py,sha256=nP2qymTy5TrOu078XOY7h1TEwVfcgli5lTyxmwsG4O8,1990
95
- dodal/devices/i24/dual_backlight.py,sha256=Th-RKr28aFxE8LCT_mdN9KkRIVw0BHLGKkI0ienfRZU,2049
102
+ dodal/devices/i24/dual_backlight.py,sha256=7QnVj75GtfN2Ickkna4-JM1fTaioj37TnArBeiUbJPY,2034
96
103
  dodal/devices/i24/i24_detector_motion.py,sha256=_HgdsZqFYY0tKqUgMzViHaPEUFXL3WlXXioGvDehRUw,364
97
104
  dodal/devices/i24/i24_vgonio.py,sha256=Igqs7687z6lyhGVeJEDtDmPachYxU48MUH2BF0RpK9Q,461
98
105
  dodal/devices/i24/pmac.py,sha256=qug40tz00vjvmQox3W6GrEcorriEeGkNyP5m4u5CVHo,7201
99
106
  dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- dodal/devices/oav/grid_overlay.py,sha256=kYs4sCvmo7yG75HQtptuI8jPzM7dR4fSqnOGL0D5j6g,5338
101
107
  dodal/devices/oav/microns_for_zoom_levels.json,sha256=kJTkbu2v6_Ccc_cDy7FRTX-gRhXxfYskjVqwBCZIqCQ,1209
102
- dodal/devices/oav/oav_calculations.py,sha256=wt71vFcyQrr98FvX8oyUM2n5vmKi3K7PyOTuWp0gq5w,1665
103
- dodal/devices/oav/oav_detector.py,sha256=ZlVzFo01hYi2qITMP6k6TbTE9-7c8veMDoDcTiyU6kc,3178
104
- dodal/devices/oav/oav_errors.py,sha256=cc4mGnaTiAc5WIlOt_BIYOc7CRSkrCdnBaavfAJ0pXY,754
105
- dodal/devices/oav/oav_parameters.py,sha256=rI0kRl8B-N2mw91yYf1lEQVn0hkBQCPU7jvljr5ZNpk,8235
106
- dodal/devices/oav/oav_to_redis_forwarder.py,sha256=3I8Vk1Qx04aVftXb7VVkHUVHweGGUyuLFdmaasmb_Qk,4606
107
- dodal/devices/oav/utils.py,sha256=OyE4h4eq_jg9bEq5DfcjCU-wfSJifO2-PIsrDbsa0NE,3020
108
+ dodal/devices/oav/oav_calculations.py,sha256=tr3Z2pFT7v_enAiNuSZV0esPsiHfRGrj7t0-g_Ix5Do,2363
109
+ dodal/devices/oav/oav_detector.py,sha256=aStDk40tJ63aJoAtzm621HFqkZjkinJ9EgY5VvCSRTw,4812
110
+ dodal/devices/oav/oav_parameters.py,sha256=gGN73TQGUiRzlIO5YKiqCRkjpTKsV6LFGo7Eu4Vs82g,6074
111
+ dodal/devices/oav/oav_to_redis_forwarder.py,sha256=pjBm80ZmsRdF7KqG30dlj_Tzk7_r3m8QT5AvdSFOg2c,6238
112
+ dodal/devices/oav/utils.py,sha256=tzBEgATtn2yfhUhhhbSfYkew7BMbk7iTHVhlxfGLe94,3105
108
113
  dodal/devices/oav/pin_image_recognition/__init__.py,sha256=l5IsWMDZDw3-jk0DkGpiw_BzqyfVYRonlfX6Je1ZPR0,6446
109
114
  dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
110
115
  dodal/devices/oav/pin_image_recognition/utils.py,sha256=L9ypluYqeOFoS7gQuws-vTNc8LqaKl2ZIDNeQ2JaNpg,8592
116
+ dodal/devices/oav/snapshots/grid_overlay.py,sha256=E1KviiM6TeDzjbB16_ecrtIm4cC74nme2Lc7ZQIKCTI,3626
117
+ dodal/devices/oav/snapshots/snapshot_with_beam_centre.py,sha256=HzgwaOwBeXFRA0DyXaffvlDe6qw5kuxmFnn8_zn8KMQ,1905
118
+ dodal/devices/oav/snapshots/snapshot_with_grid.py,sha256=-fqfChbVQTK3S18TKewnhobkaDoV0ULhcRO_dWwcmSc,2243
111
119
  dodal/devices/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
120
  dodal/devices/p99/sample_stage.py,sha256=kvwKCDUmXqcoXfIbAENtqm3Hi2cHP7dZIPQgQT6hsXw,1140
113
121
  dodal/devices/training_rig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
122
  dodal/devices/training_rig/sample_stage.py,sha256=jktTp837ij8wor5LidE3AajCk95L7DebJotMlO7QwTE,355
115
123
  dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- dodal/devices/util/adjuster_plans.py,sha256=g4HTpji3XhIhpWvyDLyCYYLGOSE7uNpDeQHfh8259hE,878
124
+ dodal/devices/util/adjuster_plans.py,sha256=XpJ1YJKoOCFzj2sonkZYJAdewi3jRaok_2gOmNsfeS0,956
117
125
  dodal/devices/util/epics_util.py,sha256=R0_I9HEZ2l19BZaTpevPqT3p3kp5GZCfmNNmnXGfdsc,4689
118
- dodal/devices/util/lookup_tables.py,sha256=FxT2fiIjDJNOqUf_pcW0fKJmwhOUZiF8UGTFz6hWf5g,2132
126
+ dodal/devices/util/lookup_tables.py,sha256=Bk-wZk7JO5_j_8gbot-8reirVqxvFUg9_SIqEIOVZu0,2025
119
127
  dodal/devices/util/motor_utils.py,sha256=pNY-aUk9LxaIWeDr5rpMS6udiB9j19wcCXkNDLp1uA0,257
120
128
  dodal/devices/util/save_panda.py,sha256=PHFlkerBhkkU0-o5dNEdi2P95_jD9Lk8yYgaqn9R97o,2538
121
129
  dodal/devices/util/test_utils.py,sha256=VrSFFGLNKOcCAsWFMZOxwhng3wGR5kV8NqqnKfj8Vuw,562
@@ -123,14 +131,14 @@ dodal/devices/xspress3/xspress3.py,sha256=JTx3ppAc8GwV9K-Gfqo81iGYH_L-ONyFWiPRs9
123
131
  dodal/devices/xspress3/xspress3_channel.py,sha256=yJRwseLmtkW2Vv6GB8sLdOFuBn3e4c9Q8fgPacMgl5w,1638
124
132
  dodal/devices/zocalo/__init__.py,sha256=oPhjFB39yf2NWkGD-MMcPFnnOVZ_RtdyBt2OLYn-Xa4,505
125
133
  dodal/devices/zocalo/zocalo_interaction.py,sha256=y8YKMaVwfsRPBofHGGLYmYsd4QwMvm7JIPEo6wrN_Xo,3493
126
- dodal/devices/zocalo/zocalo_results.py,sha256=MStx8iK--ITff-rT3AQu_RHnqKqNGLJDVyV3ewBwaKE,14316
134
+ dodal/devices/zocalo/zocalo_results.py,sha256=WgNGgu4sXIlhL5-G444uxhKbWc9HOYIOTwd2NuV8-0o,14511
127
135
  dodal/parameters/experiment_parameter_base.py,sha256=O7JamfuJ5cYHkPf9tsHJPqn-OMHTAGouigvM1cDFehE,313
128
136
  dodal/plans/check_topup.py,sha256=3gyLHfHNQBCgEWuAg4QE-ONx7y2Do1vVv5HP8ss0Z1I,5371
129
- dodal/plans/data_session_metadata.py,sha256=urexZ3mA0K6VWxVW3MlrcsB1Tyi09tFvpKBlaVil7TQ,1567
130
- dodal/plans/motor_util_plans.py,sha256=JT1K4DBB66MrzNqimxFgiL6mRsj11fF7xZXOz0udEeo,4522
131
- dls_dodal-1.33.0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
132
- dls_dodal-1.33.0.dist-info/METADATA,sha256=wwy8R9Z3KMfUP7WOcWSZVk7EdoYqRSPXREOqroAGALo,16574
133
- dls_dodal-1.33.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
134
- dls_dodal-1.33.0.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
135
- dls_dodal-1.33.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
136
- dls_dodal-1.33.0.dist-info/RECORD,,
137
+ dodal/plans/data_session_metadata.py,sha256=GjR4E2s3ZwYkvkBnW6TcL6OLdmyxrmkoSSI242sEPFA,1567
138
+ dodal/plans/motor_util_plans.py,sha256=1s02s_Yn7vusv8o64n5p4yiibmQ5ETv8t59CD27h8gw,4655
139
+ dls_dodal-1.34.1.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
140
+ dls_dodal-1.34.1.dist-info/METADATA,sha256=y8nPhARI53GhOTWacruJ4nJ0lTCHOMLBID0_XRjNDec,16579
141
+ dls_dodal-1.34.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
142
+ dls_dodal-1.34.1.dist-info/entry_points.txt,sha256=bycw_EKUzup_rxfCetOwcauXV4kLln_OPpPT8jEnr-I,94
143
+ dls_dodal-1.34.1.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
144
+ dls_dodal-1.34.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
dodal/__init__.py CHANGED
@@ -1,3 +1,11 @@
1
+ """Top level API.
2
+
3
+ .. data:: __version__
4
+ :type: str
5
+
6
+ Version number as calculated by https://github.com/pypa/setuptools_scm
7
+ """
8
+
1
9
  from ._version import __version__
2
10
 
3
11
  __all__ = ["__version__"]
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.33.0'
16
- __version_tuple__ = version_tuple = (1, 33, 0)
15
+ __version__ = version = '1.34.1'
16
+ __version_tuple__ = version_tuple = (1, 34, 1)
@@ -1,6 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
 
3
- I03_BEAM_HEIGHT_UM = 20
3
+ I03_BEAM_HEIGHT_UM = 20.0
4
+ I03_BEAM_WIDTH_UM = 80.0
4
5
 
5
6
 
6
7
  @dataclass
@@ -10,4 +11,7 @@ class BeamSize:
10
11
 
11
12
 
12
13
  def beam_size_from_aperture(aperture_size: float | None):
13
- return BeamSize(aperture_size, I03_BEAM_HEIGHT_UM if aperture_size else None)
14
+ return BeamSize(
15
+ min(aperture_size, I03_BEAM_WIDTH_UM) if aperture_size else None,
16
+ I03_BEAM_HEIGHT_UM if aperture_size else None,
17
+ )
@@ -5,11 +5,10 @@ from pathlib import Path
5
5
 
6
6
  # Where beamline names (per the ${BEAMLINE} environment variable don't always
7
7
  # match up, we have to map between them bidirectionally). The most common use case is
8
- # beamlines with a "-"" in the name such as "i04-1", which is not valid in a Python
8
+ # beamlines with a "-"" in the name such as "i20-1", which is not valid in a Python
9
9
  # module name. Add any new beamlines whose name differs from their module name to this
10
10
  # dictionary, which maps ${BEAMLINE} to dodal.beamlines.<MODULE NAME>
11
11
  _BEAMLINE_NAME_OVERRIDES = {
12
- "i04-1": "i04_1",
13
12
  "i13-1": "i13_1",
14
13
  "i20-1": "i20_1",
15
14
  "s03": "i03",
@@ -79,7 +78,7 @@ def _module_name_overrides() -> Mapping[str, set[str]]:
79
78
  def module_name_for_beamline(beamline: str) -> str:
80
79
  """
81
80
  Get the module name for a particular beamline, it may differ from the beamline
82
- name e.g. i04-1 -> i04_1
81
+ name e.g. i20-1 -> i20_1
83
82
 
84
83
  Args:
85
84
  beamline: The beamline name as per the ${BEAMLINE} environment variable
dodal/beamlines/i03.py CHANGED
@@ -19,13 +19,16 @@ from dodal.devices.cryostream import CryoStream
19
19
  from dodal.devices.dcm import DCM
20
20
  from dodal.devices.detector import DetectorParams
21
21
  from dodal.devices.detector.detector_motion import DetectorMotion
22
+ from dodal.devices.diamond_filter import DiamondFilter, I03Filters
22
23
  from dodal.devices.eiger import EigerDetector
23
24
  from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScan
24
25
  from dodal.devices.flux import Flux
25
- from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, VFMMirrorVoltages
26
+ from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
26
27
  from dodal.devices.motors import XYZPositioner
27
- from dodal.devices.oav.oav_detector import OAV, OAVConfigParams
28
+ from dodal.devices.oav.oav_detector import OAV
29
+ from dodal.devices.oav.oav_parameters import OAVConfig
28
30
  from dodal.devices.oav.pin_image_recognition import PinTipDetection
31
+ from dodal.devices.qbpm import QBPM
29
32
  from dodal.devices.robot import BartRobot
30
33
  from dodal.devices.s4_slit_gaps import S4SlitGaps
31
34
  from dodal.devices.smargon import Smargon
@@ -121,12 +124,12 @@ def vfm(
121
124
 
122
125
 
123
126
  @skip_device(lambda: BL == "s03")
124
- def vfm_mirror_voltages(
127
+ def mirror_voltages(
125
128
  wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
126
- ) -> VFMMirrorVoltages:
129
+ ) -> MirrorVoltages:
127
130
  return device_instantiation(
128
- device_factory=VFMMirrorVoltages,
129
- name="vfm_mirror_voltages",
131
+ device_factory=MirrorVoltages,
132
+ name="mirror_voltages",
130
133
  prefix="-MO-PSU-01:",
131
134
  wait=wait_for_connection,
132
135
  fake=fake_with_ophyd_sim,
@@ -225,7 +228,7 @@ def panda_fast_grid_scan(
225
228
  def oav(
226
229
  wait_for_connection: bool = True,
227
230
  fake_with_ophyd_sim: bool = False,
228
- params: OAVConfigParams | None = None,
231
+ params: OAVConfig | None = None,
229
232
  ) -> OAV:
230
233
  """Get the i03 OAV device, instantiate it if it hasn't already been.
231
234
  If this is called when already instantiated in i03, it will return the existing object.
@@ -233,10 +236,10 @@ def oav(
233
236
  return device_instantiation(
234
237
  OAV,
235
238
  "oav",
236
- "",
239
+ "-DI-OAV-01:",
237
240
  wait_for_connection,
238
241
  fake_with_ophyd_sim,
239
- params=params or OAVConfigParams(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
242
+ config=params or OAVConfig(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
240
243
  )
241
244
 
242
245
 
@@ -516,3 +519,32 @@ def cryo_stream(
516
519
  wait_for_connection,
517
520
  fake_with_ophyd_sim,
518
521
  )
522
+
523
+
524
+ def diamond_filter(
525
+ wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
526
+ ) -> DiamondFilter[I03Filters]:
527
+ """Get the i03 diamond filter device, instantiate it if it hasn't already been.
528
+ If this is called when already instantiated in i03, it will return the existing object.
529
+ """
530
+ return device_instantiation(
531
+ DiamondFilter[I03Filters],
532
+ "diamond_filter",
533
+ "-MO-FLTR-01:",
534
+ wait_for_connection,
535
+ fake_with_ophyd_sim,
536
+ data_type=I03Filters,
537
+ )
538
+
539
+
540
+ def qbpm(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) -> QBPM:
541
+ """Get the i03 qbpm device, instantiate it if it hasn't already been.
542
+ If this is called when already instantiated in i03, it will return the existing object.
543
+ """
544
+ return device_instantiation(
545
+ QBPM,
546
+ "qbpm",
547
+ "-DI-QBPM-01:",
548
+ wait_for_connection,
549
+ fake_with_ophyd_sim,
550
+ )
dodal/beamlines/i04.py CHANGED
@@ -11,13 +11,15 @@ from dodal.devices.backlight import Backlight
11
11
  from dodal.devices.dcm import DCM
12
12
  from dodal.devices.detector import DetectorParams
13
13
  from dodal.devices.detector.detector_motion import DetectorMotion
14
+ from dodal.devices.diamond_filter import DiamondFilter, I04Filters
14
15
  from dodal.devices.eiger import EigerDetector
15
16
  from dodal.devices.fast_grid_scan import ZebraFastGridScan
16
17
  from dodal.devices.flux import Flux
17
18
  from dodal.devices.i04.transfocator import Transfocator
18
19
  from dodal.devices.ipin import IPin
19
20
  from dodal.devices.motors import XYZPositioner
20
- from dodal.devices.oav.oav_detector import OAV, OAVConfigParams
21
+ from dodal.devices.oav.oav_detector import OAV
22
+ from dodal.devices.oav.oav_parameters import OAVConfig
21
23
  from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder
22
24
  from dodal.devices.robot import BartRobot
23
25
  from dodal.devices.s4_slit_gaps import S4SlitGaps
@@ -343,17 +345,21 @@ def zebra(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) -
343
345
 
344
346
 
345
347
  @skip_device(lambda: BL == "s04")
346
- def oav(wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False) -> OAV:
348
+ def oav(
349
+ wait_for_connection: bool = True,
350
+ fake_with_ophyd_sim: bool = False,
351
+ params: OAVConfig | None = None,
352
+ ) -> OAV:
347
353
  """Get the i04 OAV device, instantiate it if it hasn't already been.
348
354
  If this is called when already instantiated in i04, it will return the existing object.
349
355
  """
350
356
  return device_instantiation(
351
357
  OAV,
352
358
  "oav",
353
- "",
359
+ "-DI-OAV-01:",
354
360
  wait_for_connection,
355
361
  fake_with_ophyd_sim,
356
- params=OAVConfigParams(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
362
+ config=params or OAVConfig(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
357
363
  )
358
364
 
359
365
 
@@ -419,3 +425,19 @@ def oav_to_redis_forwarder(
419
425
  redis_password=REDIS_PASSWORD,
420
426
  redis_db=7,
421
427
  )
428
+
429
+
430
+ def diamond_filter(
431
+ wait_for_connection: bool = True, fake_with_ophyd_sim: bool = False
432
+ ) -> DiamondFilter[I04Filters]:
433
+ """Get the i04 diamond filter device, instantiate it if it hasn't already been.
434
+ If this is called when already instantiated in i03, it will return the existing object.
435
+ """
436
+ return device_instantiation(
437
+ DiamondFilter[I04Filters],
438
+ "diamond_filter",
439
+ "-MO-FLTR-01:",
440
+ wait_for_connection,
441
+ fake_with_ophyd_sim,
442
+ data_type=I04Filters,
443
+ )