dls-dodal 1.52.0__tar.gz → 1.54.0__tar.gz

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 (527) hide show
  1. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_release.yml +1 -1
  2. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_test.yml +1 -1
  3. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/PKG-INFO +4 -6
  4. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/dev-install.md +5 -1
  5. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/reference/standards.rst +1 -1
  6. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/pyproject.toml +18 -8
  7. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/PKG-INFO +4 -6
  8. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/SOURCES.txt +8 -0
  9. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/requires.txt +2 -4
  10. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/_version.py +2 -2
  11. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/__init__.py +1 -0
  12. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/adsim.py +12 -11
  13. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b01_1.py +2 -2
  14. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b07.py +6 -3
  15. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b07_1.py +17 -6
  16. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b21.py +4 -4
  17. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i04.py +12 -7
  18. dls_dodal-1.54.0/src/dodal/beamlines/i05.py +22 -0
  19. dls_dodal-1.54.0/src/dodal/beamlines/i05_1.py +17 -0
  20. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i09.py +7 -3
  21. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i09_1.py +6 -3
  22. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i19_1.py +1 -1
  23. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i20_1.py +38 -9
  24. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/p60.py +13 -3
  25. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/beamlines/beamline_parameters.py +1 -1
  26. dls_dodal-1.54.0/src/dodal/devices/b07/__init__.py +3 -0
  27. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/b07/enums.py +15 -0
  28. dls_dodal-1.54.0/src/dodal/devices/b07_1/__init__.py +12 -0
  29. dls_dodal-1.54.0/src/dodal/devices/b07_1/ccmc.py +79 -0
  30. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/b07_1/enums.py +3 -0
  31. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +25 -48
  32. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +9 -11
  33. dls_dodal-1.54.0/src/dodal/devices/electron_analyser/abstract/types.py +12 -0
  34. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/specs/detector.py +9 -9
  35. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +54 -21
  36. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/specs/region.py +13 -8
  37. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/types.py +15 -6
  38. dls_dodal-1.54.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +47 -0
  39. dls_dodal-1.54.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +114 -0
  40. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +33 -16
  41. dls_dodal-1.54.0/src/dodal/devices/i05/__init__.py +3 -0
  42. dls_dodal-1.54.0/src/dodal/devices/i05/enums.py +8 -0
  43. dls_dodal-1.54.0/src/dodal/devices/i09/__init__.py +4 -0
  44. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i09/enums.py +16 -0
  45. dls_dodal-1.54.0/src/dodal/devices/i09_1/__init__.py +3 -0
  46. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i09_1/enums.py +13 -0
  47. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i13_1/merlin_controller.py +1 -1
  48. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i19/beamstop.py +2 -2
  49. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/aperture.py +1 -1
  50. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +1 -2
  51. dls_dodal-1.54.0/src/dodal/devices/p60/__init__.py +10 -0
  52. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p60/enums.py +16 -0
  53. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/robot.py +6 -3
  54. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/tetramm.py +1 -2
  55. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/utils.py +3 -10
  56. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/system_tests/test_adsim.py +15 -2
  57. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i04/test_transfocator.py +1 -1
  58. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i13_1/test_merlin.py +5 -3
  59. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i18/test_kb_mirror.py +7 -19
  60. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i19/test_shutter.py +3 -7
  61. dls_dodal-1.54.0/tests/devices/i22/test_dcm.py +128 -0
  62. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i22/test_fswitch.py +2 -4
  63. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/test_diamond_filter.py +2 -4
  64. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/test_motors.py +21 -57
  65. dls_dodal-1.54.0/tests/devices/unit_tests/b07_1/test_ccmc.py +111 -0
  66. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +15 -6
  67. dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +93 -0
  68. dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py +85 -0
  69. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/conftest.py +10 -36
  70. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +11 -4
  71. dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +240 -0
  72. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +33 -51
  73. dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/util.py +86 -0
  74. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +12 -4
  75. dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +253 -0
  76. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +54 -60
  77. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/test_pmac.py +1 -1
  78. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +12 -1
  79. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_apple2_undulator.py +8 -16
  80. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_attenuator.py +1 -1
  81. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_backlight.py +3 -7
  82. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_bart_robot.py +51 -28
  83. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_baton.py +3 -7
  84. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_focusing_mirror.py +0 -5
  85. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_gridscan.py +2 -3
  86. dls_dodal-1.54.0/tests/devices/unit_tests/test_motors.py +28 -0
  87. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_pressure_jump_cell.py +65 -91
  88. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_qbpm.py +2 -4
  89. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_slits.py +5 -13
  90. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_turbo_slit.py +4 -10
  91. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_undulator.py +10 -27
  92. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +6 -10
  93. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_xspress3.py +2 -2
  94. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/conftest.py +2 -2
  95. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +4 -0
  96. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/electron_analyser/specs_sequence.seq +18 -0
  97. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/electron_analyser/vgscienta_sequence.seq +24 -0
  98. dls_dodal-1.52.0/src/dodal/devices/b07/__init__.py +0 -3
  99. dls_dodal-1.52.0/src/dodal/devices/b07_1/__init__.py +0 -3
  100. dls_dodal-1.52.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -37
  101. dls_dodal-1.52.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -76
  102. dls_dodal-1.52.0/src/dodal/devices/i09/__init__.py +0 -4
  103. dls_dodal-1.52.0/src/dodal/devices/i09_1/__init__.py +0 -3
  104. dls_dodal-1.52.0/src/dodal/devices/p60/__init__.py +0 -4
  105. dls_dodal-1.52.0/tests/devices/i22/test_dcm.py +0 -217
  106. dls_dodal-1.52.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +0 -221
  107. dls_dodal-1.52.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +0 -134
  108. dls_dodal-1.52.0/tests/devices/unit_tests/electron_analyser/util.py +0 -84
  109. dls_dodal-1.52.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +0 -139
  110. dls_dodal-1.52.0/tests/devices/unit_tests/test_motors.py +0 -40
  111. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.copier-answers.yml +0 -0
  112. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.devcontainer/devcontainer.json +0 -0
  113. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/CODEOWNERS +0 -0
  114. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/CONTRIBUTING.md +0 -0
  115. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  116. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/actions/install_requirements/action.yml +0 -0
  117. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/dependabot.yml +0 -0
  118. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/pages/index.html +0 -0
  119. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/pages/make_switcher.py +0 -0
  120. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/scripts/check_test_durations.py +0 -0
  121. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_dist.yml +0 -0
  122. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_docs.yml +0 -0
  123. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_pypi.yml +0 -0
  124. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/_tox.yml +0 -0
  125. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/ci.yml +0 -0
  126. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.github/workflows/periodic.yml +0 -0
  127. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.gitignore +0 -0
  128. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.pre-commit-config.yaml +0 -0
  129. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.vscode/extensions.json +0 -0
  130. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.vscode/launch.json +0 -0
  131. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.vscode/settings.json +0 -0
  132. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/.vscode/tasks.json +0 -0
  133. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/Dockerfile +0 -0
  134. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/LICENSE +0 -0
  135. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/README.md +0 -0
  136. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/catalog-info.yaml +0 -0
  137. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/conftest.py +0 -0
  138. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/_templates/autosummary/class.rst +0 -0
  139. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/_templates/autosummary/module.rst +0 -0
  140. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/_templates/custom-module-template.rst +0 -0
  141. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/assets/zocalo.png +0 -0
  142. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/conf.py +0 -0
  143. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  144. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  145. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  146. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  147. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  148. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions/COPYME +0 -0
  149. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/decisions.md +0 -0
  150. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/reviews.md +0 -0
  151. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/umls/apple2_design.png +0 -0
  152. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations/umls/i10_id_design.png +0 -0
  153. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/explanations.md +0 -0
  154. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/genindex.md +0 -0
  155. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/build-docs.md +0 -0
  156. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/contribute.md +0 -0
  157. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/coverage.md +0 -0
  158. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/create-beamline.rst +0 -0
  159. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/create-device.md +0 -0
  160. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/excalidraw.md +0 -0
  161. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/external-io-devices.md +0 -0
  162. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/lint.md +0 -0
  163. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/lock-requirements.md +0 -0
  164. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/make-release.md +0 -0
  165. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/move-code.rst +0 -0
  166. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/pypi.md +0 -0
  167. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/run-tests.md +0 -0
  168. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/static-analysis.md +0 -0
  169. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/update-template.md +0 -0
  170. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/write-tests.md +0 -0
  171. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to/zocalo.rst +0 -0
  172. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/how-to.md +0 -0
  173. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/images/dls-logo.svg +0 -0
  174. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/images/excalidraw-example.svg +0 -0
  175. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/index.md +0 -0
  176. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/reference/api.md +0 -0
  177. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/reference/device-standards.rst +0 -0
  178. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/reference.md +0 -0
  179. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/tutorials/get_started.rst +0 -0
  180. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/tutorials/installation.md +0 -0
  181. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/docs/tutorials.md +0 -0
  182. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/pull_request_template.md +0 -0
  183. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/setup.cfg +0 -0
  184. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/__init__.py +0 -0
  185. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  186. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  187. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  188. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/__init__.py +0 -0
  189. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/__main__.py +0 -0
  190. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  191. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
  192. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/README.md +0 -0
  193. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/aithre.py +0 -0
  194. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b16.py +0 -0
  195. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/b18.py +0 -0
  196. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i02_1.py +0 -0
  197. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i03.py +0 -0
  198. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i09_2.py +0 -0
  199. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i10.py +0 -0
  200. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i13_1.py +0 -0
  201. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i18.py +0 -0
  202. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i19_2.py +0 -0
  203. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i19_optics.py +0 -0
  204. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i22.py +0 -0
  205. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i23.py +0 -0
  206. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/i24.py +0 -0
  207. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/k11.py +0 -0
  208. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/p38.py +0 -0
  209. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/p45.py +0 -0
  210. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/p99.py +0 -0
  211. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/beamlines/training_rig.py +0 -0
  212. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/cli.py +0 -0
  213. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/__init__.py +0 -0
  214. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/beamlines/__init__.py +0 -0
  215. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  216. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  217. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/coordination.py +0 -0
  218. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/crystal_metadata.py +0 -0
  219. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/data_util.py +0 -0
  220. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/device_utils.py +0 -0
  221. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/maths.py +0 -0
  222. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/types.py +0 -0
  223. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/udc_directory_provider.py +0 -0
  224. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/common/visit.py +0 -0
  225. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/CTAB.py +0 -0
  226. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/__init__.py +0 -0
  227. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
  228. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  229. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/aperture.py +0 -0
  230. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/aperturescatterguard.py +0 -0
  231. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/apple2_undulator.py +0 -0
  232. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
  233. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
  234. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  235. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/attenuator/filter.py +0 -0
  236. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  237. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/b16/__init__.py +0 -0
  238. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/b16/detector.py +0 -0
  239. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/backlight.py +0 -0
  240. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/baton.py +0 -0
  241. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  242. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/common_dcm.py +0 -0
  243. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/cryostream.py +0 -0
  244. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  245. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  246. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  247. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  248. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  249. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  250. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/__init__.py +0 -0
  251. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  252. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  253. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/det_resolution.py +0 -0
  254. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/detector.py +0 -0
  255. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  256. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/diamond_filter.py +0 -0
  257. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/eiger.py +0 -0
  258. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/eiger_odin.py +0 -0
  259. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  260. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  261. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  262. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  263. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  264. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  265. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  266. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  267. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  268. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  269. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/fast_grid_scan.py +0 -0
  270. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  271. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/flux.py +0 -0
  272. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/focusing_mirror.py +0 -0
  273. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/hutch_shutter.py +0 -0
  274. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i03/__init__.py +0 -0
  275. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i03/dcm.py +0 -0
  276. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i03/undulator_dcm.py +0 -0
  277. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i04/__init__.py +0 -0
  278. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i04/constants.py +0 -0
  279. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i04/murko_results.py +0 -0
  280. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i04/transfocator.py +0 -0
  281. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i09/dcm.py +0 -0
  282. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/__init__.py +0 -0
  283. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/diagnostics.py +0 -0
  284. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/i10_apple2.py +0 -0
  285. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  286. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/mirrors.py +0 -0
  287. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  288. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  289. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  290. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i10/slits.py +0 -0
  291. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i13_1/__init__.py +0 -0
  292. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  293. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i18/KBMirror.py +0 -0
  294. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i18/diode.py +0 -0
  295. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i19/__init__.py +0 -0
  296. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
  297. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i19/hutch_access.py +0 -0
  298. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i19/shutter.py +0 -0
  299. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i20_1/__init__.py +0 -0
  300. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i22/dcm.py +0 -0
  301. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i22/fswitch.py +0 -0
  302. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i22/nxsas.py +0 -0
  303. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/__init__.py +0 -0
  304. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/beam_center.py +0 -0
  305. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/beamstop.py +0 -0
  306. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/dcm.py +0 -0
  307. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  308. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  309. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
  310. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/pmac.py +0 -0
  311. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/i24/vgonio.py +0 -0
  312. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/ipin.py +0 -0
  313. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/linkam3.py +0 -0
  314. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/motors.py +0 -0
  315. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
  316. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/__init__.py +0 -0
  317. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
  318. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/oav_detector.py +0 -0
  319. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
  320. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +1 -1
  321. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  322. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
  323. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  324. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  325. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  326. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
  327. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/oav/utils.py +0 -0
  328. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p45.py +0 -0
  329. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  330. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p99/__init__.py +0 -0
  331. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  332. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  333. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/pgm.py +0 -0
  334. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/positioner.py +0 -0
  335. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  336. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/qbpm.py +0 -0
  337. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  338. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/scintillator.py +0 -0
  339. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/slits.py +0 -0
  340. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/smargon.py +0 -0
  341. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/status.py +0 -0
  342. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/synchrotron.py +0 -0
  343. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/thawer.py +0 -0
  344. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/turbo_slit.py +0 -0
  345. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/undulator.py +0 -0
  346. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/util/__init__.py +0 -0
  347. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  348. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/util/epics_util.py +0 -0
  349. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  350. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/util/test_utils.py +0 -0
  351. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  352. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/webcam.py +0 -0
  353. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  354. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  355. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  356. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zebra/__init__.py +0 -0
  357. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zebra/zebra.py +0 -0
  358. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
  359. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  360. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zocalo/__init__.py +0 -0
  361. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  362. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  363. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
  364. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/log.py +0 -0
  365. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  366. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plan_stubs/__init__.py +0 -0
  367. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  368. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plan_stubs/data_session.py +0 -0
  369. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
  370. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  371. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/__init__.py +0 -0
  372. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/bimorph.py +0 -0
  373. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
  374. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/preprocessors/__init__.py +0 -0
  375. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  376. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/save_panda.py +0 -0
  377. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/scanspec.py +0 -0
  378. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
  379. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/src/dodal/plans/wrapped.py +0 -0
  380. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/system_tests/__init__.py +0 -0
  381. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/system_tests/test_cli.py +0 -0
  382. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/system_tests/test_oav_system.py +0 -0
  383. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/system_tests/test_oav_to_redis_system.py +0 -0
  384. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/__init__.py +0 -0
  385. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/__init__.py +0 -0
  386. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/unit_tests/__init__.py +0 -0
  387. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/unit_tests/test_b16.py +0 -0
  388. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/unit_tests/test_i03.py +0 -0
  389. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/unit_tests/test_i24.py +0 -0
  390. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/beamlines/unit_tests/test_mapping.py +0 -0
  391. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/__init__.py +0 -0
  392. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/beamlines/__init__.py +0 -0
  393. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  394. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  395. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/beamlines/test_device_helpers.py +0 -0
  396. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
  397. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/test_coordination.py +0 -0
  398. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/test_crystal_metadata.py +0 -0
  399. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/test_maths.py +0 -0
  400. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/test_udc_directory_provider.py +0 -0
  401. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/common/test_visit.py +0 -0
  402. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/conftest.py +0 -0
  403. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/constants.py +0 -0
  404. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/__init__.py +0 -0
  405. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
  406. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i03/__init__.py +0 -0
  407. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i04/__init__.py +0 -0
  408. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i04/test_murko_results.py +0 -0
  409. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
  410. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
  411. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  412. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  413. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  414. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  415. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i10/test_i10Apple2.py +0 -0
  416. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i19/__init__.py +0 -0
  417. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i19/test_beamstop.py +0 -0
  418. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/i22/test_metadataholder.py +0 -0
  419. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/mx_phase1/__init__.py +0 -0
  420. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
  421. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/test_common_dcm.py +0 -0
  422. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/__init__.py +0 -0
  423. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
  424. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
  425. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
  426. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
  427. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/detector/test_detector.py +0 -0
  428. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/__init__.py +0 -0
  429. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/abstract/__init__.py +0 -0
  430. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/specs/__init__.py +0 -0
  431. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
  432. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/electron_analyser/vgscienta/__init__.py +0 -0
  433. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i03/__init__.py +0 -0
  434. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
  435. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i03/test_undulator_dcm.py +0 -0
  436. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i09/__init__.py +0 -0
  437. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i09/test_dcm.py +0 -0
  438. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/__init__.py +0 -0
  439. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
  440. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
  441. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
  442. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/i24/test_vgonio.py +0 -0
  443. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/__init__.py +0 -0
  444. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/conftest.py +0 -0
  445. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +0 -0
  446. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
  447. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
  448. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_oav.py +0 -0
  449. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
  450. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_oav_utils.py +0 -0
  451. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
  452. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
  453. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/p60/test_lab_xray_source.py +0 -0
  454. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
  455. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
  456. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_aperture.py +0 -0
  457. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_aperture_scatterguard.py +0 -0
  458. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_beam_converter.py +0 -0
  459. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  460. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
  461. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
  462. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  463. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  464. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_display.configuration +0 -0
  465. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_eiger.py +0 -0
  466. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
  467. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
  468. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
  469. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
  470. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_odin.py +0 -0
  471. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_positioner.py +0 -0
  472. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_smargon.py +0 -0
  473. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_status.py +0 -0
  474. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_synchrotron.py +0 -0
  475. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_tetramm.py +0 -0
  476. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_thawer.py +0 -0
  477. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_utils.py +0 -0
  478. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_webcam.py +0 -0
  479. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_xbpm_feedback.py +0 -0
  480. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_zebra.py +0 -0
  481. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
  482. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
  483. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
  484. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/test_zocalo_results.py +0 -0
  485. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/util/__init__.py +0 -0
  486. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
  487. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
  488. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
  489. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
  490. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline.py +0 -0
  491. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  492. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_broken_dependency.py +0 -0
  493. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_dependencies.py +0 -0
  494. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  495. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  496. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_beamline_some_devices_working.py +0 -0
  497. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_device_factory_beamline.py +0 -0
  498. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_zocalo/README.rst +0 -0
  499. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_zocalo/__init__.py +0 -0
  500. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_zocalo/__main__.py +0 -0
  501. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  502. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plan_stubs/test_data_session.py +0 -0
  503. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
  504. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plan_stubs/test_topup_plan.py +0 -0
  505. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  506. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_bimorph.py +0 -0
  507. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_compliance.py +0 -0
  508. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  509. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_scanspec.py +0 -0
  510. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
  511. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/plans/test_wrapped.py +0 -0
  512. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  513. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/bad_beamlineParameters +0 -0
  514. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/i04_beamlineParameters +0 -0
  515. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  516. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  517. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  518. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  519. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_det_dist_converter.txt +0 -0
  520. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
  521. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
  522. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/topup_long_delay.txt +0 -0
  523. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_data/topup_short_params.txt +0 -0
  524. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/test_utils.py +0 -0
  525. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/unit_tests/__init__.py +0 -0
  526. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/unit_tests/test_cli.py +0 -0
  527. {dls_dodal-1.52.0 → dls_dodal-1.54.0}/tests/unit_tests/test_log.py +0 -0
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Create GitHub Release
24
24
  # We pin to the SHA, not the tag, for security reasons.
25
25
  # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
26
- uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
26
+ uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
27
27
  with:
28
28
  prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
29
29
  files: "*"
@@ -64,7 +64,7 @@ jobs:
64
64
  path: example-services
65
65
 
66
66
  - name: Run docker compose
67
- uses: hoverkraft-tech/compose-action@v2.2.0
67
+ uses: hoverkraft-tech/compose-action@v2.3.0
68
68
  with:
69
69
  compose-file: "./example-services/compose.yaml"
70
70
  services: |
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.52.0
3
+ Version: 1.54.0
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
- Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
5
+ Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
6
6
  License: Apache License
7
7
  Version 2.0, January 2004
8
8
  http://www.apache.org/licenses/
@@ -215,8 +215,7 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async>=0.11
219
- Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
218
+ Requires-Dist: ophyd-async[ca,pva]>=0.12.3
220
219
  Requires-Dist: bluesky
221
220
  Requires-Dist: pyepics
222
221
  Requires-Dist: dataclasses-json
@@ -226,8 +225,6 @@ Requires-Dist: requests
226
225
  Requires-Dist: graypy
227
226
  Requires-Dist: pydantic>=2.0
228
227
  Requires-Dist: opencv-python-headless
229
- Requires-Dist: aioca
230
- Requires-Dist: p4p
231
228
  Requires-Dist: numpy
232
229
  Requires-Dist: aiofiles
233
230
  Requires-Dist: aiohttp
@@ -235,6 +232,7 @@ Requires-Dist: redis
235
232
  Requires-Dist: scanspec>=0.7.3
236
233
  Requires-Dist: event-model>=1.23
237
234
  Requires-Dist: pyzmq==26.3.0
235
+ Requires-Dist: deepdiff
238
236
  Provides-Extra: dev
239
237
  Requires-Dist: black; extra == "dev"
240
238
  Requires-Dist: diff-cover; extra == "dev"
@@ -8,16 +8,20 @@ First clone the repository locally using [Git](https://git-scm.com/downloads). T
8
8
 
9
9
  ## Install dependencies
10
10
 
11
- You can choose to either develop on the host machine using a `venv` (which requires python 3.10 or later) or to run
11
+ You can choose to either develop on the host machine using a `venv` (which requires python 3.11 or later) or to run
12
12
  in a container under [VSCode](https://code.visualstudio.com/)
13
13
 
14
14
  <!-- https://sphinx-design.readthedocs.io/en/latest/tabs.html# -->
15
15
  ::::{tab-set}
16
16
 
17
17
  :::{tab-item} Local virtualenv
18
+
19
+ If on a DLS machine make sure you have python >3.11 running by doing `module load python/3.11`
20
+
18
21
  ```
19
22
  python3 -m venv venv
20
23
  source venv/bin/activate
24
+ pip install --upgrade pip
21
25
  pip install -e '.[dev]'
22
26
  ```
23
27
 
@@ -29,7 +29,7 @@ Supported Python Versions
29
29
  As a standard for the python versions to support, we should be matching the deprecation policy at
30
30
  https://numpy.org/neps/nep-0029-deprecation_policy.html.
31
31
 
32
- Currently supported versions are: 3.10, 3.11, 3.12. (As of the last edit of this document.)
32
+ Currently supported versions are: 3.11, 3.12. (As of the last edit of this document.)
33
33
 
34
34
  .. _documentation_standards:
35
35
 
@@ -14,8 +14,7 @@ description = "Ophyd devices and other utils that could be used across DLS beaml
14
14
  dependencies = [
15
15
  "click",
16
16
  "ophyd",
17
- "ophyd-async>=0.11",
18
- "epicscorelibs<=7.0.7.99.1.2a1", # Pending https://github.com/epics-base/epicscorelibs/issues/41
17
+ "ophyd-async[ca,pva]>=0.12.3",
19
18
  "bluesky",
20
19
  "pyepics",
21
20
  "dataclasses-json",
@@ -24,16 +23,15 @@ dependencies = [
24
23
  "requests",
25
24
  "graypy",
26
25
  "pydantic>=2.0",
27
- "opencv-python-headless", # For pin-tip detection.
28
- "aioca", # Required for CA support with ophyd-async.
29
- "p4p", # Required for PVA support with ophyd-async.
26
+ "opencv-python-headless", # For pin-tip detection.
30
27
  "numpy",
31
28
  "aiofiles",
32
29
  "aiohttp",
33
30
  "redis",
34
31
  "scanspec>=0.7.3",
35
- "event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
36
- "pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
32
+ "event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
33
+ "pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
34
+ "deepdiff",
37
35
  ]
38
36
 
39
37
  dynamic = ["version"]
@@ -83,10 +81,22 @@ save-panda = "dodal.devices.util.save_panda:main"
83
81
  [project.urls]
84
82
  GitHub = "https://github.com/DiamondLightSource/dodal"
85
83
 
86
- [[project.authors]] # Further authors may be added by duplicating this section
84
+ [[project.authors]]
87
85
  email = "dominic.oram@diamond.ac.uk"
88
86
  name = "Dominic Oram"
89
87
 
88
+ [[project.authors]]
89
+ email = "joseph.ware@diamond.ac.uk"
90
+ name = "Joseph Ware"
91
+
92
+ [[project.authors]]
93
+ email = "Oliver.Silvester@diamond.ac.uk"
94
+ name = "Oliver Silvester"
95
+
96
+ [[project.authors]]
97
+ email = "noemi.frisina@diamond.ac.uk"
98
+ name = "Noemi Frisina"
99
+
90
100
  [tool.setuptools.packages.find]
91
101
  where = ["src"]
92
102
 
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.52.0
3
+ Version: 1.54.0
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
- Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
5
+ Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
6
6
  License: Apache License
7
7
  Version 2.0, January 2004
8
8
  http://www.apache.org/licenses/
@@ -215,8 +215,7 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async>=0.11
219
- Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
218
+ Requires-Dist: ophyd-async[ca,pva]>=0.12.3
220
219
  Requires-Dist: bluesky
221
220
  Requires-Dist: pyepics
222
221
  Requires-Dist: dataclasses-json
@@ -226,8 +225,6 @@ Requires-Dist: requests
226
225
  Requires-Dist: graypy
227
226
  Requires-Dist: pydantic>=2.0
228
227
  Requires-Dist: opencv-python-headless
229
- Requires-Dist: aioca
230
- Requires-Dist: p4p
231
228
  Requires-Dist: numpy
232
229
  Requires-Dist: aiofiles
233
230
  Requires-Dist: aiohttp
@@ -235,6 +232,7 @@ Requires-Dist: redis
235
232
  Requires-Dist: scanspec>=0.7.3
236
233
  Requires-Dist: event-model>=1.23
237
234
  Requires-Dist: pyzmq==26.3.0
235
+ Requires-Dist: deepdiff
238
236
  Provides-Extra: dev
239
237
  Requires-Dist: black; extra == "dev"
240
238
  Requires-Dist: diff-cover; extra == "dev"
@@ -103,6 +103,8 @@ src/dodal/beamlines/b21.py
103
103
  src/dodal/beamlines/i02_1.py
104
104
  src/dodal/beamlines/i03.py
105
105
  src/dodal/beamlines/i04.py
106
+ src/dodal/beamlines/i05.py
107
+ src/dodal/beamlines/i05_1.py
106
108
  src/dodal/beamlines/i09.py
107
109
  src/dodal/beamlines/i09_1.py
108
110
  src/dodal/beamlines/i09_2.py
@@ -185,6 +187,7 @@ src/dodal/devices/attenuator/filter_selections.py
185
187
  src/dodal/devices/b07/__init__.py
186
188
  src/dodal/devices/b07/enums.py
187
189
  src/dodal/devices/b07_1/__init__.py
190
+ src/dodal/devices/b07_1/ccmc.py
188
191
  src/dodal/devices/b07_1/enums.py
189
192
  src/dodal/devices/b16/__init__.py
190
193
  src/dodal/devices/b16/detector.py
@@ -209,6 +212,7 @@ src/dodal/devices/electron_analyser/abstract/__init__.py
209
212
  src/dodal/devices/electron_analyser/abstract/base_detector.py
210
213
  src/dodal/devices/electron_analyser/abstract/base_driver_io.py
211
214
  src/dodal/devices/electron_analyser/abstract/base_region.py
215
+ src/dodal/devices/electron_analyser/abstract/types.py
212
216
  src/dodal/devices/electron_analyser/specs/__init__.py
213
217
  src/dodal/devices/electron_analyser/specs/detector.py
214
218
  src/dodal/devices/electron_analyser/specs/driver_io.py
@@ -226,6 +230,8 @@ src/dodal/devices/i04/__init__.py
226
230
  src/dodal/devices/i04/constants.py
227
231
  src/dodal/devices/i04/murko_results.py
228
232
  src/dodal/devices/i04/transfocator.py
233
+ src/dodal/devices/i05/__init__.py
234
+ src/dodal/devices/i05/enums.py
229
235
  src/dodal/devices/i09/__init__.py
230
236
  src/dodal/devices/i09/dcm.py
231
237
  src/dodal/devices/i09/enums.py
@@ -417,6 +423,7 @@ tests/devices/unit_tests/test_zebra_constants_mapping.py
417
423
  tests/devices/unit_tests/test_zebra_shutter.py
418
424
  tests/devices/unit_tests/test_zocalo_interaction.py
419
425
  tests/devices/unit_tests/test_zocalo_results.py
426
+ tests/devices/unit_tests/b07_1/test_ccmc.py
420
427
  tests/devices/unit_tests/current_amplifier/test_femto.py
421
428
  tests/devices/unit_tests/current_amplifier/test_sr570.py
422
429
  tests/devices/unit_tests/detector/test_det_dim_constants.py
@@ -429,6 +436,7 @@ tests/devices/unit_tests/electron_analyser/util.py
429
436
  tests/devices/unit_tests/electron_analyser/abstract/__init__.py
430
437
  tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py
431
438
  tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py
439
+ tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py
432
440
  tests/devices/unit_tests/electron_analyser/specs/__init__.py
433
441
  tests/devices/unit_tests/electron_analyser/specs/test_detector.py
434
442
  tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py
@@ -1,7 +1,6 @@
1
1
  click
2
2
  ophyd
3
- ophyd-async>=0.11
4
- epicscorelibs<=7.0.7.99.1.2a1
3
+ ophyd-async[ca,pva]>=0.12.3
5
4
  bluesky
6
5
  pyepics
7
6
  dataclasses-json
@@ -11,8 +10,6 @@ requests
11
10
  graypy
12
11
  pydantic>=2.0
13
12
  opencv-python-headless
14
- aioca
15
- p4p
16
13
  numpy
17
14
  aiofiles
18
15
  aiohttp
@@ -20,6 +17,7 @@ redis
20
17
  scanspec>=0.7.3
21
18
  event-model>=1.23
22
19
  pyzmq==26.3.0
20
+ deepdiff
23
21
 
24
22
  [dev]
25
23
  black
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '1.52.0'
21
- __version_tuple__ = version_tuple = (1, 52, 0)
20
+ __version__ = version = '1.54.0'
21
+ __version_tuple__ = version_tuple = (1, 54, 0)
@@ -9,6 +9,7 @@ from pathlib import Path
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
+ "i05-1": "i05_1",
12
13
  "b07-1": "b07_1",
13
14
  "i09-1": "i09_1",
14
15
  "i13-1": "i13_1",
@@ -1,15 +1,11 @@
1
- from pathlib import Path
2
-
3
1
  from ophyd_async.epics.adsimdetector import SimDetector
4
2
 
5
3
  from dodal.common.beamlines.beamline_utils import (
6
4
  device_factory,
7
5
  get_path_provider,
8
- set_path_provider,
9
6
  )
10
7
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
11
8
  from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
12
- from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
13
9
  from dodal.devices.motors import XThetaStage
14
10
  from dodal.log import set_beamline as set_log_beamline
15
11
  from dodal.utils import BeamlinePrefix
@@ -19,13 +15,6 @@ PREFIX = BeamlinePrefix("t01")
19
15
  set_log_beamline(BL)
20
16
  set_utils_beamline(BL)
21
17
 
22
- set_path_provider(
23
- StaticVisitPathProvider(
24
- BL,
25
- Path("/tmp"),
26
- client=LocalDirectoryServiceClient(),
27
- )
28
- )
29
18
 
30
19
  """
31
20
  Beamline module for use with the simulated AreaDetector and motors.
@@ -47,11 +36,23 @@ How to use the devices in a plan:
47
36
  In an ipython terminal run:
48
37
 
49
38
  ```python
39
+ from pathlib import Path
40
+
50
41
  from bluesky.run_engine import RunEngine
42
+ from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
51
43
 
52
44
  from dodal.beamlines.adsim import det, stage
45
+ from dodal.common.beamlines.beamline_utils import set_path_provider
53
46
  from dodal.plans import count
54
47
 
48
+
49
+ set_path_provider(
50
+ StaticPathProvider(
51
+ UUIDFilenameProvider(),
52
+ "/tmp", # The directory for `det` to write to- may be mounted as a volume
53
+ )
54
+ )
55
+
55
56
  RE = RunEngine()
56
57
  d = det(connect_immediately=True)
57
58
  s = stage(connect_immediately=True)
@@ -59,7 +59,7 @@ def synchrotron() -> Synchrotron:
59
59
 
60
60
 
61
61
  @device_factory()
62
- def oav() -> AravisDetector:
62
+ def spectroscopy_detector() -> AravisDetector:
63
63
  """The Manta camera for the spectroscopy experiment.
64
64
 
65
65
  Looks at the spectroscopy screen and visualises light
@@ -78,7 +78,7 @@ def oav() -> AravisDetector:
78
78
 
79
79
 
80
80
  @device_factory()
81
- def sample_det() -> AravisDetector:
81
+ def imaging_detector() -> AravisDetector:
82
82
  """The Mako camera for the imaging experiment.
83
83
 
84
84
  Looks at the on-axis viewing screen.
@@ -2,7 +2,7 @@ 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 Grating, LensMode
5
+ from dodal.devices.b07 import Grating, LensMode, PsuMode
6
6
  from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
7
7
  from dodal.devices.pgm import PGM
8
8
  from dodal.devices.synchrotron import Synchrotron
@@ -25,10 +25,13 @@ def pgm() -> PGM:
25
25
  return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
26
26
 
27
27
 
28
+ # Connect will work again after this work completed
29
+ # https://jira.diamond.ac.uk/browse/B07-1104
28
30
  @device_factory()
29
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
30
- return SpecsAnalyserDriverIO[LensMode](
31
+ def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
32
+ return SpecsAnalyserDriverIO[LensMode, PsuMode](
31
33
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
32
34
  lens_mode_type=LensMode,
35
+ psu_mode_type=PsuMode,
33
36
  energy_sources={"source1": pgm().energy.user_readback},
34
37
  )
@@ -1,8 +1,11 @@
1
- from dodal.common.beamlines.beamline_utils import (
2
- device_factory,
3
- )
1
+ from dodal.common.beamlines.beamline_utils import device_factory
4
2
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
- from dodal.devices.b07_1 import Grating, LensMode
3
+ from dodal.devices.b07 import PsuMode
4
+ from dodal.devices.b07_1 import (
5
+ ChannelCutMonochromator,
6
+ Grating,
7
+ LensMode,
8
+ )
6
9
  from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
7
10
  from dodal.devices.pgm import PGM
8
11
  from dodal.devices.synchrotron import Synchrotron
@@ -25,10 +28,18 @@ def pgm() -> PGM:
25
28
  return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
26
29
 
27
30
 
31
+ # Connect will work again after this work completed
32
+ # https://jira.diamond.ac.uk/browse/B07-1104
33
+ @device_factory()
34
+ def ccmc() -> ChannelCutMonochromator:
35
+ return ChannelCutMonochromator(prefix=f"{PREFIX.beamline_prefix}-OP-CCM-01:")
36
+
37
+
28
38
  @device_factory()
29
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
30
- return SpecsAnalyserDriverIO[LensMode](
39
+ def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
40
+ return SpecsAnalyserDriverIO[LensMode, PsuMode](
31
41
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
32
42
  lens_mode_type=LensMode,
43
+ psu_mode_type=PsuMode,
33
44
  energy_sources={"source1": pgm().energy.user_readback},
34
45
  )
@@ -41,25 +41,25 @@ set_path_provider(
41
41
  )
42
42
 
43
43
 
44
- @device_factory(skip=True)
44
+ @device_factory()
45
45
  def saxs() -> EigerDetector:
46
46
  return EigerDetector(
47
47
  prefix=PREFIX.beamline_prefix,
48
48
  path_provider=get_path_provider(),
49
49
  drv_suffix="-EA-EIGER-01:",
50
50
  hdf_suffix="-EA-EIGER-01:OD:",
51
- # odin_nodes=1, # TODO: https://github.com/bluesky/ophyd-async/issues/923
51
+ odin_nodes=1,
52
52
  )
53
53
 
54
54
 
55
- @device_factory(skip=True)
55
+ @device_factory()
56
56
  def waxs() -> EigerDetector:
57
57
  return EigerDetector(
58
58
  prefix=PREFIX.beamline_prefix,
59
59
  path_provider=get_path_provider(),
60
60
  drv_suffix="-EA-EIGER-02:",
61
61
  hdf_suffix="-EA-EIGER-02:OD:",
62
- # odin_nodes=1, # TODO: https://github.com/bluesky/ophyd-async/issues/923
62
+ odin_nodes=1,
63
63
  )
64
64
 
65
65
 
@@ -46,10 +46,9 @@ from dodal.devices.zocalo import ZocaloResults
46
46
  from dodal.log import set_beamline as set_log_beamline
47
47
  from dodal.utils import BeamlinePrefix, get_beamline_name
48
48
 
49
- ZOOM_PARAMS_FILE = (
50
- "/dls_sw/i04/software/gda/configurations/i04-config/xml/jCameraManZoomLevels.xml"
51
- )
52
- DISPLAY_CONFIG = "/dls_sw/i04/software/gda_versions/var/display.configuration"
49
+ # Use BlueAPI scratch until https://github.com/DiamondLightSource/mx-bluesky/issues/1097 is done
50
+ ZOOM_PARAMS_FILE = "/dls_sw/i04/software/bluesky/scratch/jCameraManZoomLevels.xml"
51
+ DISPLAY_CONFIG = "/dls_sw/i04/software/bluesky/scratch/display.configuration"
53
52
  DAQ_CONFIGURATION_PATH = "/dls_sw/i04/software/daq_configuration"
54
53
 
55
54
 
@@ -296,7 +295,9 @@ def zebra() -> Zebra:
296
295
  )
297
296
 
298
297
 
299
- @device_factory(skip=BL == "s04")
298
+ @device_factory(
299
+ skip=BL == "s04",
300
+ )
300
301
  def oav(params: OAVConfig | None = None) -> OAVBeamCentrePV:
301
302
  """Get the i04 OAV device, instantiate it if it hasn't already been.
302
303
  If this is called when already instantiated in i04, it will return the existing object.
@@ -307,7 +308,9 @@ def oav(params: OAVConfig | None = None) -> OAVBeamCentrePV:
307
308
  )
308
309
 
309
310
 
310
- @device_factory(skip=BL == "s04")
311
+ @device_factory(
312
+ skip=BL == "s04",
313
+ )
311
314
  def oav_full_screen(params: OAVConfig | None = None) -> OAVBeamCentrePV:
312
315
  """Get the i04 OAV device, instantiate it if it hasn't already been.
313
316
  If this is called when already instantiated in i04, it will return the existing object.
@@ -319,7 +322,9 @@ def oav_full_screen(params: OAVConfig | None = None) -> OAVBeamCentrePV:
319
322
  )
320
323
 
321
324
 
322
- @device_factory(skip=BL == "s04")
325
+ @device_factory(
326
+ skip=BL == "s04",
327
+ )
323
328
  def detector_motion() -> DetectorMotion:
324
329
  """Get the i04 detector motion device, instantiate it if it hasn't already been.
325
330
  If this is called when already instantiated in i04, it will return the existing object.
@@ -0,0 +1,22 @@
1
+ from dodal.common.beamlines.beamline_utils import device_factory
2
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
3
+ from dodal.devices.i05 import Grating
4
+ from dodal.devices.pgm import PGM
5
+ from dodal.devices.synchrotron import Synchrotron
6
+ from dodal.log import set_beamline as set_log_beamline
7
+ from dodal.utils import BeamlinePrefix, get_beamline_name
8
+
9
+ BL = get_beamline_name("i05")
10
+ PREFIX = BeamlinePrefix(BL)
11
+ set_log_beamline(BL)
12
+ set_utils_beamline(BL)
13
+
14
+
15
+ @device_factory()
16
+ def synchrotron() -> Synchrotron:
17
+ return Synchrotron()
18
+
19
+
20
+ @device_factory()
21
+ def pgm() -> PGM:
22
+ return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
@@ -0,0 +1,17 @@
1
+ from dodal.common.beamlines.beamline_utils import (
2
+ device_factory,
3
+ )
4
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
+ from dodal.devices.synchrotron import Synchrotron
6
+ from dodal.log import set_beamline as set_log_beamline
7
+ from dodal.utils import BeamlinePrefix, get_beamline_name
8
+
9
+ BL = get_beamline_name("i05-1")
10
+ PREFIX = BeamlinePrefix(BL, suffix="J")
11
+ set_log_beamline(BL)
12
+ set_utils_beamline(BL)
13
+
14
+
15
+ @device_factory()
16
+ def synchrotron() -> Synchrotron:
17
+ return Synchrotron()
@@ -3,7 +3,7 @@ from dodal.common.beamlines.beamline_utils import (
3
3
  )
4
4
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
5
  from dodal.devices.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
6
- from dodal.devices.i09 import DCM, Grating, LensMode
6
+ from dodal.devices.i09 import DCM, Grating, LensMode, PassEnergy, PsuMode
7
7
  from dodal.devices.pgm import PGM
8
8
  from dodal.devices.synchrotron import Synchrotron
9
9
  from dodal.log import set_beamline as set_log_beamline
@@ -33,14 +33,18 @@ def dcm() -> DCM:
33
33
  return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
34
34
 
35
35
 
36
+ # Connect will work again after this work completed
37
+ # https://jira.diamond.ac.uk/browse/I09-651
36
38
  @device_factory()
37
- def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
39
+ def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy]:
38
40
  energy_sources = {
39
41
  "source1": pgm().energy.user_readback,
40
42
  "source2": dcm().energy_in_ev,
41
43
  }
42
- return VGScientaAnalyserDriverIO[LensMode](
44
+ return VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy](
43
45
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
44
46
  lens_mode_type=LensMode,
47
+ psu_mode_type=PsuMode,
48
+ pass_energy_type=PassEnergy,
45
49
  energy_sources=energy_sources,
46
50
  )
@@ -4,7 +4,7 @@ from dodal.common.beamlines.beamline_utils import (
4
4
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
5
  from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
6
6
  from dodal.devices.i09.dcm import DCM
7
- from dodal.devices.i09_1 import LensMode
7
+ from dodal.devices.i09_1 import LensMode, PsuMode
8
8
  from dodal.devices.synchrotron import Synchrotron
9
9
  from dodal.log import set_beamline as set_log_beamline
10
10
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -25,10 +25,13 @@ def dcm() -> DCM:
25
25
  return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
26
26
 
27
27
 
28
+ # Connect will work again after this work completed
29
+ # https://jira.diamond.ac.uk/browse/I09-651
28
30
  @device_factory()
29
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
30
- return SpecsAnalyserDriverIO[LensMode](
31
+ def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
32
+ return SpecsAnalyserDriverIO[LensMode, PsuMode](
31
33
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
32
34
  lens_mode_type=LensMode,
35
+ psu_mode_type=PsuMode,
33
36
  energy_sources={"source1": dcm().energy_in_ev},
34
37
  )
@@ -42,7 +42,7 @@ DISPLAY_CONFIG = "/dls_sw/i19-1/software/daq_configuration/domain/display.config
42
42
 
43
43
  # Needs to wait until enum is fixed on the beamline
44
44
  # See https://github.com/DiamondLightSource/dodal/issues/1150
45
- @device_factory(skip=True)
45
+ @device_factory()
46
46
  def beamstop() -> BeamStop:
47
47
  """Get the i19-1 beamstop device, instantiate it if it hasn't already been.
48
48
  If this is called when already instantiated in i19-1, it will return the existing object.