dls-dodal 1.53.0__tar.gz → 1.55.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 (534) hide show
  1. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_release.yml +1 -1
  2. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_test.yml +2 -1
  3. dls_dodal-1.55.0/.talismanrc +10 -0
  4. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/PKG-INFO +4 -6
  5. dls_dodal-1.55.0/docs/assets/where-to-put-dodal-logic.png +0 -0
  6. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/create-beamline.rst +8 -14
  7. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/create-device.md +1 -1
  8. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/dev-install.md +5 -1
  9. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/device-standards.rst +36 -7
  10. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/standards.rst +1 -1
  11. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/pyproject.toml +18 -8
  12. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/PKG-INFO +4 -6
  13. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/SOURCES.txt +12 -1
  14. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/requires.txt +2 -4
  15. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/_version.py +16 -3
  16. dls_dodal-1.55.0/src/dodal/beamline_specific_utils/i05_shared.py +11 -0
  17. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/__init__.py +1 -0
  18. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/aithre.py +2 -3
  19. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b01_1.py +2 -2
  20. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b07.py +6 -3
  21. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b07_1.py +17 -6
  22. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b16.py +0 -1
  23. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b21.py +4 -6
  24. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i03.py +10 -31
  25. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i04.py +19 -45
  26. dls_dodal-1.55.0/src/dodal/beamlines/i05.py +22 -0
  27. dls_dodal-1.55.0/src/dodal/beamlines/i05_1.py +22 -0
  28. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09.py +7 -3
  29. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09_1.py +6 -3
  30. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i13_1.py +0 -1
  31. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_1.py +1 -2
  32. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_2.py +0 -1
  33. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_optics.py +1 -4
  34. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i20_1.py +38 -9
  35. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i23.py +1 -2
  36. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i24.py +0 -12
  37. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p60.py +13 -3
  38. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/beamline_parameters.py +1 -1
  39. dls_dodal-1.55.0/src/dodal/common/beamlines/device_helpers.py +4 -0
  40. dls_dodal-1.55.0/src/dodal/devices/aithre_lasershaping/goniometer.py +25 -0
  41. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +2 -2
  42. dls_dodal-1.55.0/src/dodal/devices/b07/__init__.py +3 -0
  43. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b07/enums.py +15 -0
  44. dls_dodal-1.55.0/src/dodal/devices/b07_1/__init__.py +12 -0
  45. dls_dodal-1.55.0/src/dodal/devices/b07_1/ccmc.py +79 -0
  46. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b07_1/enums.py +3 -0
  47. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +25 -48
  48. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +9 -11
  49. dls_dodal-1.55.0/src/dodal/devices/electron_analyser/abstract/types.py +12 -0
  50. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/detector.py +9 -9
  51. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +54 -21
  52. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/region.py +13 -8
  53. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/types.py +15 -6
  54. dls_dodal-1.55.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +47 -0
  55. dls_dodal-1.55.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +114 -0
  56. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +33 -16
  57. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/focusing_mirror.py +1 -1
  58. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/undulator_dcm.py +8 -3
  59. dls_dodal-1.55.0/src/dodal/devices/i05/__init__.py +3 -0
  60. dls_dodal-1.55.0/src/dodal/devices/i05/enums.py +8 -0
  61. dls_dodal-1.55.0/src/dodal/devices/i09/__init__.py +4 -0
  62. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09/enums.py +16 -0
  63. dls_dodal-1.55.0/src/dodal/devices/i09_1/__init__.py +3 -0
  64. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09_1/enums.py +13 -0
  65. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/mirrors.py +2 -6
  66. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i13_1/merlin_controller.py +1 -1
  67. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/beamstop.py +2 -2
  68. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/aperture.py +1 -1
  69. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/motors.py +75 -1
  70. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +1 -2
  71. dls_dodal-1.55.0/src/dodal/devices/p60/__init__.py +10 -0
  72. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p60/enums.py +16 -0
  73. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/robot.py +7 -4
  74. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/tetramm.py +1 -2
  75. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/webcam.py +2 -1
  76. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra.py +1 -1
  77. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +1 -1
  78. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/__init__.py +2 -0
  79. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_results.py +16 -26
  80. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/utils.py +3 -10
  81. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_adsim.py +4 -3
  82. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i04/test_transfocator.py +1 -1
  83. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i13_1/test_merlin.py +5 -3
  84. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i18/test_kb_mirror.py +7 -19
  85. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i19/test_shutter.py +3 -7
  86. dls_dodal-1.55.0/tests/devices/i22/test_dcm.py +128 -0
  87. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i22/test_fswitch.py +2 -4
  88. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/test_diamond_filter.py +2 -4
  89. dls_dodal-1.55.0/tests/devices/test_motors.py +170 -0
  90. dls_dodal-1.55.0/tests/devices/unit_tests/b07_1/test_ccmc.py +111 -0
  91. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +15 -6
  92. dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +93 -0
  93. dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py +85 -0
  94. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/conftest.py +10 -36
  95. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +11 -4
  96. dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +240 -0
  97. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +33 -51
  98. dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/util.py +86 -0
  99. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +12 -4
  100. dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +253 -0
  101. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +54 -60
  102. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i03/test_undulator_dcm.py +12 -0
  103. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_pmac.py +1 -1
  104. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +12 -1
  105. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_aperture_scatterguard.py +26 -36
  106. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_apple2_undulator.py +8 -16
  107. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_attenuator.py +1 -1
  108. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_backlight.py +3 -7
  109. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_bart_robot.py +51 -28
  110. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_baton.py +3 -7
  111. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_focusing_mirror.py +0 -5
  112. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_gridscan.py +2 -3
  113. dls_dodal-1.55.0/tests/devices/unit_tests/test_motors.py +84 -0
  114. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_pressure_jump_cell.py +65 -91
  115. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_qbpm.py +2 -4
  116. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_slits.py +5 -13
  117. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_turbo_slit.py +4 -10
  118. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_undulator.py +10 -27
  119. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +6 -10
  120. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_webcam.py +2 -1
  121. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_xspress3.py +2 -2
  122. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zocalo_results.py +37 -112
  123. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/conftest.py +2 -2
  124. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +4 -0
  125. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/electron_analyser/specs_sequence.seq +18 -0
  126. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/electron_analyser/vgscienta_sequence.seq +24 -0
  127. dls_dodal-1.55.0/tests/unit_tests/__init__.py +0 -0
  128. dls_dodal-1.53.0/src/dodal/common/beamlines/device_helpers.py +0 -37
  129. dls_dodal-1.53.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -48
  130. dls_dodal-1.53.0/src/dodal/devices/b07/__init__.py +0 -3
  131. dls_dodal-1.53.0/src/dodal/devices/b07_1/__init__.py +0 -3
  132. dls_dodal-1.53.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -37
  133. dls_dodal-1.53.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -76
  134. dls_dodal-1.53.0/src/dodal/devices/i09/__init__.py +0 -4
  135. dls_dodal-1.53.0/src/dodal/devices/i09_1/__init__.py +0 -3
  136. dls_dodal-1.53.0/src/dodal/devices/p60/__init__.py +0 -4
  137. dls_dodal-1.53.0/tests/common/beamlines/test_device_helpers.py +0 -23
  138. dls_dodal-1.53.0/tests/devices/i22/test_dcm.py +0 -217
  139. dls_dodal-1.53.0/tests/devices/test_motors.py +0 -153
  140. dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +0 -221
  141. dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +0 -134
  142. dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/util.py +0 -84
  143. dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +0 -139
  144. dls_dodal-1.53.0/tests/devices/unit_tests/test_motors.py +0 -40
  145. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.copier-answers.yml +0 -0
  146. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.devcontainer/devcontainer.json +0 -0
  147. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/CODEOWNERS +0 -0
  148. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/CONTRIBUTING.md +0 -0
  149. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  150. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/actions/install_requirements/action.yml +0 -0
  151. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/dependabot.yml +0 -0
  152. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/pages/index.html +0 -0
  153. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/pages/make_switcher.py +0 -0
  154. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/scripts/check_test_durations.py +0 -0
  155. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_dist.yml +0 -0
  156. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_docs.yml +0 -0
  157. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_pypi.yml +0 -0
  158. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_tox.yml +0 -0
  159. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/ci.yml +0 -0
  160. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/periodic.yml +0 -0
  161. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.gitignore +0 -0
  162. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.pre-commit-config.yaml +0 -0
  163. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/extensions.json +0 -0
  164. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/launch.json +0 -0
  165. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/settings.json +0 -0
  166. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/tasks.json +0 -0
  167. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/Dockerfile +0 -0
  168. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/LICENSE +0 -0
  169. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/README.md +0 -0
  170. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/catalog-info.yaml +0 -0
  171. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/conftest.py +0 -0
  172. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/autosummary/class.rst +0 -0
  173. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/autosummary/module.rst +0 -0
  174. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/custom-module-template.rst +0 -0
  175. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/assets/zocalo.png +0 -0
  176. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/conf.py +0 -0
  177. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  178. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  179. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  180. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  181. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  182. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/COPYME +0 -0
  183. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions.md +0 -0
  184. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/reviews.md +0 -0
  185. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/umls/apple2_design.png +0 -0
  186. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/umls/i10_id_design.png +0 -0
  187. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations.md +0 -0
  188. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/genindex.md +0 -0
  189. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/build-docs.md +0 -0
  190. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/contribute.md +0 -0
  191. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/coverage.md +0 -0
  192. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/excalidraw.md +0 -0
  193. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/external-io-devices.md +0 -0
  194. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/lint.md +0 -0
  195. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/lock-requirements.md +0 -0
  196. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/make-release.md +0 -0
  197. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/move-code.rst +0 -0
  198. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/pypi.md +0 -0
  199. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/run-tests.md +0 -0
  200. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/static-analysis.md +0 -0
  201. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/update-template.md +0 -0
  202. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/write-tests.md +0 -0
  203. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/zocalo.rst +0 -0
  204. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to.md +0 -0
  205. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/images/dls-logo.svg +0 -0
  206. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/images/excalidraw-example.svg +0 -0
  207. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/index.md +0 -0
  208. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/api.md +0 -0
  209. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference.md +0 -0
  210. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials/get_started.rst +0 -0
  211. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials/installation.md +0 -0
  212. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials.md +0 -0
  213. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/pull_request_template.md +0 -0
  214. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/setup.cfg +0 -0
  215. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/__init__.py +0 -0
  216. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  217. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  218. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  219. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/__init__.py +0 -0
  220. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/__main__.py +0 -0
  221. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  222. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
  223. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/README.md +0 -0
  224. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/adsim.py +0 -0
  225. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b18.py +0 -0
  226. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i02_1.py +0 -0
  227. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09_2.py +0 -0
  228. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i10.py +0 -0
  229. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i18.py +0 -0
  230. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i22.py +0 -0
  231. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/k11.py +0 -0
  232. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p38.py +0 -0
  233. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p45.py +0 -0
  234. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p99.py +0 -0
  235. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/training_rig.py +0 -0
  236. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/cli.py +0 -0
  237. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/__init__.py +0 -0
  238. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/__init__.py +0 -0
  239. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  240. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/coordination.py +0 -0
  241. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/crystal_metadata.py +0 -0
  242. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/data_util.py +0 -0
  243. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/device_utils.py +0 -0
  244. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/maths.py +0 -0
  245. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/types.py +0 -0
  246. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/udc_directory_provider.py +0 -0
  247. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/visit.py +0 -0
  248. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/CTAB.py +0 -0
  249. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/__init__.py +0 -0
  250. {dls_dodal-1.53.0/src/dodal/devices/b16 → dls_dodal-1.55.0/src/dodal/devices/aithre_lasershaping}/__init__.py +0 -0
  251. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aperture.py +0 -0
  252. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aperturescatterguard.py +0 -0
  253. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/apple2_undulator.py +0 -0
  254. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
  255. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
  256. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  257. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/filter.py +0 -0
  258. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  259. {dls_dodal-1.53.0/src/dodal/devices/i10 → dls_dodal-1.55.0/src/dodal/devices/b16}/__init__.py +0 -0
  260. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b16/detector.py +0 -0
  261. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/backlight.py +0 -0
  262. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/baton.py +0 -0
  263. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  264. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/common_dcm.py +0 -0
  265. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/cryostream.py +0 -0
  266. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  267. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  268. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  269. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  270. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  271. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  272. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/__init__.py +0 -0
  273. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  274. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  275. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_resolution.py +0 -0
  276. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/detector.py +0 -0
  277. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  278. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/diamond_filter.py +0 -0
  279. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/eiger.py +0 -0
  280. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/eiger_odin.py +0 -0
  281. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  282. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  283. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  284. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  285. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  286. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  287. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  288. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  289. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  290. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  291. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/fast_grid_scan.py +0 -0
  292. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  293. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/flux.py +0 -0
  294. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/hutch_shutter.py +0 -0
  295. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/__init__.py +0 -0
  296. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/dcm.py +0 -0
  297. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/__init__.py +0 -0
  298. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/constants.py +0 -0
  299. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/murko_results.py +0 -0
  300. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/transfocator.py +0 -0
  301. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09/dcm.py +0 -0
  302. {dls_dodal-1.53.0/src/dodal/devices/i13_1 → dls_dodal-1.55.0/src/dodal/devices/i10}/__init__.py +0 -0
  303. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/diagnostics.py +0 -0
  304. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/i10_apple2.py +0 -0
  305. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  306. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  307. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  308. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  309. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/slits.py +0 -0
  310. {dls_dodal-1.53.0/src/dodal/devices/i19 → dls_dodal-1.55.0/src/dodal/devices/i13_1}/__init__.py +0 -0
  311. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  312. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i18/KBMirror.py +0 -0
  313. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i18/diode.py +0 -0
  314. {dls_dodal-1.53.0/src/dodal/devices/i20_1 → dls_dodal-1.55.0/src/dodal/devices/i19}/__init__.py +0 -0
  315. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
  316. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/hutch_access.py +0 -0
  317. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/shutter.py +0 -0
  318. {dls_dodal-1.53.0/src/dodal/devices/i24 → dls_dodal-1.55.0/src/dodal/devices/i20_1}/__init__.py +0 -0
  319. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/dcm.py +0 -0
  320. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/fswitch.py +0 -0
  321. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/nxsas.py +0 -0
  322. {dls_dodal-1.53.0/src/dodal/devices/oav → dls_dodal-1.55.0/src/dodal/devices/i24}/__init__.py +0 -0
  323. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/beam_center.py +0 -0
  324. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/beamstop.py +0 -0
  325. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/dcm.py +0 -0
  326. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  327. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  328. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
  329. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/pmac.py +0 -0
  330. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/vgonio.py +0 -0
  331. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/ipin.py +0 -0
  332. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/linkam3.py +0 -0
  333. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
  334. {dls_dodal-1.53.0/src/dodal/devices/p99 → dls_dodal-1.55.0/src/dodal/devices/oav}/__init__.py +0 -0
  335. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
  336. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_detector.py +0 -0
  337. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
  338. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +1 -1
  339. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  340. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
  341. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  342. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  343. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  344. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
  345. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/utils.py +0 -0
  346. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p45.py +0 -0
  347. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  348. {dls_dodal-1.53.0/src/dodal/devices/util → dls_dodal-1.55.0/src/dodal/devices/p99}/__init__.py +0 -0
  349. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  350. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  351. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/pgm.py +0 -0
  352. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/positioner.py +0 -0
  353. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  354. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/qbpm.py +0 -0
  355. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  356. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/scintillator.py +0 -0
  357. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/slits.py +0 -0
  358. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/smargon.py +0 -0
  359. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/status.py +0 -0
  360. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/synchrotron.py +0 -0
  361. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/thawer.py +0 -0
  362. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/turbo_slit.py +0 -0
  363. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/undulator.py +0 -0
  364. {dls_dodal-1.53.0/src/dodal/devices/zebra → dls_dodal-1.55.0/src/dodal/devices/util}/__init__.py +0 -0
  365. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  366. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/epics_util.py +0 -0
  367. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  368. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/test_utils.py +0 -0
  369. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  370. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  371. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  372. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  373. {dls_dodal-1.53.0/src/dodal/plan_stubs → dls_dodal-1.55.0/src/dodal/devices/zebra}/__init__.py +0 -0
  374. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
  375. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  376. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  377. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/log.py +0 -0
  378. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  379. {dls_dodal-1.53.0/src/dodal/plans/preprocessors → dls_dodal-1.55.0/src/dodal/plan_stubs}/__init__.py +0 -0
  380. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  381. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/data_session.py +0 -0
  382. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
  383. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  384. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/__init__.py +0 -0
  385. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/bimorph.py +0 -0
  386. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
  387. {dls_dodal-1.53.0/system_tests → dls_dodal-1.55.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
  388. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  389. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/save_panda.py +0 -0
  390. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/scanspec.py +0 -0
  391. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
  392. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/wrapped.py +0 -0
  393. {dls_dodal-1.53.0/tests → dls_dodal-1.55.0/system_tests}/__init__.py +0 -0
  394. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_cli.py +0 -0
  395. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_oav_system.py +0 -0
  396. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_oav_to_redis_system.py +0 -0
  397. {dls_dodal-1.53.0/tests/beamlines → dls_dodal-1.55.0/tests}/__init__.py +0 -0
  398. {dls_dodal-1.53.0/tests/beamlines/unit_tests → dls_dodal-1.55.0/tests/beamlines}/__init__.py +0 -0
  399. {dls_dodal-1.53.0/tests/common → dls_dodal-1.55.0/tests/beamlines/unit_tests}/__init__.py +0 -0
  400. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_b16.py +0 -0
  401. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_i03.py +0 -0
  402. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_i24.py +0 -0
  403. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_mapping.py +0 -0
  404. {dls_dodal-1.53.0/tests/common/beamlines → dls_dodal-1.55.0/tests/common}/__init__.py +0 -0
  405. {dls_dodal-1.53.0/tests/devices → dls_dodal-1.55.0/tests/common/beamlines}/__init__.py +0 -0
  406. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  407. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  408. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
  409. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_coordination.py +0 -0
  410. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_crystal_metadata.py +0 -0
  411. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_maths.py +0 -0
  412. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_udc_directory_provider.py +0 -0
  413. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_visit.py +0 -0
  414. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/conftest.py +0 -0
  415. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/constants.py +0 -0
  416. {dls_dodal-1.53.0/tests/devices/i03 → dls_dodal-1.55.0/tests/devices}/__init__.py +0 -0
  417. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
  418. {dls_dodal-1.53.0/tests/devices/i04 → dls_dodal-1.55.0/tests/devices/i03}/__init__.py +0 -0
  419. {dls_dodal-1.53.0/tests/devices/i19 → dls_dodal-1.55.0/tests/devices/i04}/__init__.py +0 -0
  420. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i04/test_murko_results.py +0 -0
  421. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
  422. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
  423. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  424. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  425. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  426. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  427. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/test_i10Apple2.py +0 -0
  428. {dls_dodal-1.53.0/tests/devices/mx_phase1 → dls_dodal-1.55.0/tests/devices/i19}/__init__.py +0 -0
  429. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i19/test_beamstop.py +0 -0
  430. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i22/test_metadataholder.py +0 -0
  431. {dls_dodal-1.53.0/tests/devices/unit_tests → dls_dodal-1.55.0/tests/devices/mx_phase1}/__init__.py +0 -0
  432. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
  433. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/test_common_dcm.py +0 -0
  434. {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser → dls_dodal-1.55.0/tests/devices/unit_tests}/__init__.py +0 -0
  435. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
  436. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
  437. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
  438. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
  439. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_detector.py +0 -0
  440. {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/abstract → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser}/__init__.py +0 -0
  441. {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/specs → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract}/__init__.py +0 -0
  442. {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/vgscienta → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/specs}/__init__.py +0 -0
  443. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
  444. {dls_dodal-1.53.0/tests/devices/unit_tests/i03 → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/vgscienta}/__init__.py +0 -0
  445. {dls_dodal-1.53.0/tests/devices/unit_tests/i09 → dls_dodal-1.55.0/tests/devices/unit_tests/i03}/__init__.py +0 -0
  446. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
  447. {dls_dodal-1.53.0/tests/devices/unit_tests/i24 → dls_dodal-1.55.0/tests/devices/unit_tests/i09}/__init__.py +0 -0
  448. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i09/test_dcm.py +0 -0
  449. {dls_dodal-1.53.0/tests/devices/unit_tests/oav → dls_dodal-1.55.0/tests/devices/unit_tests/i24}/__init__.py +0 -0
  450. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
  451. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
  452. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
  453. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_vgonio.py +0 -0
  454. {dls_dodal-1.53.0/tests/devices/unit_tests/util → dls_dodal-1.55.0/tests/devices/unit_tests/oav}/__init__.py +0 -0
  455. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/conftest.py +0 -0
  456. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +0 -0
  457. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
  458. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
  459. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav.py +0 -0
  460. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
  461. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_utils.py +0 -0
  462. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
  463. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
  464. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/p60/test_lab_xray_source.py +0 -0
  465. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
  466. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
  467. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_aperture.py +0 -0
  468. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_beam_converter.py +0 -0
  469. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  470. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
  471. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
  472. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  473. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  474. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_display.configuration +0 -0
  475. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_eiger.py +0 -0
  476. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
  477. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
  478. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
  479. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
  480. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_odin.py +0 -0
  481. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_positioner.py +0 -0
  482. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_smargon.py +0 -0
  483. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_status.py +0 -0
  484. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_synchrotron.py +0 -0
  485. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_tetramm.py +0 -0
  486. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_thawer.py +0 -0
  487. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_utils.py +0 -0
  488. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_xbpm_feedback.py +0 -0
  489. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra.py +0 -0
  490. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
  491. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
  492. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
  493. {dls_dodal-1.53.0/tests/fake_zocalo → dls_dodal-1.55.0/tests/devices/unit_tests/util}/__init__.py +0 -0
  494. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
  495. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
  496. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
  497. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
  498. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline.py +0 -0
  499. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  500. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_broken_dependency.py +0 -0
  501. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_dependencies.py +0 -0
  502. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  503. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  504. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_some_devices_working.py +0 -0
  505. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_device_factory_beamline.py +0 -0
  506. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/README.rst +0 -0
  507. {dls_dodal-1.53.0/tests/unit_tests → dls_dodal-1.55.0/tests/fake_zocalo}/__init__.py +0 -0
  508. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/__main__.py +0 -0
  509. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  510. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_data_session.py +0 -0
  511. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
  512. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_topup_plan.py +0 -0
  513. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  514. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_bimorph.py +0 -0
  515. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_compliance.py +0 -0
  516. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  517. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_scanspec.py +0 -0
  518. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
  519. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_wrapped.py +0 -0
  520. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  521. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/bad_beamlineParameters +0 -0
  522. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/i04_beamlineParameters +0 -0
  523. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  524. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  525. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  526. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  527. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_det_dist_converter.txt +0 -0
  528. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
  529. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
  530. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/topup_long_delay.txt +0 -0
  531. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/topup_short_params.txt +0 -0
  532. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_utils.py +0 -0
  533. {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/unit_tests/test_cli.py +0 -0
  534. {dls_dodal-1.53.0 → dls_dodal-1.55.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: "*"
@@ -62,9 +62,10 @@ jobs:
62
62
  with:
63
63
  repository: epics-containers/example-services
64
64
  path: example-services
65
+ ref: '2025.8.1'
65
66
 
66
67
  - name: Run docker compose
67
- uses: hoverkraft-tech/compose-action@v2.2.0
68
+ uses: hoverkraft-tech/compose-action@v2.3.0
68
69
  with:
69
70
  compose-file: "./example-services/compose.yaml"
70
71
  services: |
@@ -0,0 +1,10 @@
1
+ fileignoreconfig:
2
+ # Allow CI workflows to pin to the SHA hash
3
+ - filename: ".github/**/*.yml"
4
+ allowed_patterns:
5
+ - "uses: .*"
6
+ # Allow use of pass_energy signal name
7
+ - filename: "*.py"
8
+ allowed_patterns:
9
+ - pass_energy
10
+
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.53.0
3
+ Version: 1.55.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"
@@ -63,14 +63,14 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
63
63
  """
64
64
 
65
65
  """
66
- A valid factory function which:
67
- - may be instantiated automatically, selectively on live beamline
68
- - caches and re-uses the result for subsequent calls
69
- - automatically names the device
70
- - may be skipped when make_all_devices is called on this module
71
- - must be explicitly connected (may be automated by tools)
72
- - when connected may connect to a simulated backend
73
- - may be connected concurrently (when automated by tools)
66
+ This decorator gives extra desirable behaviour to this factory function:
67
+ - it may be instantiated automatically, selectively on live beamline
68
+ - caching and re-using the result for subsequent calls
69
+ - it automatically names the device if no name is explicitly set
70
+ - it may be skipped when make_all_devices is called on this module
71
+ - it must be explicitly connected (which may be automated by tools)
72
+ - when connected it may connect to a simulated backend
73
+ - it may be connected concurrently (when automated by tools)
74
74
  """"
75
75
  @device_factory(skip = BL == "s41")
76
76
  def synchrotron() -> Synchrotron:
@@ -85,9 +85,3 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
85
85
  drv_suffix=CAM_SUFFIX,
86
86
  fileio_suffix=HDF5_SUFFIX,
87
87
  )
88
-
89
-
90
- ``w41`` should also be added to the list of ``ALL_BEAMLINES`` in ``tests/beamlines/test_device_instantiation``.
91
- This test checks that the function returns a type that conforms to Bluesky protocols,
92
- that it always returns the same instance of the device and that the arguments passed
93
- into the Device class constructor are valid.
@@ -1,7 +1,7 @@
1
1
  Creating a new device
2
2
  ---------------------
3
3
 
4
- Devices are written using the ophyd-async framework, the hardware abstraction library at Diamond.
4
+ Devices are written using the ophyd-async framework, the hardware abstraction library at Diamond. Before creating your device, you should [consider where the new code should live](../reference/device-standards.rst#where_to_put_devices).
5
5
 
6
6
  Reusing an existing class
7
7
  =========================
@@ -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
 
@@ -7,6 +7,9 @@ Some devices have been written in ``ophyd`` for historic reasons. However, all n
7
7
  ``ophyd-async`` and any old ``ophyd`` devices undergoing a large re-write should be considered for
8
8
  conversion to ``ophyd-async``.
9
9
 
10
+
11
+ .. _where_to_put_devices:
12
+
10
13
  Where to put devices
11
14
  --------------------
12
15
 
@@ -19,7 +22,11 @@ should think about where to place them in the following order:
19
22
  complex device (e.g. multiple files) it should have a folder of its own e.g. ``oav``
20
23
  #. A device that is very specific to a particular beamline should go in the ``devices/ixx`` folder
21
24
 
22
- This is in an effort to avoid duplication across facilities/beamlines.
25
+ This is in an effort to avoid duplication across facilities/beamlines. You should also consider whether it is best for a piece of logic is better suited to the control system or a bluesky plan - see `ophyd-async's guide <https://blueskyproject.io/ophyd-async/main/explanations/where-device-logic.html>`_ on that.
26
+
27
+ Determining where in dodal a device should live can be summarised below:
28
+
29
+ .. image:: ../assets/where-to-put-dodal-logic.png
23
30
 
24
31
  Device Best Practices
25
32
  ----------------------------
@@ -27,10 +34,33 @@ Device Best Practices
27
34
  Ophyd-async directory contains a flowchart_ for a simplified decision tree about what interfaces
28
35
  should a given device implement. In addition to this the following guidelines are strongly recommended:
29
36
 
37
+ #. Device should have their name as an optional str parameter with a default of ""- this allows ophyd-async to automatically name the device
30
38
  #. Devices should contain only the PV suffixes that are generic for any instance of the device. See `PV Suffixes`_
31
39
  #. Anything in a device that is expected to be set externally should be a signal. See `Use of signals`_
32
40
  #. Devices should not hold state, when they are read they should read the hardware. See `Holding State`_
33
41
 
42
+ Defaulting Names
43
+ ----------------
44
+
45
+ Device should provide the ability to override their name while maintaining a default name of ""-
46
+ this allows the device to be named on connection from the name of its factory function when using
47
+ the device_factory decorator.
48
+
49
+ When a device is named in this way, all of its child devices are named appropriately.
50
+
51
+ .. code-block:: python
52
+ class MyDevice(Device):
53
+ def __init__(self, prefix: str, name: str = "")
54
+ x = Motor(prefix + "X")
55
+ super().__init__(name)
56
+
57
+ @device_factory()
58
+ def foo() -> MyDevice:
59
+ return MyDevice("FOO:")
60
+
61
+ f = foo()
62
+ f.name == "foo"
63
+ f.x.name == "foo-x"
34
64
 
35
65
  PV Suffixes
36
66
  -----------
@@ -40,23 +70,22 @@ In general devices should contain only the PV suffixes that are generic for any
40
70
  .. code-block:: python
41
71
 
42
72
  class MyDevice(Device):
43
- def __init__(self, name: str, prefix: str)
73
+ def __init__(self, prefix: str, name: str = "")
44
74
  self.bragg = Motor(prefix + "BRAGG")
45
- super().__init__(name)
46
-
47
- device_instantiation(MyDevice, "dcm", "-MO-DCM-01:")
75
+ super().__init__(name)
48
76
 
77
+ MyDevice("BLXXI-MO-DCM-01:")
49
78
 
50
79
  is preferred over
51
80
 
52
81
  .. code-block:: python
53
82
 
54
83
  class MyDevice(Device):
55
- def __init__(self, name: str, prefix: str)
84
+ def __init__(self, prefix: str, name: str = "")
56
85
  self.bragg = Motor(prefix + "-MO-DCM-01:BRAGG")
57
86
  super().__init__(name)
58
87
 
59
- device_instantiation(MyDevice, "dcm", "")
88
+ MyDevice("BLXXI")
60
89
 
61
90
  This is so that a new device on say ``-MO-DCM-02`` can be easily created.
62
91
 
@@ -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.53.0
3
+ Version: 1.55.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"
@@ -1,6 +1,7 @@
1
1
  .copier-answers.yml
2
2
  .gitignore
3
3
  .pre-commit-config.yaml
4
+ .talismanrc
4
5
  Dockerfile
5
6
  LICENSE
6
7
  README.md
@@ -39,6 +40,7 @@ docs/tutorials.md
39
40
  docs/_templates/custom-module-template.rst
40
41
  docs/_templates/autosummary/class.rst
41
42
  docs/_templates/autosummary/module.rst
43
+ docs/assets/where-to-put-dodal-logic.png
42
44
  docs/assets/zocalo.png
43
45
  docs/explanations/decisions.md
44
46
  docs/explanations/reviews.md
@@ -90,6 +92,7 @@ src/dodal/log.py
90
92
  src/dodal/utils.py
91
93
  src/dodal/beamline_specific_utils/__init__.py
92
94
  src/dodal/beamline_specific_utils/i03.py
95
+ src/dodal/beamline_specific_utils/i05_shared.py
93
96
  src/dodal/beamlines/README.md
94
97
  src/dodal/beamlines/__init__.py
95
98
  src/dodal/beamlines/adsim.py
@@ -103,6 +106,8 @@ src/dodal/beamlines/b21.py
103
106
  src/dodal/beamlines/i02_1.py
104
107
  src/dodal/beamlines/i03.py
105
108
  src/dodal/beamlines/i04.py
109
+ src/dodal/beamlines/i05.py
110
+ src/dodal/beamlines/i05_1.py
106
111
  src/dodal/beamlines/i09.py
107
112
  src/dodal/beamlines/i09_1.py
108
113
  src/dodal/beamlines/i09_2.py
@@ -175,6 +180,7 @@ src/dodal/devices/undulator.py
175
180
  src/dodal/devices/watsonmarlow323_pump.py
176
181
  src/dodal/devices/webcam.py
177
182
  src/dodal/devices/xbpm_feedback.py
183
+ src/dodal/devices/aithre_lasershaping/__init__.py
178
184
  src/dodal/devices/aithre_lasershaping/goniometer.py
179
185
  src/dodal/devices/aithre_lasershaping/laser_robot.py
180
186
  src/dodal/devices/areadetector/plugins/CAM.py
@@ -185,6 +191,7 @@ src/dodal/devices/attenuator/filter_selections.py
185
191
  src/dodal/devices/b07/__init__.py
186
192
  src/dodal/devices/b07/enums.py
187
193
  src/dodal/devices/b07_1/__init__.py
194
+ src/dodal/devices/b07_1/ccmc.py
188
195
  src/dodal/devices/b07_1/enums.py
189
196
  src/dodal/devices/b16/__init__.py
190
197
  src/dodal/devices/b16/detector.py
@@ -209,6 +216,7 @@ src/dodal/devices/electron_analyser/abstract/__init__.py
209
216
  src/dodal/devices/electron_analyser/abstract/base_detector.py
210
217
  src/dodal/devices/electron_analyser/abstract/base_driver_io.py
211
218
  src/dodal/devices/electron_analyser/abstract/base_region.py
219
+ src/dodal/devices/electron_analyser/abstract/types.py
212
220
  src/dodal/devices/electron_analyser/specs/__init__.py
213
221
  src/dodal/devices/electron_analyser/specs/detector.py
214
222
  src/dodal/devices/electron_analyser/specs/driver_io.py
@@ -226,6 +234,8 @@ src/dodal/devices/i04/__init__.py
226
234
  src/dodal/devices/i04/constants.py
227
235
  src/dodal/devices/i04/murko_results.py
228
236
  src/dodal/devices/i04/transfocator.py
237
+ src/dodal/devices/i05/__init__.py
238
+ src/dodal/devices/i05/enums.py
229
239
  src/dodal/devices/i09/__init__.py
230
240
  src/dodal/devices/i09/dcm.py
231
241
  src/dodal/devices/i09/enums.py
@@ -346,7 +356,6 @@ tests/common/test_visit.py
346
356
  tests/common/beamlines/__init__.py
347
357
  tests/common/beamlines/test_beamline_parameters.py
348
358
  tests/common/beamlines/test_beamline_utils.py
349
- tests/common/beamlines/test_device_helpers.py
350
359
  tests/common/beamlines/test_device_instantiation.py
351
360
  tests/devices/__init__.py
352
361
  tests/devices/test_common_dcm.py
@@ -417,6 +426,7 @@ tests/devices/unit_tests/test_zebra_constants_mapping.py
417
426
  tests/devices/unit_tests/test_zebra_shutter.py
418
427
  tests/devices/unit_tests/test_zocalo_interaction.py
419
428
  tests/devices/unit_tests/test_zocalo_results.py
429
+ tests/devices/unit_tests/b07_1/test_ccmc.py
420
430
  tests/devices/unit_tests/current_amplifier/test_femto.py
421
431
  tests/devices/unit_tests/current_amplifier/test_sr570.py
422
432
  tests/devices/unit_tests/detector/test_det_dim_constants.py
@@ -429,6 +439,7 @@ tests/devices/unit_tests/electron_analyser/util.py
429
439
  tests/devices/unit_tests/electron_analyser/abstract/__init__.py
430
440
  tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py
431
441
  tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py
442
+ tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py
432
443
  tests/devices/unit_tests/electron_analyser/specs/__init__.py
433
444
  tests/devices/unit_tests/electron_analyser/specs/test_detector.py
434
445
  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
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.53.0'
21
- __version_tuple__ = version_tuple = (1, 53, 0)
31
+ __version__ = version = '1.55.0'
32
+ __version_tuple__ = version_tuple = (1, 55, 0)
33
+
34
+ __commit_id__ = commit_id = 'g9d6ec5bbb'
@@ -0,0 +1,11 @@
1
+ from dodal.common.beamlines.beamline_utils import device_factory
2
+ from dodal.devices.i05.enums import Grating
3
+ from dodal.devices.pgm import PGM
4
+ from dodal.utils import BeamlinePrefix
5
+
6
+ PREFIX = BeamlinePrefix("i05", "I")
7
+
8
+
9
+ @device_factory()
10
+ def pgm() -> PGM:
11
+ return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
@@ -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",
@@ -12,12 +12,12 @@ PREFIX = "LA18L"
12
12
 
13
13
  @device_factory()
14
14
  def goniometer() -> Goniometer:
15
- return Goniometer(f"{PREFIX}-MO-LSR-01:", "goniometer")
15
+ return Goniometer(f"{PREFIX}-MO-LSR-01:")
16
16
 
17
17
 
18
18
  @device_factory()
19
19
  def robot() -> LaserRobot:
20
- return LaserRobot("robot", f"{PREFIX}-MO-ROBOT-01:")
20
+ return LaserRobot(f"{PREFIX}-MO-ROBOT-01:")
21
21
 
22
22
 
23
23
  @device_factory()
@@ -25,6 +25,5 @@ def oav(params: OAVConfigBeamCentre | None = None) -> OAVBeamCentreFile:
25
25
  return OAVBeamCentreFile(
26
26
  prefix=f"{PREFIX}-DI-OAV-01:",
27
27
  config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
28
- name="oav",
29
28
  zoom_controller=NullZoomController(),
30
29
  )
@@ -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
  )
@@ -62,7 +62,6 @@ def fds2() -> AreaDetector:
62
62
  def sim_stage() -> XYZStage:
63
63
  return XYZStage(
64
64
  f"{PREFIX.beamline_prefix}-MO-SIM-01:",
65
- "sim_stage",
66
65
  x_infix="M1",
67
66
  y_infix="M2",
68
67
  z_infix="M3",
@@ -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
 
@@ -116,8 +116,6 @@ def slits_7() -> Slits:
116
116
  prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-07:",
117
117
  x_gap="X:GAP",
118
118
  y_gap="Y:GAP",
119
- x_centre="X:CENTRE",
120
- y_centre="Y:CENTRE",
121
119
  )
122
120
 
123
121