dls-dodal 1.58.0__tar.gz → 1.59.1__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 (573) hide show
  1. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/PKG-INFO +2 -1
  2. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/write-tests.md +30 -0
  3. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/pyproject.toml +1 -0
  4. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/PKG-INFO +2 -1
  5. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/SOURCES.txt +23 -0
  6. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/requires.txt +1 -0
  7. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/_version.py +3 -3
  8. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b07.py +10 -5
  9. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b07_1.py +10 -5
  10. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b21.py +22 -0
  11. dls_dodal-1.59.1/src/dodal/beamlines/i02_1.py +117 -0
  12. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i03.py +5 -3
  13. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i04.py +5 -3
  14. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i09.py +10 -9
  15. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i09_1.py +10 -5
  16. dls_dodal-1.59.1/src/dodal/beamlines/i10-1.py +25 -0
  17. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i10.py +17 -1
  18. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i11.py +0 -17
  19. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i19_2.py +11 -0
  20. dls_dodal-1.59.1/src/dodal/beamlines/i21.py +27 -0
  21. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i22.py +12 -2
  22. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i24.py +32 -3
  23. dls_dodal-1.59.1/src/dodal/beamlines/k07.py +31 -0
  24. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/p60.py +10 -9
  25. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/apple2_undulator.py +18 -142
  26. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/attenuator/attenuator.py +48 -2
  27. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/attenuator/filter.py +3 -0
  28. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/attenuator/filter_selections.py +26 -0
  29. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/eiger.py +2 -1
  30. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/__init__.py +4 -0
  31. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +30 -18
  32. dls_dodal-1.59.1/src/dodal/devices/electron_analyser/energy_sources.py +101 -0
  33. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/specs/detector.py +6 -6
  34. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/specs/driver_io.py +7 -15
  35. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/vgscienta/detector.py +6 -6
  36. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +7 -14
  37. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/fast_grid_scan.py +130 -64
  38. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/focusing_mirror.py +30 -0
  39. dls_dodal-1.59.1/src/dodal/devices/i02_1/fast_grid_scan.py +61 -0
  40. dls_dodal-1.59.1/src/dodal/devices/i02_1/sample_motors.py +19 -0
  41. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i04/murko_results.py +69 -23
  42. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/i10_apple2.py +282 -140
  43. dls_dodal-1.59.1/src/dodal/devices/i21/__init__.py +3 -0
  44. dls_dodal-1.59.1/src/dodal/devices/i21/enums.py +8 -0
  45. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i22/nxsas.py +2 -0
  46. dls_dodal-1.59.1/src/dodal/devices/i24/commissioning_jungfrau.py +114 -0
  47. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/smargon.py +0 -56
  48. dls_dodal-1.59.1/src/dodal/devices/temperture_controller/__init__.py +3 -0
  49. dls_dodal-1.59.1/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +204 -0
  50. dls_dodal-1.59.1/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +112 -0
  51. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/tetramm.py +38 -16
  52. dls_dodal-1.59.1/src/dodal/devices/v2f.py +39 -0
  53. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zebra/zebra.py +1 -0
  54. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zebra/zebra_constants_mapping.py +1 -1
  55. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/parameters/experiment_parameter_base.py +1 -5
  56. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_watcher_utils.py +14 -0
  57. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/conftest.py +55 -0
  58. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/abstract/test_base_detector.py +4 -3
  59. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +24 -8
  60. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/conftest.py +28 -17
  61. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/specs/test_detector.py +6 -3
  62. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/specs/test_driver_io.py +14 -21
  63. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/test_detector.py +4 -3
  64. dls_dodal-1.59.1/tests/devices/electron_analyser/test_energy_sources.py +93 -0
  65. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/vgscienta/test_detector.py +6 -3
  66. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +21 -22
  67. dls_dodal-1.59.1/tests/devices/i02_1/test_fast_grid_scan.py +23 -0
  68. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i04/test_murko_results.py +125 -11
  69. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_i10Apple2.py +106 -73
  70. dls_dodal-1.59.1/tests/devices/i24/test_commissioning_jungfrau.py +66 -0
  71. dls_dodal-1.59.1/tests/devices/temperature_controller/__init__.py +0 -0
  72. dls_dodal-1.59.1/tests/devices/temperature_controller/lakeshore/__init__.py +0 -0
  73. dls_dodal-1.59.1/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +136 -0
  74. dls_dodal-1.59.1/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +81 -0
  75. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_attenuator.py +44 -1
  76. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_gridscan.py +65 -75
  77. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_tetramm.py +41 -7
  78. dls_dodal-1.59.1/tests/devices/util/__init__.py +0 -0
  79. dls_dodal-1.59.1/tests/fake_zocalo/__init__.py +0 -0
  80. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_zocalo/__main__.py +1 -1
  81. dls_dodal-1.59.1/tests/plan_stubs/__init__.py +0 -0
  82. dls_dodal-1.58.0/src/dodal/beamlines/i02_1.py +0 -37
  83. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.copier-answers.yml +0 -0
  84. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.devcontainer/devcontainer.json +0 -0
  85. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/CODEOWNERS +0 -0
  86. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/CONTRIBUTING.md +0 -0
  87. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  88. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/actions/install_requirements/action.yml +0 -0
  89. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/dependabot.yml +0 -0
  90. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/pages/index.html +0 -0
  91. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/pages/make_switcher.py +0 -0
  92. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/scripts/check_test_durations.py +0 -0
  93. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_dist.yml +0 -0
  94. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_docs.yml +0 -0
  95. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_pypi.yml +0 -0
  96. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_release.yml +0 -0
  97. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_test.yml +0 -0
  98. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/_tox.yml +0 -0
  99. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/ci.yml +0 -0
  100. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.github/workflows/periodic.yml +0 -0
  101. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.gitignore +0 -0
  102. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.pre-commit-config.yaml +0 -0
  103. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.vscode/extensions.json +0 -0
  104. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.vscode/launch.json +0 -0
  105. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.vscode/settings.json +0 -0
  106. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/.vscode/tasks.json +0 -0
  107. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/Dockerfile +0 -0
  108. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/LICENSE +0 -0
  109. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/README.md +0 -0
  110. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/catalog-info.yaml +0 -0
  111. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/conftest.py +0 -0
  112. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/_templates/autosummary/class.rst +0 -0
  113. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/_templates/autosummary/module.rst +0 -0
  114. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/_templates/custom-module-template.rst +0 -0
  115. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/assets/where-to-put-dodal-logic.png +0 -0
  116. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/assets/zocalo.png +0 -0
  117. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/conf.py +0 -0
  118. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  119. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  120. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0003-codeowners.md +0 -0
  121. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  122. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  123. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  124. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions/COPYME +0 -0
  125. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/decisions.md +0 -0
  126. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/reviews.md +0 -0
  127. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/umls/apple2_design.png +0 -0
  128. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations/umls/i10_id_design.png +0 -0
  129. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/explanations.md +0 -0
  130. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/genindex.md +0 -0
  131. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/build-docs.md +0 -0
  132. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/contribute.md +0 -0
  133. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/coverage.md +0 -0
  134. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/create-beamline.md +0 -0
  135. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/create-device.md +0 -0
  136. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/dev-install.md +0 -0
  137. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/excalidraw.md +0 -0
  138. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/external-io-devices.md +0 -0
  139. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/lint.md +0 -0
  140. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/lock-requirements.md +0 -0
  141. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/make-release.md +0 -0
  142. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/move-code.md +0 -0
  143. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/pypi.md +0 -0
  144. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/run-tests.md +0 -0
  145. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/static-analysis.md +0 -0
  146. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/update-template.md +0 -0
  147. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to/zocalo.md +0 -0
  148. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/how-to.md +0 -0
  149. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/images/dls-logo.svg +0 -0
  150. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/images/excalidraw-example.svg +0 -0
  151. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/index.md +0 -0
  152. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/reference/api.md +0 -0
  153. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/reference/device-standards.md +0 -0
  154. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/reference/standards.md +0 -0
  155. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/reference.md +0 -0
  156. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/tutorials/get_started.md +0 -0
  157. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/tutorials/installation.md +0 -0
  158. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/docs/tutorials.md +0 -0
  159. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/pull_request_template.md +0 -0
  160. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/setup.cfg +0 -0
  161. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/__init__.py +0 -0
  162. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  163. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  164. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dls_dodal.egg-info/top_level.txt +0 -0
  165. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/__init__.py +0 -0
  166. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/__main__.py +0 -0
  167. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  168. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamline_specific_utils/i03.py +0 -0
  169. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamline_specific_utils/i05_shared.py +0 -0
  170. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/README.md +0 -0
  171. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/__init__.py +0 -0
  172. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/adsim.py +0 -0
  173. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/aithre.py +0 -0
  174. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b01_1.py +0 -0
  175. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b16.py +0 -0
  176. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/b18.py +0 -0
  177. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i05.py +0 -0
  178. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i05_1.py +0 -0
  179. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i09_2.py +0 -0
  180. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i13_1.py +0 -0
  181. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i17.py +0 -0
  182. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i18.py +0 -0
  183. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i19_1.py +0 -0
  184. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i19_optics.py +0 -0
  185. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i20_1.py +0 -0
  186. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/i23.py +0 -0
  187. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/k11.py +0 -0
  188. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/p38.py +0 -0
  189. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/p45.py +0 -0
  190. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/p99.py +0 -0
  191. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/beamlines/training_rig.py +0 -0
  192. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/cli.py +0 -0
  193. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/__init__.py +0 -0
  194. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/beamlines/__init__.py +0 -0
  195. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
  196. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  197. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
  198. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/beamlines/device_helpers.py +0 -0
  199. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/coordination.py +0 -0
  200. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/crystal_metadata.py +0 -0
  201. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/data_util.py +0 -0
  202. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/device_utils.py +0 -0
  203. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/enums.py +0 -0
  204. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/maths.py +0 -0
  205. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/types.py +0 -0
  206. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/udc_directory_provider.py +0 -0
  207. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/visit.py +0 -0
  208. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/common/watcher_utils.py +1 -1
  209. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/__init__.py +0 -0
  210. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
  211. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
  212. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  213. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/aperture.py +0 -0
  214. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/aperturescatterguard.py +0 -0
  215. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
  216. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
  217. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b07/__init__.py +0 -0
  218. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b07/enums.py +0 -0
  219. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b07_1/__init__.py +0 -0
  220. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b07_1/ccmc.py +0 -0
  221. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b07_1/enums.py +0 -0
  222. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b16/__init__.py +0 -0
  223. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/b16/detector.py +0 -0
  224. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/backlight.py +0 -0
  225. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/baton.py +0 -0
  226. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/bimorph_mirror.py +0 -0
  227. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/collimation_table.py +0 -0
  228. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/common_dcm.py +0 -0
  229. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/controllers.py +0 -0
  230. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/cryostream.py +0 -0
  231. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  232. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  233. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  234. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  235. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  236. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  237. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/__init__.py +0 -0
  238. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  239. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  240. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/det_resolution.py +0 -0
  241. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/detector.py +0 -0
  242. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/detector/detector_motion.py +0 -0
  243. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/diamond_filter.py +0 -0
  244. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/eiger_odin.py +0 -0
  245. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  246. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  247. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
  248. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
  249. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/detector.py +0 -0
  250. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/enums.py +0 -0
  251. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  252. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  253. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
  254. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/types.py +0 -0
  255. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/util.py +0 -0
  256. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  257. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  258. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
  259. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/eurotherm.py +0 -0
  260. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  261. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/flux.py +0 -0
  262. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/hutch_shutter.py +0 -0
  263. {dls_dodal-1.58.0/src/dodal/devices/i10 → dls_dodal-1.59.1/src/dodal/devices/i02_1}/__init__.py +0 -0
  264. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i03/__init__.py +0 -0
  265. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i03/dcm.py +0 -0
  266. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i03/undulator_dcm.py +0 -0
  267. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i04/__init__.py +0 -0
  268. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i04/constants.py +0 -0
  269. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i04/transfocator.py +0 -0
  270. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i05/__init__.py +0 -0
  271. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i05/enums.py +0 -0
  272. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i09/__init__.py +0 -0
  273. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i09/dcm.py +0 -0
  274. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i09/enums.py +0 -0
  275. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i09_1/__init__.py +0 -0
  276. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i09_1/enums.py +0 -0
  277. {dls_dodal-1.58.0/src/dodal/devices/i13_1 → dls_dodal-1.59.1/src/dodal/devices/i10}/__init__.py +0 -0
  278. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/diagnostics.py +0 -0
  279. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  280. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/mirrors.py +0 -0
  281. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  282. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  283. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  284. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i10/slits.py +0 -0
  285. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
  286. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i11/diff_stages.py +0 -0
  287. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i11/mythen.py +0 -0
  288. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i11/nx100robot.py +0 -0
  289. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i11/spinner.py +0 -0
  290. {dls_dodal-1.58.0/src/dodal/devices/i19 → dls_dodal-1.59.1/src/dodal/devices/i13_1}/__init__.py +0 -0
  291. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i13_1/merlin.py +0 -0
  292. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
  293. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i18/KBMirror.py +0 -0
  294. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i18/diode.py +0 -0
  295. {dls_dodal-1.58.0/src/dodal/devices/i20_1 → dls_dodal-1.59.1/src/dodal/devices/i19}/__init__.py +0 -0
  296. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/backlight.py +0 -0
  297. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/beamstop.py +0 -0
  298. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/blueapi_device.py +0 -0
  299. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/diffractometer.py +0 -0
  300. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/hutch_access.py +0 -0
  301. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i19/shutter.py +0 -0
  302. {dls_dodal-1.58.0/src/dodal/devices/i24 → dls_dodal-1.59.1/src/dodal/devices/i20_1}/__init__.py +0 -0
  303. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i22/dcm.py +0 -0
  304. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i22/fswitch.py +0 -0
  305. {dls_dodal-1.58.0/src/dodal/devices/oav → dls_dodal-1.59.1/src/dodal/devices/i24}/__init__.py +0 -0
  306. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/aperture.py +0 -0
  307. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/beam_center.py +0 -0
  308. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/beamstop.py +0 -0
  309. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/dcm.py +0 -0
  310. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/dual_backlight.py +0 -0
  311. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  312. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/pmac.py +0 -0
  313. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/i24/vgonio.py +0 -0
  314. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/ipin.py +0 -0
  315. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/linkam3.py +0 -0
  316. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/motors.py +0 -0
  317. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
  318. {dls_dodal-1.58.0/src/dodal/devices/p99 → dls_dodal-1.59.1/src/dodal/devices/oav}/__init__.py +0 -0
  319. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/oav_calculations.py +0 -0
  320. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/oav_detector.py +0 -0
  321. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/oav_parameters.py +0 -0
  322. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -0
  323. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -0
  324. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  325. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
  326. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  327. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  328. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  329. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
  330. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/oav/utils.py +0 -0
  331. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p45.py +0 -0
  332. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p60/__init__.py +0 -0
  333. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p60/enums.py +0 -0
  334. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  335. {dls_dodal-1.58.0/src/dodal/devices/util → dls_dodal-1.59.1/src/dodal/devices/p99}/__init__.py +0 -0
  336. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p99/andor2_point.py +0 -0
  337. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/p99/sample_stage.py +0 -0
  338. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/pgm.py +0 -0
  339. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/positioner.py +0 -0
  340. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/pressure_jump_cell.py +0 -0
  341. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/qbpm.py +0 -0
  342. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/robot.py +0 -0
  343. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/s4_slit_gaps.py +0 -0
  344. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/scintillator.py +0 -0
  345. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/slits.py +0 -0
  346. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/status.py +0 -0
  347. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/synchrotron.py +0 -0
  348. {dls_dodal-1.58.0/src/dodal/devices/zebra → dls_dodal-1.59.1/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  349. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/thawer.py +0 -0
  350. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/turbo_slit.py +0 -0
  351. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/undulator.py +0 -0
  352. {dls_dodal-1.58.0/src/dodal/plan_stubs → dls_dodal-1.59.1/src/dodal/devices/util}/__init__.py +0 -0
  353. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/util/adjuster_plans.py +0 -0
  354. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/util/epics_util.py +0 -0
  355. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/util/lookup_tables.py +0 -0
  356. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  357. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/webcam.py +0 -0
  358. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/xbpm_feedback.py +0 -0
  359. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/xspress3/xspress3.py +0 -0
  360. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  361. {dls_dodal-1.58.0/src/dodal/plans/preprocessors → dls_dodal-1.59.1/src/dodal/devices/zebra}/__init__.py +0 -0
  362. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  363. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zocalo/__init__.py +0 -0
  364. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  365. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  366. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
  367. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/log.py +0 -0
  368. {dls_dodal-1.58.0/system_tests → dls_dodal-1.59.1/src/dodal/plan_stubs}/__init__.py +0 -0
  369. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plan_stubs/check_topup.py +0 -0
  370. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plan_stubs/data_session.py +0 -0
  371. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plan_stubs/motor_utils.py +0 -0
  372. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plan_stubs/wrapped.py +0 -0
  373. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/__init__.py +0 -0
  374. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/bimorph.py +0 -0
  375. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
  376. {dls_dodal-1.58.0/tests → dls_dodal-1.59.1/src/dodal/plans/preprocessors}/__init__.py +0 -0
  377. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  378. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/save_panda.py +0 -0
  379. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/scanspec.py +0 -0
  380. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/verify_undulator_gap.py +0 -0
  381. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/plans/wrapped.py +0 -0
  382. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/testing/__init__.py +0 -0
  383. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  384. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
  385. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/testing/setup.py +0 -0
  386. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/src/dodal/utils.py +0 -0
  387. {dls_dodal-1.58.0/tests/beamlines → dls_dodal-1.59.1/system_tests}/__init__.py +0 -0
  388. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/system_tests/test_adsim.py +0 -0
  389. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/system_tests/test_cli.py +0 -0
  390. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/system_tests/test_oav_system.py +0 -0
  391. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/system_tests/test_oav_to_redis_system.py +0 -0
  392. {dls_dodal-1.58.0/tests/common → dls_dodal-1.59.1/tests}/__init__.py +0 -0
  393. {dls_dodal-1.58.0/tests/common → dls_dodal-1.59.1/tests}/beamlines/__init__.py +0 -0
  394. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/beamlines/test_b16.py +0 -0
  395. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/beamlines/test_i03.py +0 -0
  396. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/beamlines/test_i24.py +0 -0
  397. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/beamlines/test_mapping.py +0 -0
  398. {dls_dodal-1.58.0/tests/devices → dls_dodal-1.59.1/tests/common}/__init__.py +0 -0
  399. {dls_dodal-1.58.0/tests/devices/electron_analyser → dls_dodal-1.59.1/tests/common/beamlines}/__init__.py +0 -0
  400. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  401. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/beamlines/test_beamline_utils.py +0 -0
  402. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/beamlines/test_commissioning_mode.py +0 -0
  403. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/beamlines/test_device_instantiation.py +0 -0
  404. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_coordination.py +0 -0
  405. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_crystal_metadata.py +0 -0
  406. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_maths.py +0 -0
  407. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_udc_directory_provider.py +0 -0
  408. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/common/test_visit.py +0 -0
  409. {dls_dodal-1.58.0/tests/devices/electron_analyser/abstract → dls_dodal-1.59.1/tests/devices}/__init__.py +0 -0
  410. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
  411. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/b07_1/test_ccmc.py +0 -0
  412. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/current_amplifier/test_femto.py +0 -0
  413. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/current_amplifier/test_sr570.py +0 -0
  414. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/detector/test_data/__init__.py +0 -0
  415. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  416. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/detector/test_det_dim_constants.py +0 -0
  417. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/detector/test_det_resolution.py +0 -0
  418. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/detector/test_detector.py +0 -0
  419. {dls_dodal-1.58.0/tests/devices/electron_analyser/specs → dls_dodal-1.59.1/tests/devices/electron_analyser}/__init__.py +0 -0
  420. {dls_dodal-1.58.0/tests/devices/electron_analyser/vgscienta → dls_dodal-1.59.1/tests/devices/electron_analyser/abstract}/__init__.py +0 -0
  421. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
  422. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  423. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  424. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  425. {dls_dodal-1.58.0/tests/devices/i03 → dls_dodal-1.59.1/tests/devices/electron_analyser/specs}/__init__.py +0 -0
  426. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/specs/test_region.py +0 -0
  427. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  428. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  429. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  430. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/test_util.py +0 -0
  431. {dls_dodal-1.58.0/tests/devices/i04 → dls_dodal-1.59.1/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
  432. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
  433. {dls_dodal-1.58.0/tests/devices/i09 → dls_dodal-1.59.1/tests/devices/i02_1}/__init__.py +0 -0
  434. {dls_dodal-1.58.0/tests/devices/i19 → dls_dodal-1.59.1/tests/devices/i03}/__init__.py +0 -0
  435. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i03/test_dcm.py +0 -0
  436. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i03/test_undulator_dcm.py +0 -0
  437. {dls_dodal-1.58.0/tests/devices/i24 → dls_dodal-1.59.1/tests/devices/i04}/__init__.py +0 -0
  438. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i04/test_transfocator.py +0 -0
  439. {dls_dodal-1.58.0/tests/devices/mx_phase1 → dls_dodal-1.59.1/tests/devices/i09}/__init__.py +0 -0
  440. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i09/test_dcm.py +0 -0
  441. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  442. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  443. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/__init__.py +0 -0
  444. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  445. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  446. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  447. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  448. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i11/test_i11devices.py +0 -0
  449. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i11/test_mythen.py +0 -0
  450. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i13_1/test_merlin.py +0 -0
  451. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i18/test_kb_mirror.py +0 -0
  452. {dls_dodal-1.58.0/tests/devices/oav → dls_dodal-1.59.1/tests/devices/i19}/__init__.py +0 -0
  453. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i19/test_backlight.py +0 -0
  454. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i19/test_beamstop.py +0 -0
  455. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i19/test_diffractometer.py +0 -0
  456. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i19/test_shutter.py +0 -0
  457. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i22/test_dcm.py +0 -0
  458. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i22/test_fswitch.py +0 -0
  459. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i22/test_metadataholder.py +0 -0
  460. {dls_dodal-1.58.0/tests/devices/util → dls_dodal-1.59.1/tests/devices/i24}/__init__.py +0 -0
  461. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i24/test_dual_backlight.py +0 -0
  462. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i24/test_focus_mirrors.py +0 -0
  463. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i24/test_pmac.py +0 -0
  464. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/i24/test_vgonio.py +0 -0
  465. {dls_dodal-1.58.0/tests/fake_zocalo → dls_dodal-1.59.1/tests/devices/mx_phase1}/__init__.py +0 -0
  466. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/mx_phase1/test_beamstop.py +0 -0
  467. {dls_dodal-1.58.0/tests/plan_stubs → dls_dodal-1.59.1/tests/devices/oav}/__init__.py +0 -0
  468. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/conftest.py +0 -0
  469. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +0 -0
  470. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
  471. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_data/__init__.py +0 -0
  472. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  473. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  474. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  475. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_grid_overlay.py +0 -0
  476. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_oav.py +0 -0
  477. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_oav_parameters.py +0 -0
  478. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_oav_to_redis_forwarder.py +0 -0
  479. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_oav_utils.py +0 -0
  480. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  481. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/oav/test_snapshots.py +0 -0
  482. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/p60/test_lab_xray_source.py +0 -0
  483. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/p99/test_p99_stage.py +0 -0
  484. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test.png +0 -0
  485. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_aperture.py +0 -0
  486. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_aperture_scatterguard.py +0 -0
  487. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_apple2_undulator.py +0 -0
  488. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_backlight.py +0 -0
  489. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_bart_robot.py +0 -0
  490. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_baton.py +0 -0
  491. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_beam_converter.py +0 -0
  492. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_bimorph_mirror.py +0 -0
  493. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_common_dcm.py +0 -0
  494. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_controllers.py +0 -0
  495. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/__init__.py +0 -0
  496. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  497. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  498. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  499. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  500. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  501. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_data/__init__.py +0 -0
  502. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  503. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_data/test_lookup_table.txt +0 -0
  504. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_diamond_filter.py +0 -0
  505. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_eiger.py +0 -0
  506. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_focusing_mirror.py +0 -0
  507. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_hutch_shutter.py +0 -0
  508. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_motors.py +0 -0
  509. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_odin.py +0 -0
  510. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_positioner.py +0 -0
  511. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_pressure_jump_cell.py +0 -0
  512. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_qbpm.py +0 -0
  513. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_scintillator.py +0 -0
  514. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_slits.py +0 -0
  515. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_smargon.py +0 -0
  516. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_status.py +0 -0
  517. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_synchrotron.py +0 -0
  518. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_thawer.py +0 -0
  519. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_turbo_slit.py +0 -0
  520. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_undulator.py +0 -0
  521. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_utils.py +0 -0
  522. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_watsonmarlow323_pump.py +0 -0
  523. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_webcam.py +0 -0
  524. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_xbpm_feedback.py +0 -0
  525. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_xspress3.py +0 -0
  526. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_zebra.py +0 -0
  527. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_zebra_constants_mapping.py +0 -0
  528. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_zebra_shutter.py +0 -0
  529. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_zocalo_interaction.py +0 -0
  530. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/test_zocalo_results.py +0 -0
  531. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_adjuster_plans.py +0 -0
  532. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_beamline_specific_utils.py +0 -0
  533. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_data/__init__.py +0 -0
  534. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  535. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  536. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  537. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_lookup_tables.py +0 -0
  538. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/devices/util/test_save_panda.py +0 -0
  539. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline.py +0 -0
  540. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  541. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_broken_dependency.py +0 -0
  542. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_dependencies.py +0 -0
  543. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_disordered_dependencies.py +0 -0
  544. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  545. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_beamline_some_devices_working.py +0 -0
  546. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_device_factory_beamline.py +0 -0
  547. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_zocalo/README.rst +0 -0
  548. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  549. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_data/__init__.py +0 -0
  550. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  551. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  552. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_data_session.py +0 -0
  553. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_motor_util_plans.py +0 -0
  554. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_topup_plan.py +0 -0
  555. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  556. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/conftest.py +0 -0
  557. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_bimorph.py +0 -0
  558. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_compliance.py +0 -0
  559. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
  560. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  561. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_scanspec.py +0 -0
  562. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
  563. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/plans/test_wrapped.py +0 -0
  564. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  565. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_cli.py +0 -0
  566. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/__init__.py +0 -0
  567. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/bad_beamlineParameters +0 -0
  568. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/i04_beamlineParameters +0 -0
  569. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/test_beamline_parameters.txt +0 -0
  570. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/test_display.configuration +0 -0
  571. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_data/test_oav_zoom_levels.xml +0 -0
  572. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_log.py +0 -0
  573. {dls_dodal-1.58.0 → dls_dodal-1.59.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.58.0
3
+ Version: 1.59.1
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, 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
@@ -233,6 +233,7 @@ Requires-Dist: scanspec>=0.7.3
233
233
  Requires-Dist: event-model>=1.23
234
234
  Requires-Dist: pyzmq==26.3.0
235
235
  Requires-Dist: deepdiff
236
+ Requires-Dist: daq-config-server>=v1.0.0-rc.2
236
237
  Provides-Extra: dev
237
238
  Requires-Dist: black; extra == "dev"
238
239
  Requires-Dist: diff-cover; extra == "dev"
@@ -120,3 +120,33 @@ async def test_my_device_read(sim_my_device: MyDevice, RE: RunEngine) -> None:
120
120
  }
121
121
  )
122
122
  ```
123
+
124
+ ## Test performance and reliability
125
+
126
+ Dodal has well over 1000 unit tests and developers will run the full unit test suite frequently on their local
127
+ machines, therefore it is imperative that the unit tests are both reliable and run quickly. Ideally the test suite
128
+ should run in about a minute, so if your test takes more than a fraction of a second to complete then consider
129
+ making it faster. The GitHub CI will fail if any test takes longer than 1 second.
130
+
131
+ Tests that involve concurrency can sometimes be unreliable due to subtle race conditions and variations in timing
132
+ caused by caching, garbage collection and other factors.
133
+ Often these manifest only on certain machines or in CI and are difficult to reproduce. Whilst the odd test failure
134
+ can be worked around by re-running the tests, this is annoying and a build up of such flaky tests is undesirable so
135
+ it is preferable to fix the test.
136
+
137
+ ### Event loop fuzzer
138
+
139
+ To assist in the reproduction of concurrency-related test failures, there is an event loop fuzzer available as a
140
+ pytest fixture. The fuzzer introduces random delays into the ``asyncio`` event loop. You can use it as by
141
+ requesting ``event_loop_fuzzing`` as a fixture. It is also recommended when debugging to parametrize the test to
142
+ introduce a good number of iterations in order to ensure the problem has a good chance to show up, but remember to
143
+ remove the parametrization afterwards.
144
+
145
+ ```Python
146
+ import pytest
147
+ # repeat the test a number of times
148
+ @pytest.mark.parametrize("i", range(0, 100))
149
+ async def my_unreliable_test(i, event_loop_fuzzing):
150
+ # Do some stuff in here
151
+
152
+ ```
@@ -32,6 +32,7 @@ dependencies = [
32
32
  "event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
33
33
  "pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
34
34
  "deepdiff",
35
+ "daq-config-server>=v1.0.0-rc.2",# For getting Configuration settings.
35
36
  ]
36
37
 
37
38
  dynamic = ["version"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.58.0
3
+ Version: 1.59.1
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, 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
@@ -233,6 +233,7 @@ Requires-Dist: scanspec>=0.7.3
233
233
  Requires-Dist: event-model>=1.23
234
234
  Requires-Dist: pyzmq==26.3.0
235
235
  Requires-Dist: deepdiff
236
+ Requires-Dist: daq-config-server>=v1.0.0-rc.2
236
237
  Provides-Extra: dev
237
238
  Requires-Dist: black; extra == "dev"
238
239
  Requires-Dist: diff-cover; extra == "dev"
@@ -111,6 +111,7 @@ src/dodal/beamlines/i05_1.py
111
111
  src/dodal/beamlines/i09.py
112
112
  src/dodal/beamlines/i09_1.py
113
113
  src/dodal/beamlines/i09_2.py
114
+ src/dodal/beamlines/i10-1.py
114
115
  src/dodal/beamlines/i10.py
115
116
  src/dodal/beamlines/i11.py
116
117
  src/dodal/beamlines/i13_1.py
@@ -120,9 +121,11 @@ src/dodal/beamlines/i19_1.py
120
121
  src/dodal/beamlines/i19_2.py
121
122
  src/dodal/beamlines/i19_optics.py
122
123
  src/dodal/beamlines/i20_1.py
124
+ src/dodal/beamlines/i21.py
123
125
  src/dodal/beamlines/i22.py
124
126
  src/dodal/beamlines/i23.py
125
127
  src/dodal/beamlines/i24.py
128
+ src/dodal/beamlines/k07.py
126
129
  src/dodal/beamlines/k11.py
127
130
  src/dodal/beamlines/p38.py
128
131
  src/dodal/beamlines/p45.py
@@ -184,6 +187,7 @@ src/dodal/devices/tetramm.py
184
187
  src/dodal/devices/thawer.py
185
188
  src/dodal/devices/turbo_slit.py
186
189
  src/dodal/devices/undulator.py
190
+ src/dodal/devices/v2f.py
187
191
  src/dodal/devices/watsonmarlow323_pump.py
188
192
  src/dodal/devices/webcam.py
189
193
  src/dodal/devices/xbpm_feedback.py
@@ -216,6 +220,7 @@ src/dodal/devices/detector/detector.py
216
220
  src/dodal/devices/detector/detector_motion.py
217
221
  src/dodal/devices/electron_analyser/__init__.py
218
222
  src/dodal/devices/electron_analyser/detector.py
223
+ src/dodal/devices/electron_analyser/energy_sources.py
219
224
  src/dodal/devices/electron_analyser/enums.py
220
225
  src/dodal/devices/electron_analyser/types.py
221
226
  src/dodal/devices/electron_analyser/util.py
@@ -234,6 +239,9 @@ src/dodal/devices/electron_analyser/vgscienta/detector.py
234
239
  src/dodal/devices/electron_analyser/vgscienta/driver_io.py
235
240
  src/dodal/devices/electron_analyser/vgscienta/enums.py
236
241
  src/dodal/devices/electron_analyser/vgscienta/region.py
242
+ src/dodal/devices/i02_1/__init__.py
243
+ src/dodal/devices/i02_1/fast_grid_scan.py
244
+ src/dodal/devices/i02_1/sample_motors.py
237
245
  src/dodal/devices/i03/__init__.py
238
246
  src/dodal/devices/i03/dcm.py
239
247
  src/dodal/devices/i03/undulator_dcm.py
@@ -275,6 +283,8 @@ src/dodal/devices/i19/diffractometer.py
275
283
  src/dodal/devices/i19/hutch_access.py
276
284
  src/dodal/devices/i19/shutter.py
277
285
  src/dodal/devices/i20_1/__init__.py
286
+ src/dodal/devices/i21/__init__.py
287
+ src/dodal/devices/i21/enums.py
278
288
  src/dodal/devices/i22/dcm.py
279
289
  src/dodal/devices/i22/fswitch.py
280
290
  src/dodal/devices/i22/nxsas.py
@@ -282,6 +292,7 @@ src/dodal/devices/i24/__init__.py
282
292
  src/dodal/devices/i24/aperture.py
283
293
  src/dodal/devices/i24/beam_center.py
284
294
  src/dodal/devices/i24/beamstop.py
295
+ src/dodal/devices/i24/commissioning_jungfrau.py
285
296
  src/dodal/devices/i24/dcm.py
286
297
  src/dodal/devices/i24/dual_backlight.py
287
298
  src/dodal/devices/i24/focus_mirrors.py
@@ -307,6 +318,10 @@ src/dodal/devices/p60/lab_xray_source.py
307
318
  src/dodal/devices/p99/__init__.py
308
319
  src/dodal/devices/p99/andor2_point.py
309
320
  src/dodal/devices/p99/sample_stage.py
321
+ src/dodal/devices/temperture_controller/__init__.py
322
+ src/dodal/devices/temperture_controller/lakeshore/__init__.py
323
+ src/dodal/devices/temperture_controller/lakeshore/lakeshore.py
324
+ src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py
310
325
  src/dodal/devices/util/__init__.py
311
326
  src/dodal/devices/util/adjuster_plans.py
312
327
  src/dodal/devices/util/epics_util.py
@@ -429,6 +444,7 @@ tests/devices/detector/test_data/test_det_dist_converter.txt
429
444
  tests/devices/electron_analyser/__init__.py
430
445
  tests/devices/electron_analyser/conftest.py
431
446
  tests/devices/electron_analyser/test_detector.py
447
+ tests/devices/electron_analyser/test_energy_sources.py
432
448
  tests/devices/electron_analyser/test_util.py
433
449
  tests/devices/electron_analyser/abstract/__init__.py
434
450
  tests/devices/electron_analyser/abstract/test_base_detector.py
@@ -448,6 +464,8 @@ tests/devices/electron_analyser/vgscienta/__init__.py
448
464
  tests/devices/electron_analyser/vgscienta/test_detector.py
449
465
  tests/devices/electron_analyser/vgscienta/test_driver_io.py
450
466
  tests/devices/electron_analyser/vgscienta/test_region.py
467
+ tests/devices/i02_1/__init__.py
468
+ tests/devices/i02_1/test_fast_grid_scan.py
451
469
  tests/devices/i03/__init__.py
452
470
  tests/devices/i03/test_dcm.py
453
471
  tests/devices/i03/test_undulator_dcm.py
@@ -477,6 +495,7 @@ tests/devices/i22/test_dcm.py
477
495
  tests/devices/i22/test_fswitch.py
478
496
  tests/devices/i22/test_metadataholder.py
479
497
  tests/devices/i24/__init__.py
498
+ tests/devices/i24/test_commissioning_jungfrau.py
480
499
  tests/devices/i24/test_dual_backlight.py
481
500
  tests/devices/i24/test_focus_mirrors.py
482
501
  tests/devices/i24/test_pmac.py
@@ -500,6 +519,10 @@ tests/devices/oav/test_data/oav_snapshot_test.png
500
519
  tests/devices/oav/test_data/test_OAVCentring.json
501
520
  tests/devices/p60/test_lab_xray_source.py
502
521
  tests/devices/p99/test_p99_stage.py
522
+ tests/devices/temperature_controller/__init__.py
523
+ tests/devices/temperature_controller/lakeshore/__init__.py
524
+ tests/devices/temperature_controller/lakeshore/test_lakeshore.py
525
+ tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py
503
526
  tests/devices/test_daq_configuration/__init__.py
504
527
  tests/devices/test_daq_configuration/domain/__init__.py
505
528
  tests/devices/test_daq_configuration/domain/beamlineParameters
@@ -18,6 +18,7 @@ scanspec>=0.7.3
18
18
  event-model>=1.23
19
19
  pyzmq==26.3.0
20
20
  deepdiff
21
+ daq-config-server>=v1.0.0-rc.2
21
22
 
22
23
  [dev]
23
24
  black
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.58.0'
32
- __version_tuple__ = version_tuple = (1, 58, 0)
31
+ __version__ = version = '1.59.1'
32
+ __version_tuple__ = version_tuple = (1, 59, 1)
33
33
 
34
- __commit_id__ = commit_id = 'g52d34a5bc'
34
+ __commit_id__ = commit_id = 'g67bd9e286'
@@ -3,8 +3,8 @@ 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.b07 import Grating, LensMode, PsuMode
6
- from dodal.devices.electron_analyser import SelectedSource
7
- from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
6
+ from dodal.devices.electron_analyser import EnergySource
7
+ from dodal.devices.electron_analyser.specs import SpecsDetector
8
8
  from dodal.devices.pgm import PGM
9
9
  from dodal.devices.synchrotron import Synchrotron
10
10
  from dodal.log import set_beamline as set_log_beamline
@@ -26,13 +26,18 @@ def pgm() -> PGM:
26
26
  return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
27
27
 
28
28
 
29
+ @device_factory()
30
+ def energy_source() -> EnergySource:
31
+ return EnergySource(pgm().energy.user_readback)
32
+
33
+
29
34
  # Connect will work again after this work completed
30
35
  # https://jira.diamond.ac.uk/browse/B07-1104
31
36
  @device_factory()
32
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
33
- return SpecsAnalyserDriverIO[LensMode, PsuMode](
37
+ def analyser() -> SpecsDetector[LensMode, PsuMode]:
38
+ return SpecsDetector[LensMode, PsuMode](
34
39
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
35
40
  lens_mode_type=LensMode,
36
41
  psu_mode_type=PsuMode,
37
- energy_sources={SelectedSource.SOURCE1: pgm().energy.user_readback},
42
+ energy_source=energy_source(),
38
43
  )
@@ -6,8 +6,8 @@ from dodal.devices.b07_1 import (
6
6
  Grating,
7
7
  LensMode,
8
8
  )
9
- from dodal.devices.electron_analyser import SelectedSource
10
- from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
9
+ from dodal.devices.electron_analyser import EnergySource
10
+ from dodal.devices.electron_analyser.specs import SpecsDetector
11
11
  from dodal.devices.pgm import PGM
12
12
  from dodal.devices.synchrotron import Synchrotron
13
13
  from dodal.log import set_beamline as set_log_beamline
@@ -37,10 +37,15 @@ def ccmc() -> ChannelCutMonochromator:
37
37
 
38
38
 
39
39
  @device_factory()
40
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
41
- return SpecsAnalyserDriverIO[LensMode, PsuMode](
40
+ def energy_source() -> EnergySource:
41
+ return EnergySource(pgm().energy.user_readback)
42
+
43
+
44
+ @device_factory()
45
+ def analyser() -> SpecsDetector[LensMode, PsuMode]:
46
+ return SpecsDetector[LensMode, PsuMode](
42
47
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
43
48
  lens_mode_type=LensMode,
44
49
  psu_mode_type=PsuMode,
45
- energy_sources={SelectedSource.SOURCE1: pgm().energy.user_readback},
50
+ energy_source=energy_source(),
46
51
  )
@@ -8,10 +8,13 @@ from dodal.common.beamlines.beamline_utils import (
8
8
  )
9
9
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
10
10
  from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
11
+ from dodal.devices.focusing_mirror import SimpleMirror
11
12
  from dodal.devices.i22.nxsas import NXSasMetadataHolder, NXSasOAV
12
13
  from dodal.devices.linkam3 import Linkam3
14
+ from dodal.devices.motors import XYStage
13
15
  from dodal.devices.slits import Slits
14
16
  from dodal.devices.synchrotron import Synchrotron
17
+ from dodal.devices.v2f import QDV2F
15
18
  from dodal.log import set_beamline as set_log_beamline
16
19
  from dodal.utils import BeamlinePrefix, get_beamline_name
17
20
 
@@ -43,6 +46,18 @@ def waxs() -> EigerDetector:
43
46
  )
44
47
 
45
48
 
49
+ @device_factory()
50
+ def mirror() -> SimpleMirror:
51
+ return SimpleMirror(
52
+ prefix=f"{PREFIX.beamline_prefix}-OP-MR-01:",
53
+ )
54
+
55
+
56
+ @device_factory()
57
+ def it() -> QDV2F:
58
+ return QDV2F(prefix=f"{PREFIX.beamline_prefix}-DI-PHDGN-07:PHD1:", I_suffix="I")
59
+
60
+
46
61
  @device_factory()
47
62
  def panda1() -> HDFPanda:
48
63
  return HDFPanda(
@@ -51,6 +66,13 @@ def panda1() -> HDFPanda:
51
66
  )
52
67
 
53
68
 
69
+ @device_factory()
70
+ def table() -> XYStage:
71
+ return XYStage(
72
+ prefix=f"{PREFIX.beamline_prefix}-MO-TABLE-04:",
73
+ )
74
+
75
+
54
76
  @device_factory()
55
77
  def synchrotron() -> Synchrotron:
56
78
  return Synchrotron()
@@ -0,0 +1,117 @@
1
+ """Beamline i02-1 is also known as VMXm, or I02J"""
2
+
3
+ from dodal.common.beamlines.beamline_utils import (
4
+ device_factory,
5
+ device_instantiation,
6
+ )
7
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
8
+ from dodal.devices.attenuator.attenuator import EnumFilterAttenuator
9
+ from dodal.devices.attenuator.filter_selections import (
10
+ I02_1FilterFourSelections,
11
+ I02_1FilterOneSelections,
12
+ I02_1FilterThreeSelections,
13
+ I02_1FilterTwoSelections,
14
+ )
15
+ from dodal.devices.eiger import EigerDetector
16
+ from dodal.devices.i02_1.fast_grid_scan import ZebraFastGridScanTwoD
17
+ from dodal.devices.i02_1.sample_motors import SampleMotors
18
+ from dodal.devices.synchrotron import Synchrotron
19
+ from dodal.devices.zebra.zebra import Zebra
20
+ from dodal.devices.zebra.zebra_constants_mapping import (
21
+ ZebraMapping,
22
+ ZebraSources,
23
+ ZebraTTLOutputs,
24
+ )
25
+ from dodal.devices.zocalo import ZocaloResults
26
+ from dodal.log import set_beamline as set_log_beamline
27
+ from dodal.utils import BeamlinePrefix, get_beamline_name
28
+
29
+ BL = get_beamline_name("i02-1")
30
+ PREFIX = BeamlinePrefix(BL, suffix="J")
31
+ set_log_beamline(BL)
32
+ set_utils_beamline(BL)
33
+ DAQ_CONFIGURATION_PATH = "/dls_sw/i02-1/software/daq_configuration"
34
+
35
+ I02_1_ZEBRA_MAPPING = ZebraMapping(
36
+ outputs=ZebraTTLOutputs(TTL_EIGER=2, TTL_XSPRESS3=3, TTL_FAST_SHUTTER=1),
37
+ sources=ZebraSources(),
38
+ )
39
+
40
+
41
+ @device_factory()
42
+ def eiger(mock: bool = False) -> EigerDetector:
43
+ """Get the i02-1 Eiger device, instantiate it if it hasn't already been.
44
+ If this is called when already instantiated in i02-1, it will return the existing object.
45
+ """
46
+ return device_instantiation(
47
+ device_factory=EigerDetector,
48
+ prefix=f"{PREFIX.beamline_prefix}-EA-EIGER-01:",
49
+ bl_prefix=False,
50
+ wait=False,
51
+ fake=mock,
52
+ name="eiger",
53
+ )
54
+
55
+
56
+ @device_factory()
57
+ def zebra_fast_grid_scan() -> ZebraFastGridScanTwoD:
58
+ """Get the i02-1 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
59
+ If this is called when already instantiated in i02-1, it will return the existing object.
60
+ """
61
+ return ZebraFastGridScanTwoD(
62
+ prefix=f"{PREFIX.beamline_prefix}-MO-SAMP-11:",
63
+ motion_controller_prefix="BL02J-MO-STEP-11:",
64
+ )
65
+
66
+
67
+ @device_factory()
68
+ def synchrotron() -> Synchrotron:
69
+ """Get the i02-1 synchrotron device, instantiate it if it hasn't already been.
70
+ If this is called when already instantiated in i02-1, it will return the existing object.
71
+ """
72
+ return Synchrotron()
73
+
74
+
75
+ @device_factory()
76
+ def zebra() -> Zebra:
77
+ """Get the i02-1 zebra device, instantiate it if it hasn't already been.
78
+ If this is called when already instantiated in i02-1, it will return the existing object.
79
+ """
80
+ return Zebra(
81
+ prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
82
+ mapping=I02_1_ZEBRA_MAPPING,
83
+ )
84
+
85
+
86
+ # Device not needed after https://github.com/DiamondLightSource/mx-bluesky/issues/1299
87
+ @device_factory()
88
+ def zocalo() -> ZocaloResults:
89
+ """Get the i02-1 ZocaloResults device, instantiate it if it hasn't already been.
90
+ If this is called when already instantiated in i02-1, it will return the existing object.
91
+ """
92
+ return ZocaloResults()
93
+
94
+
95
+ @device_factory()
96
+ def goniometer() -> SampleMotors:
97
+ """Get the i02-1 goniometer device, instantiate it if it hasn't already been.
98
+ If this is called when already instantiated in i02-1, it will return the existing object.
99
+ """
100
+ return SampleMotors(f"{PREFIX.beamline_prefix}-MO-SAMP-01:")
101
+
102
+
103
+ @device_factory()
104
+ def attenuator() -> EnumFilterAttenuator:
105
+ """Get the i02-1 attenuator device, instantiate it if it hasn't already been.
106
+ If this is called when already instantiated in i02-1, it will return the existing object.
107
+ """
108
+
109
+ return EnumFilterAttenuator(
110
+ f"{PREFIX.beamline_prefix}-OP-ATTN-01:",
111
+ (
112
+ I02_1FilterOneSelections,
113
+ I02_1FilterTwoSelections,
114
+ I02_1FilterThreeSelections,
115
+ I02_1FilterFourSelections,
116
+ ),
117
+ )
@@ -25,7 +25,7 @@ from dodal.devices.cryostream import CryoStream
25
25
  from dodal.devices.detector.detector_motion import DetectorMotion
26
26
  from dodal.devices.diamond_filter import DiamondFilter, I03Filters
27
27
  from dodal.devices.eiger import EigerDetector
28
- from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScan
28
+ from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScanThreeD
29
29
  from dodal.devices.fluorescence_detector_motion import FluorescenceDetector
30
30
  from dodal.devices.flux import Flux
31
31
  from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
@@ -191,11 +191,13 @@ def fastcs_eiger() -> FastEiger:
191
191
 
192
192
 
193
193
  @device_factory()
194
- def zebra_fast_grid_scan() -> ZebraFastGridScan:
194
+ def zebra_fast_grid_scan() -> ZebraFastGridScanThreeD:
195
195
  """Get the i03 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
196
196
  If this is called when already instantiated in i03, it will return the existing object.
197
197
  """
198
- return ZebraFastGridScan(prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:")
198
+ return ZebraFastGridScanThreeD(
199
+ prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
200
+ )
199
201
 
200
202
 
201
203
  @device_factory()
@@ -17,7 +17,7 @@ from dodal.devices.detector import DetectorParams
17
17
  from dodal.devices.detector.detector_motion import DetectorMotion
18
18
  from dodal.devices.diamond_filter import DiamondFilter, I04Filters
19
19
  from dodal.devices.eiger import EigerDetector
20
- from dodal.devices.fast_grid_scan import ZebraFastGridScan
20
+ from dodal.devices.fast_grid_scan import ZebraFastGridScanThreeD
21
21
  from dodal.devices.flux import Flux
22
22
  from dodal.devices.i03.dcm import DCM
23
23
  from dodal.devices.i04.constants import RedisConstants
@@ -210,11 +210,13 @@ def eiger(mock: bool = False, params: DetectorParams | None = None) -> EigerDete
210
210
 
211
211
 
212
212
  @device_factory()
213
- def zebra_fast_grid_scan() -> ZebraFastGridScan:
213
+ def zebra_fast_grid_scan() -> ZebraFastGridScanThreeD:
214
214
  """Get the i04 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
215
215
  If this is called when already instantiated in i04, it will return the existing object.
216
216
  """
217
- return ZebraFastGridScan(f"{PREFIX.beamline_prefix}-MO-SGON-01:")
217
+ return ZebraFastGridScanThreeD(
218
+ prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
219
+ )
218
220
 
219
221
 
220
222
  @device_factory()
@@ -2,8 +2,8 @@ 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.electron_analyser import SelectedSource
6
- from dodal.devices.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
5
+ from dodal.devices.electron_analyser import DualEnergySource
6
+ from dodal.devices.electron_analyser.vgscienta import VGScientaDetector
7
7
  from dodal.devices.i09 import DCM, Grating, LensMode, PassEnergy, PsuMode
8
8
  from dodal.devices.pgm import PGM
9
9
  from dodal.devices.synchrotron import Synchrotron
@@ -34,18 +34,19 @@ def dcm() -> DCM:
34
34
  return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
35
35
 
36
36
 
37
+ @device_factory()
38
+ def energy_source() -> DualEnergySource:
39
+ return DualEnergySource(dcm().energy_in_ev, pgm().energy.user_readback)
40
+
41
+
37
42
  # Connect will work again after this work completed
38
43
  # https://jira.diamond.ac.uk/browse/I09-651
39
44
  @device_factory()
40
- def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy]:
41
- energy_sources = {
42
- SelectedSource.SOURCE1: pgm().energy.user_readback,
43
- SelectedSource.SOURCE2: dcm().energy_in_ev,
44
- }
45
- return VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy](
45
+ def ew4000() -> VGScientaDetector[LensMode, PsuMode, PassEnergy]:
46
+ return VGScientaDetector[LensMode, PsuMode, PassEnergy](
46
47
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
47
48
  lens_mode_type=LensMode,
48
49
  psu_mode_type=PsuMode,
49
50
  pass_energy_type=PassEnergy,
50
- energy_sources=energy_sources,
51
+ energy_source=energy_source(),
51
52
  )
@@ -2,8 +2,8 @@ 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.electron_analyser import SelectedSource
6
- from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
5
+ from dodal.devices.electron_analyser import EnergySource
6
+ from dodal.devices.electron_analyser.specs import SpecsDetector
7
7
  from dodal.devices.i09.dcm import DCM
8
8
  from dodal.devices.i09_1 import LensMode, PsuMode
9
9
  from dodal.devices.synchrotron import Synchrotron
@@ -26,13 +26,18 @@ def dcm() -> DCM:
26
26
  return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
27
27
 
28
28
 
29
+ @device_factory()
30
+ def energy_source() -> EnergySource:
31
+ return EnergySource(dcm().energy_in_ev)
32
+
33
+
29
34
  # Connect will work again after this work completed
30
35
  # https://jira.diamond.ac.uk/browse/I09-651
31
36
  @device_factory()
32
- def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
33
- return SpecsAnalyserDriverIO[LensMode, PsuMode](
37
+ def analyser() -> SpecsDetector[LensMode, PsuMode]:
38
+ return SpecsDetector[LensMode, PsuMode](
34
39
  prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
35
40
  lens_mode_type=LensMode,
36
41
  psu_mode_type=PsuMode,
37
- energy_sources={SelectedSource.SOURCE1: dcm().energy_in_ev},
42
+ energy_source=energy_source(),
38
43
  )
@@ -0,0 +1,25 @@
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.devices.temperture_controller import Lakeshore336
7
+ from dodal.log import set_beamline as set_log_beamline
8
+ from dodal.utils import BeamlinePrefix, get_beamline_name
9
+
10
+ BL = get_beamline_name("i10-1")
11
+ PREFIX = BeamlinePrefix(BL, suffix="J")
12
+ set_log_beamline(BL)
13
+ set_utils_beamline(BL)
14
+
15
+
16
+ @device_factory()
17
+ def synchrotron() -> Synchrotron:
18
+ return Synchrotron()
19
+
20
+
21
+ @device_factory()
22
+ def em_temperature_controller() -> Lakeshore336:
23
+ return Lakeshore336(
24
+ prefix=f"{PREFIX.beamline_prefix}-EA-TCTRL-41:",
25
+ )
@@ -6,6 +6,8 @@ note:
6
6
  idd == id1, idu == id2.
7
7
  """
8
8
 
9
+ from daq_config_server.client import ConfigServer
10
+
9
11
  from dodal.common.beamlines.beamline_utils import device_factory
10
12
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
11
13
  from dodal.devices.current_amplifiers import CurrentAmpDet
@@ -25,6 +27,9 @@ from dodal.devices.i10.rasor.rasor_scaler_cards import RasorScalerCard1
25
27
  from dodal.devices.i10.slits import I10Slits, I10SlitsDrainCurrent
26
28
  from dodal.devices.motors import XYStage, XYZStage
27
29
  from dodal.devices.pgm import PGM
30
+ from dodal.devices.temperture_controller import (
31
+ Lakeshore340,
32
+ )
28
33
  from dodal.log import set_beamline as set_log_beamline
29
34
  from dodal.utils import BeamlinePrefix, get_beamline_name
30
35
 
@@ -33,8 +38,10 @@ set_log_beamline(BL)
33
38
  set_utils_beamline(BL)
34
39
  PREFIX = BeamlinePrefix(BL)
35
40
 
41
+ I10_CONF_CLIENT = ConfigServer(url="https://daq-config.diamond.ac.uk")
36
42
 
37
- LOOK_UPTABLE_DIR = "/dls_sw/i10/software/blueapi/scratch/i10-config/lookupTables/"
43
+
44
+ LOOK_UPTABLE_DIR = "/dls_sw/i10/software/gda/workspace_git/gda-diamond.git/configurations/i10-shared/lookupTables/"
38
45
 
39
46
 
40
47
  @device_factory()
@@ -60,6 +67,7 @@ def idd() -> I10Id:
60
67
  pgm=pgm(),
61
68
  look_up_table_dir=LOOK_UPTABLE_DIR,
62
69
  source=("Source", "idd"),
70
+ config_client=I10_CONF_CLIENT,
63
71
  )
64
72
 
65
73
 
@@ -76,6 +84,7 @@ def idu() -> I10Id:
76
84
  pgm=pgm(),
77
85
  look_up_table_dir=LOOK_UPTABLE_DIR,
78
86
  source=("Source", "idu"),
87
+ config_client=I10_CONF_CLIENT,
79
88
  )
80
89
 
81
90
 
@@ -153,6 +162,13 @@ def sample_stage() -> XYZStage:
153
162
  return XYZStage(prefix="ME01D-MO-CRYO-01:")
154
163
 
155
164
 
165
+ @device_factory()
166
+ def rasor_temperature_controller() -> Lakeshore340:
167
+ return Lakeshore340(
168
+ prefix="ME01D-EA-TCTRL-01:",
169
+ )
170
+
171
+
156
172
  @device_factory()
157
173
  def rasor_femto() -> RasorFemto:
158
174
  return RasorFemto(