dls-dodal 1.62.0__tar.gz → 1.63.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 (631) hide show
  1. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_test.yml +0 -1
  2. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/PKG-INFO +1 -1
  3. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/conftest.py +6 -6
  4. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/write-tests.md +6 -6
  5. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/reference/device-standards.md +1 -1
  6. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/pyproject.toml +10 -5
  7. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dls_dodal.egg-info/PKG-INFO +1 -1
  8. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dls_dodal.egg-info/SOURCES.txt +17 -14
  9. dls_dodal-1.63.0/src/dls_dodal.egg-info/entry_points.txt +3 -0
  10. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/_version.py +3 -3
  11. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/__init__.py +1 -0
  12. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/adsim.py +5 -3
  13. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b21.py +3 -1
  14. dls_dodal-1.63.0/src/dodal/beamlines/i02_2.py +32 -0
  15. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i03.py +9 -0
  16. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i09.py +10 -3
  17. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i09_1.py +9 -3
  18. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i10.py +7 -69
  19. dls_dodal-1.63.0/src/dodal/beamlines/i10_1.py +35 -0
  20. dls_dodal-1.63.0/src/dodal/beamlines/i10_optics.py +205 -0
  21. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i15_1.py +5 -5
  22. dls_dodal-1.63.0/src/dodal/beamlines/i17.py +86 -0
  23. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i18.py +15 -9
  24. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i19_1.py +3 -3
  25. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i19_2.py +2 -2
  26. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i19_optics.py +4 -1
  27. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i24.py +3 -3
  28. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/cli.py +4 -4
  29. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/visit.py +4 -4
  30. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/aperturescatterguard.py +6 -4
  31. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/apple2_undulator.py +211 -114
  32. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/attenuator/filter_selections.py +6 -6
  33. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/common_dcm.py +62 -15
  34. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/femto.py +4 -4
  35. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/sr570.py +3 -3
  36. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/fast_grid_scan.py +4 -4
  37. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/fast_shutter.py +19 -7
  38. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i03/dcm.py +4 -2
  39. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i04/murko_results.py +35 -14
  40. dls_dodal-1.63.0/src/dodal/devices/i09/__init__.py +3 -0
  41. dls_dodal-1.63.0/src/dodal/devices/i10/__init__.py +29 -0
  42. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/diagnostics.py +37 -5
  43. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/i10_apple2.py +125 -229
  44. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/slits.py +38 -6
  45. dls_dodal-1.63.0/src/dodal/devices/i15/dcm.py +39 -0
  46. dls_dodal-1.63.0/src/dodal/devices/i17/i17_apple2.py +51 -0
  47. {dls_dodal-1.62.0/src/dodal/devices/i19 → dls_dodal-1.63.0/src/dodal/devices/i19/access_controlled}/shutter.py +7 -4
  48. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i22/dcm.py +2 -2
  49. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/dcm.py +2 -2
  50. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/oav_detector.py +1 -1
  51. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/oav_parameters.py +4 -4
  52. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +4 -4
  53. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +3 -3
  54. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +1 -1
  55. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/snapshots/snapshot.py +1 -1
  56. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +12 -12
  57. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +1 -1
  58. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/utils.py +2 -2
  59. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/pgm.py +3 -3
  60. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/robot.py +5 -5
  61. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/tetramm.py +9 -5
  62. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/thawer.py +0 -4
  63. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/v2f.py +2 -2
  64. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +2 -2
  65. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zocalo/__init__.py +4 -4
  66. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zocalo/zocalo_results.py +4 -4
  67. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/log.py +9 -9
  68. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plan_stubs/motor_utils.py +4 -4
  69. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +2 -2
  70. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/save_panda.py +7 -7
  71. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/verify_undulator_gap.py +2 -2
  72. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/system_tests/test_adsim.py +9 -9
  73. dls_dodal-1.63.0/system_tests/test_cli.py +31 -0
  74. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/system_tests/test_oav_system.py +2 -2
  75. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/system_tests/test_oav_to_redis_system.py +5 -5
  76. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/beamlines/test_beamline_parameters.py +1 -1
  77. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/beamlines/test_commissioning_mode.py +4 -4
  78. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_visit.py +2 -2
  79. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_watcher_utils.py +1 -1
  80. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/conftest.py +6 -6
  81. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/b07_1/test_ccmc.py +4 -4
  82. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/current_amplifier/test_femto.py +19 -14
  83. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/current_amplifier/test_sr570.py +25 -20
  84. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/abstract/test_base_detector.py +2 -3
  85. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +8 -9
  86. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/conftest.py +15 -7
  87. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/specs/test_detector.py +0 -2
  88. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/specs/test_driver_io.py +13 -13
  89. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_detector.py +2 -3
  90. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/vgscienta/test_detector.py +0 -2
  91. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +12 -13
  92. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i04/test_murko_results.py +90 -56
  93. dls_dodal-1.62.0/tests/devices/i10/test_i10Apple2.py → dls_dodal-1.63.0/tests/devices/i10/test_i10_apple2.py +269 -161
  94. dls_dodal-1.63.0/tests/devices/i17/test_i17_apple2.py +51 -0
  95. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i18/test_kb_mirror.py +1 -1
  96. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_shutter.py +36 -16
  97. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i22/test_dcm.py +3 -2
  98. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i22/test_fswitch.py +2 -2
  99. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i24/test_dual_backlight.py +10 -10
  100. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i24/test_focus_mirrors.py +2 -2
  101. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i24/test_pmac.py +14 -14
  102. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i24/test_vgonio.py +2 -2
  103. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/mx_phase1/test_beamstop.py +11 -7
  104. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +8 -6
  105. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_oav.py +7 -7
  106. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +4 -4
  107. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_oav_utils.py +9 -9
  108. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_snapshots.py +8 -7
  109. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/p60/test_lab_xray_source.py +6 -6
  110. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/p99/test_p99_stage.py +9 -9
  111. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +9 -11
  112. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +1 -1
  113. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_aperture.py +3 -4
  114. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_aperture_scatterguard.py +9 -9
  115. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_apple2_undulator.py +79 -75
  116. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_attenuator.py +5 -5
  117. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_backlight.py +8 -8
  118. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_bart_robot.py +7 -7
  119. dls_dodal-1.63.0/tests/devices/test_common_dcm.py +46 -0
  120. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_eiger.py +11 -11
  121. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_fast_shutters.py +12 -8
  122. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_focusing_mirror.py +16 -16
  123. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_gridscan.py +12 -12
  124. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_hutch_shutter.py +4 -4
  125. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_odin.py +9 -9
  126. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_smargon.py +7 -7
  127. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_synchrotron.py +2 -2
  128. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_tetramm.py +11 -4
  129. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_thawer.py +3 -3
  130. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_utils.py +8 -8
  131. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_webcam.py +2 -5
  132. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_xbpm_feedback.py +9 -9
  133. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_xspress3.py +7 -7
  134. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_zebra_constants_mapping.py +2 -2
  135. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_zocalo_results.py +26 -24
  136. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_adjuster_plans.py +4 -4
  137. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_data_session.py +4 -4
  138. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_motor_util_plans.py +32 -26
  139. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_topup_plan.py +19 -10
  140. dls_dodal-1.63.0/tests/plans/__init__.py +0 -0
  141. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/conftest.py +2 -2
  142. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_bimorph.py +23 -23
  143. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +2 -2
  144. dls_dodal-1.63.0/tests/plans/test_preprocessors/__init__.py +0 -0
  145. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +6 -6
  146. {dls_dodal-1.62.0/tests/devices/util → dls_dodal-1.63.0/tests/plans}/test_save_panda.py +0 -2
  147. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_scanspec.py +2 -2
  148. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_verify_undulator_gap_plan.py +4 -2
  149. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_wrapped.py +8 -8
  150. dls_dodal-1.63.0/tests/preprocessors/__init__.py +0 -0
  151. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/preprocessors/test_filesystem_metadata.py +24 -24
  152. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_log.py +28 -28
  153. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_utils.py +1 -1
  154. dls_dodal-1.62.0/src/dls_dodal.egg-info/entry_points.txt +0 -3
  155. dls_dodal-1.62.0/src/dodal/beamlines/i10-1.py +0 -25
  156. dls_dodal-1.62.0/src/dodal/beamlines/i17.py +0 -37
  157. dls_dodal-1.62.0/src/dodal/devices/i09/__init__.py +0 -4
  158. dls_dodal-1.62.0/src/dodal/devices/i09/dcm.py +0 -26
  159. dls_dodal-1.62.0/src/dodal/devices/i15/dcm.py +0 -78
  160. dls_dodal-1.62.0/system_tests/test_cli.py +0 -12
  161. dls_dodal-1.62.0/tests/devices/i09/test_dcm.py +0 -52
  162. dls_dodal-1.62.0/tests/devices/i15/test_dcm.py +0 -17
  163. dls_dodal-1.62.0/tests/devices/test.png +0 -0
  164. dls_dodal-1.62.0/tests/devices/test_common_dcm.py +0 -8
  165. dls_dodal-1.62.0/tests/devices/test_status.py +0 -14
  166. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.copier-answers.yml +0 -0
  167. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.devcontainer/devcontainer.json +0 -0
  168. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/CODEOWNERS +0 -0
  169. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/CONTRIBUTING.md +0 -0
  170. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  171. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/actions/install_requirements/action.yml +0 -0
  172. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/dependabot.yml +0 -0
  173. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/pages/index.html +0 -0
  174. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/pages/make_switcher.py +0 -0
  175. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/scripts/check_test_durations.py +0 -0
  176. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_dist.yml +0 -0
  177. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_docs.yml +0 -0
  178. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_pypi.yml +0 -0
  179. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_release.yml +0 -0
  180. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/_tox.yml +0 -0
  181. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/ci.yml +0 -0
  182. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.github/workflows/periodic.yml +0 -0
  183. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.gitignore +0 -0
  184. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.pre-commit-config.yaml +0 -0
  185. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.vscode/extensions.json +0 -0
  186. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.vscode/launch.json +0 -0
  187. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.vscode/settings.json +0 -0
  188. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/.vscode/tasks.json +0 -0
  189. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/Dockerfile +0 -0
  190. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/LICENSE +0 -0
  191. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/README.md +0 -0
  192. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/catalog-info.yaml +0 -0
  193. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/_templates/autosummary/class.rst +0 -0
  194. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/_templates/autosummary/module.rst +0 -0
  195. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/_templates/custom-module-template.rst +0 -0
  196. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
  197. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/assets/zocalo.png +0 -0
  198. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/conf.py +0 -0
  199. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  200. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  201. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  202. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  203. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  204. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  205. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions/COPYME +0 -0
  206. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/decisions.md +0 -0
  207. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/reviews.md +0 -0
  208. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/umls/apple2_design.png +0 -0
  209. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations/umls/i10_id_design.png +0 -0
  210. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/explanations.md +0 -0
  211. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/genindex.md +0 -0
  212. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/build-docs.md +0 -0
  213. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/contribute.md +0 -0
  214. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/coverage.md +0 -0
  215. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/create-beamline.md +0 -0
  216. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/create-device.md +0 -0
  217. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/dev-install.md +0 -0
  218. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/excalidraw.md +0 -0
  219. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/external-io-devices.md +0 -0
  220. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/lint.md +0 -0
  221. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/lock-requirements.md +0 -0
  222. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/make-release.md +0 -0
  223. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/move-code.md +0 -0
  224. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/pypi.md +0 -0
  225. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/run-tests.md +0 -0
  226. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/static-analysis.md +0 -0
  227. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/update-template.md +0 -0
  228. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to/zocalo.md +0 -0
  229. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/how-to.md +0 -0
  230. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/images/dls-logo.svg +0 -0
  231. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/images/excalidraw-example.svg +0 -0
  232. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/index.md +0 -0
  233. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/reference/api.md +0 -0
  234. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/reference/standards.md +0 -0
  235. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/reference.md +0 -0
  236. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/tutorials/get_started.md +0 -0
  237. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/tutorials/installation.md +0 -0
  238. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/docs/tutorials.md +0 -0
  239. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/pull_request_template.md +0 -0
  240. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/setup.cfg +0 -0
  241. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/__init__.py +0 -0
  242. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  243. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dls_dodal.egg-info/requires.txt +0 -0
  244. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  245. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/__init__.py +0 -0
  246. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/__main__.py +0 -0
  247. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  248. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
  249. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamline_specific_utils/i05_shared.py +0 -0
  250. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/README.md +0 -0
  251. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/aithre.py +0 -0
  252. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b01_1.py +0 -0
  253. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b07.py +0 -0
  254. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b07_1.py +0 -0
  255. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b16.py +0 -0
  256. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/b18.py +0 -0
  257. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i02_1.py +0 -0
  258. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i04.py +0 -0
  259. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i05.py +0 -0
  260. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i05_1.py +0 -0
  261. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i09_2.py +0 -0
  262. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i11.py +0 -0
  263. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i13_1.py +0 -0
  264. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i15.py +0 -0
  265. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i20_1.py +0 -0
  266. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i21.py +0 -0
  267. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i22.py +0 -0
  268. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/i23.py +0 -0
  269. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/k07.py +0 -0
  270. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/k11.py +0 -0
  271. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/p38.py +0 -0
  272. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/p45.py +0 -0
  273. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/p60.py +0 -0
  274. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/p99.py +0 -0
  275. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/beamlines/training_rig.py +0 -0
  276. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/__init__.py +0 -0
  277. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/beamlines/__init__.py +0 -0
  278. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
  279. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  280. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
  281. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  282. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/coordination.py +0 -0
  283. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/crystal_metadata.py +0 -0
  284. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/data_util.py +0 -0
  285. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/device_utils.py +0 -0
  286. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/enums.py +0 -0
  287. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/maths.py +0 -0
  288. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/types.py +0 -0
  289. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/udc_directory_provider.py +0 -0
  290. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/common/watcher_utils.py +0 -0
  291. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/__init__.py +0 -0
  292. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
  293. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
  294. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  295. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/aperture.py +0 -0
  296. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/areadetector/__init__.py +0 -0
  297. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/areadetector/plugins/__init__.py +0 -0
  298. /dls_dodal-1.62.0/src/dodal/devices/areadetector/plugins/CAM.py → /dls_dodal-1.63.0/src/dodal/devices/areadetector/plugins/cam.py +0 -0
  299. /dls_dodal-1.62.0/src/dodal/devices/areadetector/plugins/MJPG.py → /dls_dodal-1.63.0/src/dodal/devices/areadetector/plugins/mjpg.py +0 -0
  300. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/attenuator/__init__.py +0 -0
  301. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  302. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/attenuator/filter.py +0 -0
  303. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b07/__init__.py +0 -0
  304. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b07/enums.py +0 -0
  305. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b07_1/__init__.py +0 -0
  306. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b07_1/ccmc.py +0 -0
  307. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b07_1/enums.py +0 -0
  308. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b16/__init__.py +0 -0
  309. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/b16/detector.py +0 -0
  310. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/backlight.py +0 -0
  311. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/baton.py +0 -0
  312. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  313. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/collimation_table.py +0 -0
  314. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/controllers.py +0 -0
  315. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/cryostream.py +0 -0
  316. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  317. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  318. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  319. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  320. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/__init__.py +0 -0
  321. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  322. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  323. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/det_resolution.py +0 -0
  324. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/detector.py +0 -0
  325. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  326. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/diamond_filter.py +0 -0
  327. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/eiger.py +0 -0
  328. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/eiger_odin.py +0 -0
  329. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  330. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  331. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  332. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +0 -0
  333. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
  334. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
  335. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  336. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/energy_sources.py +0 -0
  337. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  338. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  339. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/specs/detector.py +0 -0
  340. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +0 -0
  341. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  342. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
  343. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/types.py +0 -0
  344. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  345. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  346. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -0
  347. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -0
  348. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  349. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
  350. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/eurotherm.py +0 -0
  351. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  352. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/flux.py +0 -0
  353. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/focusing_mirror.py +0 -0
  354. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/hutch_shutter.py +0 -0
  355. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i02_1/__init__.py +0 -0
  356. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i02_1/fast_grid_scan.py +0 -0
  357. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i02_1/sample_motors.py +0 -0
  358. {dls_dodal-1.62.0/src/dodal/devices/i10 → dls_dodal-1.63.0/src/dodal/devices/i02_2}/__init__.py +0 -0
  359. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i03/__init__.py +0 -0
  360. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i03/undulator_dcm.py +0 -0
  361. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i04/__init__.py +0 -0
  362. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i04/constants.py +0 -0
  363. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i04/transfocator.py +0 -0
  364. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i05/__init__.py +0 -0
  365. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i05/enums.py +0 -0
  366. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i09/enums.py +0 -0
  367. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i09_1/__init__.py +0 -0
  368. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i09_1/enums.py +0 -0
  369. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  370. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/mirrors.py +0 -0
  371. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/rasor/__init__.py +0 -0
  372. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  373. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  374. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  375. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/__init__.py +0 -0
  376. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
  377. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/diff_stages.py +0 -0
  378. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/mythen.py +0 -0
  379. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/nx100robot.py +0 -0
  380. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i11/spinner.py +0 -0
  381. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i13_1/__init__.py +0 -0
  382. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  383. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
  384. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/__init__.py +0 -0
  385. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/focussing_mirror.py +0 -0
  386. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/jack.py +0 -0
  387. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/laue.py +0 -0
  388. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/motors.py +0 -0
  389. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/multilayer_mirror.py +0 -0
  390. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i15/rail.py +0 -0
  391. {dls_dodal-1.62.0/src/dodal/devices/i18 → dls_dodal-1.63.0/src/dodal/devices/i17}/__init__.py +0 -0
  392. {dls_dodal-1.62.0/src/dodal/devices/i19 → dls_dodal-1.63.0/src/dodal/devices/i18}/__init__.py +0 -0
  393. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i18/diode.py +0 -0
  394. /dls_dodal-1.62.0/src/dodal/devices/i18/KBMirror.py → /dls_dodal-1.63.0/src/dodal/devices/i18/kb_mirror.py +0 -0
  395. {dls_dodal-1.62.0/src/dodal/devices/i20_1 → dls_dodal-1.63.0/src/dodal/devices/i19}/__init__.py +0 -0
  396. {dls_dodal-1.62.0/src/dodal/devices/i22 → dls_dodal-1.63.0/src/dodal/devices/i19/access_controlled}/__init__.py +0 -0
  397. {dls_dodal-1.62.0/src/dodal/devices/i19 → dls_dodal-1.63.0/src/dodal/devices/i19/access_controlled}/blueapi_device.py +0 -0
  398. {dls_dodal-1.62.0/src/dodal/devices/i19 → dls_dodal-1.63.0/src/dodal/devices/i19/access_controlled}/hutch_access.py +0 -0
  399. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i19/backlight.py +0 -0
  400. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i19/beamstop.py +0 -0
  401. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i19/diffractometer.py +0 -0
  402. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i19/mapt_configuration.py +0 -0
  403. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i19/pin_col_stages.py +0 -0
  404. {dls_dodal-1.62.0/src/dodal/devices/i24 → dls_dodal-1.63.0/src/dodal/devices/i20_1}/__init__.py +0 -0
  405. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i21/__init__.py +0 -0
  406. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i21/enums.py +0 -0
  407. {dls_dodal-1.62.0/src/dodal/devices/mx_phase1 → dls_dodal-1.63.0/src/dodal/devices/i22}/__init__.py +0 -0
  408. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i22/fswitch.py +0 -0
  409. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i22/nxsas.py +0 -0
  410. {dls_dodal-1.62.0/src/dodal/devices/oav → dls_dodal-1.63.0/src/dodal/devices/i24}/__init__.py +0 -0
  411. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/aperture.py +0 -0
  412. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/beam_center.py +0 -0
  413. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/beamstop.py +0 -0
  414. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/commissioning_jungfrau.py +0 -0
  415. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  416. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  417. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/pmac.py +0 -0
  418. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/i24/vgonio.py +0 -0
  419. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/ipin.py +0 -0
  420. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/linkam3.py +0 -0
  421. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/motors.py +0 -0
  422. {dls_dodal-1.62.0/src/dodal/devices/oav/snapshots → dls_dodal-1.63.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
  423. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
  424. {dls_dodal-1.62.0/src/dodal/devices/p99 → dls_dodal-1.63.0/src/dodal/devices/oav}/__init__.py +0 -0
  425. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
  426. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  427. {dls_dodal-1.62.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-1.63.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
  428. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  429. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p45.py +0 -0
  430. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p60/__init__.py +0 -0
  431. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p60/enums.py +0 -0
  432. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  433. {dls_dodal-1.62.0/src/dodal/devices/util → dls_dodal-1.63.0/src/dodal/devices/p99}/__init__.py +0 -0
  434. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  435. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  436. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/positioner.py +0 -0
  437. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  438. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/qbpm.py +0 -0
  439. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  440. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/scintillator.py +0 -0
  441. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/slits.py +0 -0
  442. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/smargon.py +0 -0
  443. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/status.py +0 -0
  444. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/synchrotron.py +0 -0
  445. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
  446. {dls_dodal-1.62.0/src/dodal/devices/xspress3 → dls_dodal-1.63.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  447. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -0
  448. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -0
  449. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/turbo_slit.py +0 -0
  450. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/undulator.py +0 -0
  451. {dls_dodal-1.62.0/src/dodal/devices/zebra → dls_dodal-1.63.0/src/dodal/devices/util}/__init__.py +0 -0
  452. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  453. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/util/epics_util.py +0 -0
  454. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  455. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  456. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/webcam.py +0 -0
  457. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  458. {dls_dodal-1.62.0/src/dodal/parameters → dls_dodal-1.63.0/src/dodal/devices/xspress3}/__init__.py +0 -0
  459. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  460. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  461. {dls_dodal-1.62.0/src/dodal/plan_stubs → dls_dodal-1.63.0/src/dodal/devices/zebra}/__init__.py +0 -0
  462. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zebra/zebra.py +0 -0
  463. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  464. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  465. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  466. {dls_dodal-1.62.0/src/dodal/plans/preprocessors → dls_dodal-1.63.0/src/dodal/parameters}/__init__.py +0 -0
  467. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  468. {dls_dodal-1.62.0/system_tests → dls_dodal-1.63.0/src/dodal/plan_stubs}/__init__.py +0 -0
  469. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  470. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plan_stubs/data_session.py +0 -0
  471. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  472. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/__init__.py +0 -0
  473. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/bimorph.py +0 -0
  474. {dls_dodal-1.62.0/tests → dls_dodal-1.63.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
  475. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  476. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/scanspec.py +0 -0
  477. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/plans/wrapped.py +0 -0
  478. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/testing/__init__.py +0 -0
  479. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  480. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
  481. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/testing/setup.py +0 -0
  482. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/src/dodal/utils.py +0 -0
  483. {dls_dodal-1.62.0/tests/beamlines → dls_dodal-1.63.0/system_tests}/__init__.py +0 -0
  484. {dls_dodal-1.62.0/tests/common → dls_dodal-1.63.0/tests}/__init__.py +0 -0
  485. {dls_dodal-1.62.0/tests/common → dls_dodal-1.63.0/tests}/beamlines/__init__.py +0 -0
  486. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/beamlines/test_b16.py +0 -0
  487. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/beamlines/test_i03.py +0 -0
  488. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/beamlines/test_i24.py +0 -0
  489. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/beamlines/test_mapping.py +0 -0
  490. {dls_dodal-1.62.0/tests/devices → dls_dodal-1.63.0/tests/common}/__init__.py +0 -0
  491. {dls_dodal-1.62.0/tests/devices/aithre_lasershaping → dls_dodal-1.63.0/tests/common/beamlines}/__init__.py +0 -0
  492. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  493. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
  494. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_coordination.py +0 -0
  495. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_crystal_metadata.py +0 -0
  496. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_maths.py +0 -0
  497. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/common/test_udc_directory_provider.py +0 -0
  498. {dls_dodal-1.62.0/tests/devices/b07_1 → dls_dodal-1.63.0/tests/devices}/__init__.py +0 -0
  499. {dls_dodal-1.62.0/tests/devices/current_amplifier → dls_dodal-1.63.0/tests/devices/aithre_lasershaping}/__init__.py +0 -0
  500. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
  501. {dls_dodal-1.62.0/tests/devices/detector → dls_dodal-1.63.0/tests/devices/b07_1}/__init__.py +0 -0
  502. {dls_dodal-1.62.0/tests/devices/electron_analyser → dls_dodal-1.63.0/tests/devices/current_amplifier}/__init__.py +0 -0
  503. {dls_dodal-1.62.0/tests/devices/electron_analyser/abstract → dls_dodal-1.63.0/tests/devices/detector}/__init__.py +0 -0
  504. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/detector/test_data/__init__.py +0 -0
  505. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  506. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
  507. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/detector/test_det_resolution.py +0 -0
  508. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/detector/test_detector.py +0 -0
  509. {dls_dodal-1.62.0/tests/devices/electron_analyser/specs → dls_dodal-1.63.0/tests/devices/electron_analyser}/__init__.py +0 -0
  510. {dls_dodal-1.62.0/tests/devices/electron_analyser/vgscienta → dls_dodal-1.63.0/tests/devices/electron_analyser/abstract}/__init__.py +0 -0
  511. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
  512. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  513. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  514. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  515. {dls_dodal-1.62.0/tests/devices/i02_1 → dls_dodal-1.63.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
  516. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/specs/test_region.py +0 -0
  517. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  518. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  519. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  520. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_energy_sources.py +0 -0
  521. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/test_util.py +0 -0
  522. {dls_dodal-1.62.0/tests/devices/i03 → dls_dodal-1.63.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
  523. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
  524. {dls_dodal-1.62.0/tests/devices/i04 → dls_dodal-1.63.0/tests/devices/i02_1}/__init__.py +0 -0
  525. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i02_1/test_fast_grid_scan.py +0 -0
  526. {dls_dodal-1.62.0/tests/devices/i09 → dls_dodal-1.63.0/tests/devices/i03}/__init__.py +0 -0
  527. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i03/test_dcm.py +0 -0
  528. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i03/test_undulator_dcm.py +0 -0
  529. {dls_dodal-1.62.0/tests/devices/i10 → dls_dodal-1.63.0/tests/devices/i04}/__init__.py +0 -0
  530. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i04/test_transfocator.py +0 -0
  531. {dls_dodal-1.62.0/tests/devices/i11 → dls_dodal-1.63.0/tests/devices/i09}/__init__.py +0 -0
  532. {dls_dodal-1.62.0/tests/devices/i13_1 → dls_dodal-1.63.0/tests/devices/i10}/__init__.py +0 -0
  533. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  534. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  535. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/__init__.py +0 -0
  536. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  537. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  538. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  539. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  540. {dls_dodal-1.62.0/tests/devices/i15 → dls_dodal-1.63.0/tests/devices/i11}/__init__.py +0 -0
  541. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i11/test_i11devices.py +0 -0
  542. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i11/test_mythen.py +0 -0
  543. {dls_dodal-1.62.0/tests/devices/i18 → dls_dodal-1.63.0/tests/devices/i13_1}/__init__.py +0 -0
  544. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i13_1/test_merlin.py +0 -0
  545. {dls_dodal-1.62.0/tests/devices/i19 → dls_dodal-1.63.0/tests/devices/i15}/__init__.py +0 -0
  546. {dls_dodal-1.62.0/tests/devices/i22 → dls_dodal-1.63.0/tests/devices/i17}/__init__.py +0 -0
  547. {dls_dodal-1.62.0/tests/devices/i24 → dls_dodal-1.63.0/tests/devices/i18}/__init__.py +0 -0
  548. {dls_dodal-1.62.0/tests/devices/mx_phase1 → dls_dodal-1.63.0/tests/devices/i19}/__init__.py +0 -0
  549. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_backlight.py +0 -0
  550. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_beamstop.py +0 -0
  551. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_diffractometer.py +0 -0
  552. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_mapt.py +0 -0
  553. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i19/test_pin_col.py +0 -0
  554. {dls_dodal-1.62.0/tests/devices/oav → dls_dodal-1.63.0/tests/devices/i22}/__init__.py +0 -0
  555. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i22/test_metadataholder.py +0 -0
  556. {dls_dodal-1.62.0/tests/devices/oav/image_recognition → dls_dodal-1.63.0/tests/devices/i24}/__init__.py +0 -0
  557. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/i24/test_commissioning_jungfrau.py +0 -0
  558. {dls_dodal-1.62.0/tests/devices/p60 → dls_dodal-1.63.0/tests/devices/mx_phase1}/__init__.py +0 -0
  559. {dls_dodal-1.62.0/tests/devices/p99 → dls_dodal-1.63.0/tests/devices/oav}/__init__.py +0 -0
  560. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/conftest.py +0 -0
  561. {dls_dodal-1.62.0/tests/devices/temperature_controller → dls_dodal-1.63.0/tests/devices/oav/image_recognition}/__init__.py +0 -0
  562. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
  563. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_data/__init__.py +0 -0
  564. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  565. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  566. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  567. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_grid_overlay.py +0 -0
  568. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_oav_parameters.py +0 -0
  569. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  570. {dls_dodal-1.62.0/tests/devices/temperature_controller/lakeshore → dls_dodal-1.63.0/tests/devices/p60}/__init__.py +0 -0
  571. {dls_dodal-1.62.0/tests/devices/util → dls_dodal-1.63.0/tests/devices/p99}/__init__.py +0 -0
  572. {dls_dodal-1.62.0/tests/fake_zocalo → dls_dodal-1.63.0/tests/devices/temperature_controller}/__init__.py +0 -0
  573. {dls_dodal-1.62.0/tests/plan_stubs → dls_dodal-1.63.0/tests/devices/temperature_controller/lakeshore}/__init__.py +0 -0
  574. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_baton.py +0 -0
  575. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_beam_converter.py +0 -0
  576. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_bimorph_mirror.py +0 -0
  577. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_controllers.py +0 -0
  578. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
  579. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  580. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  581. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  582. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  583. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  584. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_data/__init__.py +0 -0
  585. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  586. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
  587. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_diamond_filter.py +0 -0
  588. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_motors.py +0 -0
  589. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_positioner.py +0 -0
  590. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_pressure_jump_cell.py +0 -0
  591. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_qbpm.py +0 -0
  592. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_scintillator.py +0 -0
  593. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_slits.py +0 -0
  594. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_turbo_slit.py +0 -0
  595. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_undulator.py +0 -0
  596. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_watsonmarlow323_pump.py +0 -0
  597. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_zebra.py +0 -0
  598. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_zebra_shutter.py +0 -0
  599. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/test_zocalo_interaction.py +0 -0
  600. {dls_dodal-1.62.0/tests/plans → dls_dodal-1.63.0/tests/devices/util}/__init__.py +0 -0
  601. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_beamline_specific_utils.py +0 -0
  602. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_data/__init__.py +0 -0
  603. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  604. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  605. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  606. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/devices/util/test_lookup_tables.py +0 -0
  607. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline.py +0 -0
  608. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  609. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_broken_dependency.py +0 -0
  610. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_dependencies.py +0 -0
  611. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  612. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  613. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_beamline_some_devices_working.py +0 -0
  614. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_device_factory_beamline.py +0 -0
  615. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_zocalo/README.rst +0 -0
  616. {dls_dodal-1.62.0/tests/plans/test_preprocessors → dls_dodal-1.63.0/tests/fake_zocalo}/__init__.py +0 -0
  617. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_zocalo/__main__.py +0 -0
  618. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  619. {dls_dodal-1.62.0/tests/preprocessors → dls_dodal-1.63.0/tests/plan_stubs}/__init__.py +0 -0
  620. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_data/__init__.py +0 -0
  621. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  622. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  623. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  624. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/plans/test_compliance.py +0 -0
  625. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_cli.py +0 -0
  626. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/__init__.py +0 -0
  627. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/bad_beamlineParameters +0 -0
  628. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/i04_beamlineParameters +0 -0
  629. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  630. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/test_display.configuration +0 -0
  631. {dls_dodal-1.62.0 → dls_dodal-1.63.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
@@ -62,7 +62,6 @@ jobs:
62
62
  with:
63
63
  repository: epics-containers/example-services
64
64
  path: example-services
65
- ref: '2025.8.1'
66
65
 
67
66
  - name: Run docker compose
68
67
  uses: hoverkraft-tech/compose-action@v2.3.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.62.0
3
+ Version: 1.63.0
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
@@ -37,7 +37,7 @@ mock_paths = [
37
37
  ]
38
38
  mock_attributes_table = {
39
39
  "i03": mock_paths,
40
- "i10": mock_paths,
40
+ "i10_optics": mock_paths,
41
41
  "i04": mock_paths,
42
42
  "s04": mock_paths,
43
43
  "i19_1": mock_paths,
@@ -106,7 +106,7 @@ async def static_path_provider(
106
106
 
107
107
 
108
108
  @pytest.fixture
109
- def run_engine_documents(RE: RunEngine) -> Mapping[str, list[dict]]:
109
+ def run_engine_documents(run_engine: RunEngine) -> Mapping[str, list[dict]]:
110
110
  docs: dict[str, list[dict]] = {}
111
111
 
112
112
  def append_and_print(name, doc):
@@ -114,7 +114,7 @@ def run_engine_documents(RE: RunEngine) -> Mapping[str, list[dict]]:
114
114
  docs[name] = []
115
115
  docs[name] += [doc]
116
116
 
117
- RE.subscribe(append_and_print)
117
+ run_engine.subscribe(append_and_print)
118
118
  return docs
119
119
 
120
120
 
@@ -126,16 +126,16 @@ def failed_status(failure: Exception) -> Status:
126
126
 
127
127
  @pytest.fixture(scope="session", autouse=True)
128
128
  async def _ensure_running_bluesky_event_loop():
129
- RE = RunEngine()
129
+ run_engine = RunEngine()
130
130
  # make sure the event loop is thoroughly up and running before we try to create
131
131
  # any ophyd_async devices which might need it
132
132
  timeout = time.monotonic() + 1
133
- while not RE.loop.is_running():
133
+ while not run_engine.loop.is_running():
134
134
  await asyncio.sleep(0)
135
135
  if time.monotonic() > timeout:
136
136
  raise TimeoutError("This really shouldn't happen but just in case...")
137
137
 
138
138
 
139
139
  @pytest.fixture()
140
- async def RE():
140
+ async def run_engine():
141
141
  yield RunEngine()
@@ -77,19 +77,19 @@ from dodal.device.my_device import MyDevice
77
77
 
78
78
  # RunEngine is needed to make sure there is an event loop when creating device.
79
79
  @pytest.fixture
80
- async def sim_my_device(RE: RunEngine) -> MyDevice:
80
+ async def sim_my_device(run_engine: RunEngine) -> MyDevice:
81
81
  async with init_devices(mock=True):
82
82
  sim_my_device = MyDevice("TEST:")
83
83
  return sim_my_device
84
84
 
85
85
 
86
- def test_my_device_stage(sim_my_device: MyDevice, RE: RunEngine) -> None:
87
- RE(bps.stage(sim_my_device, wait=True), wait=True)
86
+ def test_my_device_stage(sim_my_device: MyDevice, run_engine: RunEngine) -> None:
87
+ run_engine(bps.stage(sim_my_device, wait=True), wait=True)
88
88
  get_mock_put(sim_my_device.signal_b).assert_called_once_with(OnOff.ON, wait=True)
89
89
 
90
90
 
91
- def test_my_device_unstage(sim_my_device: MyDevice, RE: RunEngine) -> None:
92
- RE(bps.unstage(sim_my_device, wait=True), wait=True)
91
+ def test_my_device_unstage(sim_my_device: MyDevice, run_engine: RunEngine) -> None:
92
+ run_engine(bps.unstage(sim_my_device, wait=True), wait=True)
93
93
  get_mock_put(sim_my_device.signal_b).assert_called_once_with(OnOff.OFF, wait=True)
94
94
 
95
95
  ```
@@ -97,7 +97,7 @@ def test_my_device_unstage(sim_my_device: MyDevice, RE: RunEngine) -> None:
97
97
  You should test the output of a device when the device has many signals read and you want to ensure the correct ones are read at the correct times, or when the `read` method of it or one of its signals (e.g. a DerivedSignal) requires testing. Functions are defined in `ophyd-async` to aid with this. `assert_reading` allows us to compare the readings generated from a `Readable` device to the expected results.
98
98
 
99
99
  ```Python
100
- async def test_my_device_read(sim_my_device: MyDevice, RE: RunEngine) -> None:
100
+ async def test_my_device_read(sim_my_device: MyDevice, run_engine: RunEngine) -> None:
101
101
  prefix = sim_my_device.name
102
102
  await assert_reading(
103
103
  sim_my_device,
@@ -112,7 +112,7 @@ Whilst it would be possible to do:
112
112
  this has potential negative side effects:
113
113
 
114
114
  * When the plan is simulated it will still set the parameter on the device
115
- * There may be external things attached to the RE that are tracking messages e.g. metrics. A set like this would be
115
+ * There may be external things attached to the RunEngine that are tracking messages e.g. metrics. A set like this would be
116
116
  lost
117
117
 
118
118
  Instead you should make a soft signal:
@@ -23,15 +23,15 @@ dependencies = [
23
23
  "requests",
24
24
  "graypy",
25
25
  "pydantic>=2.0",
26
- "opencv-python-headless", # For pin-tip detection.
26
+ "opencv-python-headless", # For pin-tip detection.
27
27
  "numpy",
28
28
  "aiofiles",
29
29
  "aiohttp",
30
30
  "redis",
31
31
  "scanspec>=0.7.3",
32
- "pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
32
+ "pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
33
33
  "deepdiff",
34
- "daq-config-server>=v1.0.0-rc.2",# For getting Configuration settings.
34
+ "daq-config-server>=v1.0.0-rc.2", # For getting Configuration settings.
35
35
  ]
36
36
 
37
37
  dynamic = ["version"]
@@ -76,7 +76,7 @@ dev = [
76
76
 
77
77
  [project.scripts]
78
78
  dodal = "dodal.__main__:main"
79
- save-panda = "dodal.devices.util.save_panda:main"
79
+ save-panda = "dodal.plans.save_panda:main"
80
80
 
81
81
  [project.urls]
82
82
  GitHub = "https://github.com/DiamondLightSource/dodal"
@@ -182,6 +182,7 @@ lint.select = [
182
182
  "C4", # flake8-comprehensions - https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
183
183
  "E", # pycodestyle errors - https://docs.astral.sh/ruff/rules/#error-e
184
184
  "F", # pyflakes rules - https://docs.astral.sh/ruff/rules/#pyflakes-f
185
+ "N", # pep8-naming - https://docs.astral.sh/ruff/rules/#pep8-naming-n
185
186
  "W", # pycodestyle warnings - https://docs.astral.sh/ruff/rules/#warning-w
186
187
  "I", # isort - https://docs.astral.sh/ruff/rules/#isort-i
187
188
  "UP", # pyupgrade - https://docs.astral.sh/ruff/rules/#pyupgrade-up
@@ -194,7 +195,7 @@ lint.select = [
194
195
  [tool.ruff.lint.per-file-ignores]
195
196
  # By default, private member access is allowed in tests
196
197
  # See https://github.com/DiamondLightSource/python-copier-template/issues/154
197
- # Remove this line to forbid private member access, walrus operators, banned api in asserts in tests
198
+ # Remove this line to forbid private member access, walrus operators, banned api in asserts in tests
198
199
  "tests/**/*" = ["SLF001", "RUF018", "TID251"]
199
200
  "system_tests/**/*" = ["SLF001", "RUF018", "TID251"]
200
201
  ".github/**/*" = ["INP001"]
@@ -203,6 +204,10 @@ lint.select = [
203
204
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
204
205
  "time.sleep".msg = "Use bps.sleep or asyncio.sleep instead. # noqa will disable this rule for that line. See https://github.com/DiamondLightSource/mx-bluesky/issues/925"
205
206
 
207
+ [tool.ruff.lint.flake8-import-conventions.extend-aliases]
208
+ # We often shorten "Annotated" to "A" for brevity
209
+ "typing.Annotated" = "A"
210
+
206
211
  [tool.importlinter]
207
212
  root_package = "dodal"
208
213
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.62.0
3
+ Version: 1.63.0
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
@@ -104,6 +104,7 @@ src/dodal/beamlines/b16.py
104
104
  src/dodal/beamlines/b18.py
105
105
  src/dodal/beamlines/b21.py
106
106
  src/dodal/beamlines/i02_1.py
107
+ src/dodal/beamlines/i02_2.py
107
108
  src/dodal/beamlines/i03.py
108
109
  src/dodal/beamlines/i04.py
109
110
  src/dodal/beamlines/i05.py
@@ -111,8 +112,9 @@ src/dodal/beamlines/i05_1.py
111
112
  src/dodal/beamlines/i09.py
112
113
  src/dodal/beamlines/i09_1.py
113
114
  src/dodal/beamlines/i09_2.py
114
- src/dodal/beamlines/i10-1.py
115
115
  src/dodal/beamlines/i10.py
116
+ src/dodal/beamlines/i10_1.py
117
+ src/dodal/beamlines/i10_optics.py
116
118
  src/dodal/beamlines/i11.py
117
119
  src/dodal/beamlines/i13_1.py
118
120
  src/dodal/beamlines/i15.py
@@ -198,9 +200,9 @@ src/dodal/devices/aithre_lasershaping/__init__.py
198
200
  src/dodal/devices/aithre_lasershaping/goniometer.py
199
201
  src/dodal/devices/aithre_lasershaping/laser_robot.py
200
202
  src/dodal/devices/areadetector/__init__.py
201
- src/dodal/devices/areadetector/plugins/CAM.py
202
- src/dodal/devices/areadetector/plugins/MJPG.py
203
203
  src/dodal/devices/areadetector/plugins/__init__.py
204
+ src/dodal/devices/areadetector/plugins/cam.py
205
+ src/dodal/devices/areadetector/plugins/mjpg.py
204
206
  src/dodal/devices/attenuator/__init__.py
205
207
  src/dodal/devices/attenuator/attenuator.py
206
208
  src/dodal/devices/attenuator/filter.py
@@ -248,6 +250,7 @@ src/dodal/devices/electron_analyser/vgscienta/region.py
248
250
  src/dodal/devices/i02_1/__init__.py
249
251
  src/dodal/devices/i02_1/fast_grid_scan.py
250
252
  src/dodal/devices/i02_1/sample_motors.py
253
+ src/dodal/devices/i02_2/__init__.py
251
254
  src/dodal/devices/i03/__init__.py
252
255
  src/dodal/devices/i03/dcm.py
253
256
  src/dodal/devices/i03/undulator_dcm.py
@@ -258,7 +261,6 @@ src/dodal/devices/i04/transfocator.py
258
261
  src/dodal/devices/i05/__init__.py
259
262
  src/dodal/devices/i05/enums.py
260
263
  src/dodal/devices/i09/__init__.py
261
- src/dodal/devices/i09/dcm.py
262
264
  src/dodal/devices/i09/enums.py
263
265
  src/dodal/devices/i09_1/__init__.py
264
266
  src/dodal/devices/i09_1/enums.py
@@ -289,18 +291,21 @@ src/dodal/devices/i15/laue.py
289
291
  src/dodal/devices/i15/motors.py
290
292
  src/dodal/devices/i15/multilayer_mirror.py
291
293
  src/dodal/devices/i15/rail.py
292
- src/dodal/devices/i18/KBMirror.py
294
+ src/dodal/devices/i17/__init__.py
295
+ src/dodal/devices/i17/i17_apple2.py
293
296
  src/dodal/devices/i18/__init__.py
294
297
  src/dodal/devices/i18/diode.py
298
+ src/dodal/devices/i18/kb_mirror.py
295
299
  src/dodal/devices/i19/__init__.py
296
300
  src/dodal/devices/i19/backlight.py
297
301
  src/dodal/devices/i19/beamstop.py
298
- src/dodal/devices/i19/blueapi_device.py
299
302
  src/dodal/devices/i19/diffractometer.py
300
- src/dodal/devices/i19/hutch_access.py
301
303
  src/dodal/devices/i19/mapt_configuration.py
302
304
  src/dodal/devices/i19/pin_col_stages.py
303
- src/dodal/devices/i19/shutter.py
305
+ src/dodal/devices/i19/access_controlled/__init__.py
306
+ src/dodal/devices/i19/access_controlled/blueapi_device.py
307
+ src/dodal/devices/i19/access_controlled/hutch_access.py
308
+ src/dodal/devices/i19/access_controlled/shutter.py
304
309
  src/dodal/devices/i20_1/__init__.py
305
310
  src/dodal/devices/i21/__init__.py
306
311
  src/dodal/devices/i21/enums.py
@@ -415,7 +420,6 @@ tests/common/beamlines/test_beamline_utils.py
415
420
  tests/common/beamlines/test_commissioning_mode.py
416
421
  tests/common/beamlines/test_device_instantiation.py
417
422
  tests/devices/__init__.py
418
- tests/devices/test.png
419
423
  tests/devices/test_aperture.py
420
424
  tests/devices/test_aperture_scatterguard.py
421
425
  tests/devices/test_apple2_undulator.py
@@ -441,7 +445,6 @@ tests/devices/test_qbpm.py
441
445
  tests/devices/test_scintillator.py
442
446
  tests/devices/test_slits.py
443
447
  tests/devices/test_smargon.py
444
- tests/devices/test_status.py
445
448
  tests/devices/test_synchrotron.py
446
449
  tests/devices/test_tetramm.py
447
450
  tests/devices/test_thawer.py
@@ -502,9 +505,8 @@ tests/devices/i04/__init__.py
502
505
  tests/devices/i04/test_murko_results.py
503
506
  tests/devices/i04/test_transfocator.py
504
507
  tests/devices/i09/__init__.py
505
- tests/devices/i09/test_dcm.py
506
508
  tests/devices/i10/__init__.py
507
- tests/devices/i10/test_i10Apple2.py
509
+ tests/devices/i10/test_i10_apple2.py
508
510
  tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv
509
511
  tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv
510
512
  tests/devices/i10/test_data/__init__.py
@@ -518,7 +520,8 @@ tests/devices/i11/test_mythen.py
518
520
  tests/devices/i13_1/__init__.py
519
521
  tests/devices/i13_1/test_merlin.py
520
522
  tests/devices/i15/__init__.py
521
- tests/devices/i15/test_dcm.py
523
+ tests/devices/i17/__init__.py
524
+ tests/devices/i17/test_i17_apple2.py
522
525
  tests/devices/i18/__init__.py
523
526
  tests/devices/i18/test_kb_mirror.py
524
527
  tests/devices/i19/__init__.py
@@ -577,7 +580,6 @@ tests/devices/util/__init__.py
577
580
  tests/devices/util/test_adjuster_plans.py
578
581
  tests/devices/util/test_beamline_specific_utils.py
579
582
  tests/devices/util/test_lookup_tables.py
580
- tests/devices/util/test_save_panda.py
581
583
  tests/devices/util/test_data/__init__.py
582
584
  tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt
583
585
  tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt
@@ -599,6 +601,7 @@ tests/plans/conftest.py
599
601
  tests/plans/test_bimorph.py
600
602
  tests/plans/test_compliance.py
601
603
  tests/plans/test_configure_arm_trigger_and_disarm_detector.py
604
+ tests/plans/test_save_panda.py
602
605
  tests/plans/test_scanspec.py
603
606
  tests/plans/test_verify_undulator_gap_plan.py
604
607
  tests/plans/test_wrapped.py
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ dodal = dodal.__main__:main
3
+ save-panda = dodal.plans.save_panda:main
@@ -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.62.0'
32
- __version_tuple__ = version_tuple = (1, 62, 0)
31
+ __version__ = version = '1.63.0'
32
+ __version_tuple__ = version_tuple = (1, 63, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g146f56508'
34
+ __commit_id__ = commit_id = 'g8bb309b63'
@@ -14,6 +14,7 @@ _BEAMLINE_NAME_OVERRIDES = {
14
14
  "i09-1": "i09_1",
15
15
  "i13-1": "i13_1",
16
16
  "i15-1": "i15_1",
17
+ "i10-1": "i10_1",
17
18
  "i20-1": "i20_1",
18
19
  "i19-1": "i19_1",
19
20
  "i19-2": "i19_2",
@@ -29,7 +29,9 @@ https://epics-containers.github.io/main/tutorials/launch_example.html
29
29
  And ensure that the signals are visible:
30
30
 
31
31
  ```sh
32
- export EPICS_CA_ADDR_LIST=127.0.0.1:5094
32
+ export EPICS_CA_ADDR_LIST=127.0.0.1:9064
33
+ export EPICS_CA_NAME_SERVERS=127.0.0.1:9064
34
+ export EPICS_PVA_NAME_SERVERS=127.0.0.1:9075
33
35
  ```
34
36
 
35
37
  How to use the devices in a plan:
@@ -53,10 +55,10 @@ set_path_provider(
53
55
  )
54
56
  )
55
57
 
56
- RE = RunEngine()
58
+ run_engine = RunEngine()
57
59
  d = det(connect_immediately=True)
58
60
  s = stage(connect_immediately=True)
59
- RE(count([d], num=10))
61
+ run_engine(count([d], num=10))
60
62
  ```
61
63
 
62
64
  """
@@ -55,7 +55,9 @@ def mirror() -> SimpleMirror:
55
55
 
56
56
  @device_factory()
57
57
  def it() -> QDV2F:
58
- return QDV2F(prefix=f"{PREFIX.beamline_prefix}-DI-PHDGN-07:PHD1:", I_suffix="I")
58
+ return QDV2F(
59
+ prefix=f"{PREFIX.beamline_prefix}-DI-PHDGN-07:PHD1:", intensity_suffix="I"
60
+ )
59
61
 
60
62
 
61
63
  @device_factory()
@@ -0,0 +1,32 @@
1
+ """Beamline i02-2 is also known as VMXi, or I02I"""
2
+
3
+ from dodal.common.beamlines.beamline_utils import (
4
+ device_factory,
5
+ )
6
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
7
+ from dodal.devices.motors import XYStage
8
+ from dodal.devices.synchrotron import Synchrotron
9
+ from dodal.log import set_beamline as set_log_beamline
10
+ from dodal.utils import BeamlinePrefix, get_beamline_name
11
+
12
+ BL = get_beamline_name("i02-2")
13
+ PREFIX = BeamlinePrefix(BL, suffix="I")
14
+ set_log_beamline(BL)
15
+ set_utils_beamline(BL)
16
+ DAQ_CONFIGURATION_PATH = "/dls_sw/i02-2/software/daq_configuration"
17
+
18
+
19
+ @device_factory()
20
+ def synchrotron() -> Synchrotron:
21
+ """Get the i02-2 synchrotron device, instantiate it if it hasn't already been.
22
+ If this is called when already instantiated in i02-2, it will return the existing object.
23
+ """
24
+ return Synchrotron()
25
+
26
+
27
+ @device_factory()
28
+ def sample_motors() -> XYStage:
29
+ """Get the i02-2 goniometer device, instantiate it if it hasn't already been.
30
+ If this is called when already instantiated in i02-2, it will return the existing object.
31
+ """
32
+ return XYStage(f"{PREFIX.beamline_prefix}-MO-GONIO-01:SAMPLE:")
@@ -29,6 +29,7 @@ from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScanThr
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
32
+ from dodal.devices.hutch_shutter import HutchShutter
32
33
  from dodal.devices.i03 import Beamstop
33
34
  from dodal.devices.i03.dcm import DCM
34
35
  from dodal.devices.i03.undulator_dcm import UndulatorDCM
@@ -323,6 +324,14 @@ def sample_shutter() -> ZebraShutter:
323
324
  return ZebraShutter(f"{PREFIX.beamline_prefix}-EA-SHTR-01:")
324
325
 
325
326
 
327
+ @device_factory()
328
+ def hutch_shutter() -> HutchShutter:
329
+ """Get the i03 hutch shutter device, instantiate it if it hasn't already been.
330
+ If this is called when already instantiated in i03, it will return the existing object.
331
+ """
332
+ return HutchShutter(f"{PREFIX.beamline_prefix}-PS-SHTR-01:")
333
+
334
+
326
335
  @device_factory()
327
336
  def flux() -> Flux:
328
337
  """Get the i03 flux device, instantiate it if it hasn't already been.
@@ -2,9 +2,14 @@ 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.common_dcm import (
6
+ DoubleCrystalMonochromatorWithDSpacing,
7
+ PitchAndRollCrystal,
8
+ StationaryCrystal,
9
+ )
5
10
  from dodal.devices.electron_analyser import DualEnergySource
6
11
  from dodal.devices.electron_analyser.vgscienta import VGScientaDetector
7
- from dodal.devices.i09 import DCM, Grating, LensMode, PassEnergy, PsuMode
12
+ from dodal.devices.i09 import Grating, LensMode, PassEnergy, PsuMode
8
13
  from dodal.devices.pgm import PGM
9
14
  from dodal.devices.synchrotron import Synchrotron
10
15
  from dodal.log import set_beamline as set_log_beamline
@@ -30,8 +35,10 @@ def pgm() -> PGM:
30
35
 
31
36
 
32
37
  @device_factory()
33
- def dcm() -> DCM:
34
- return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
38
+ def dcm() -> DoubleCrystalMonochromatorWithDSpacing:
39
+ return DoubleCrystalMonochromatorWithDSpacing(
40
+ f"{PREFIX.beamline_prefix}-MO-DCM-01:", PitchAndRollCrystal, StationaryCrystal
41
+ )
35
42
 
36
43
 
37
44
  @device_factory()
@@ -2,9 +2,13 @@ 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.common_dcm import (
6
+ DoubleCrystalMonochromatorWithDSpacing,
7
+ PitchAndRollCrystal,
8
+ StationaryCrystal,
9
+ )
5
10
  from dodal.devices.electron_analyser import EnergySource
6
11
  from dodal.devices.electron_analyser.specs import SpecsDetector
7
- from dodal.devices.i09.dcm import DCM
8
12
  from dodal.devices.i09_1 import LensMode, PsuMode
9
13
  from dodal.devices.synchrotron import Synchrotron
10
14
  from dodal.log import set_beamline as set_log_beamline
@@ -22,8 +26,10 @@ def synchrotron() -> Synchrotron:
22
26
 
23
27
 
24
28
  @device_factory()
25
- def dcm() -> DCM:
26
- return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
29
+ def dcm() -> DoubleCrystalMonochromatorWithDSpacing:
30
+ return DoubleCrystalMonochromatorWithDSpacing(
31
+ f"{PREFIX.beamline_prefix}-MO-DCM-01:", PitchAndRollCrystal, StationaryCrystal
32
+ )
27
33
 
28
34
 
29
35
  @device_factory()
@@ -6,17 +6,17 @@ note:
6
6
  idd == id1, idu == id2.
7
7
  """
8
8
 
9
- from daq_config_server.client import ConfigServer
10
-
11
9
  from dodal.common.beamlines.beamline_utils import device_factory
12
10
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
13
11
  from dodal.devices.current_amplifiers import CurrentAmpDet
14
- from dodal.devices.i10.diagnostics import I10Diagnostic, I10Diagnostic5ADet
15
- from dodal.devices.i10.i10_apple2 import (
16
- I10Id,
12
+ from dodal.devices.i10 import (
13
+ I10Diagnostic,
14
+ I10Diagnostic5ADet,
15
+ I10Slits,
16
+ I10SlitsDrainCurrent,
17
+ PiezoMirror,
17
18
  )
18
- from dodal.devices.i10.i10_setting_data import I10Grating
19
- from dodal.devices.i10.mirrors import PiezoMirror
19
+ from dodal.devices.i10.diagnostics import I10Diagnostic, I10Diagnostic5ADet
20
20
  from dodal.devices.i10.rasor.rasor_current_amp import RasorFemto, RasorSR570
21
21
  from dodal.devices.i10.rasor.rasor_motors import (
22
22
  DetSlits,
@@ -24,9 +24,7 @@ from dodal.devices.i10.rasor.rasor_motors import (
24
24
  PaStage,
25
25
  )
26
26
  from dodal.devices.i10.rasor.rasor_scaler_cards import RasorScalerCard1
27
- from dodal.devices.i10.slits import I10Slits, I10SlitsDrainCurrent
28
27
  from dodal.devices.motors import XYStage, XYZStage
29
- from dodal.devices.pgm import PGM
30
28
  from dodal.devices.temperture_controller import (
31
29
  Lakeshore340,
32
30
  )
@@ -38,69 +36,9 @@ set_log_beamline(BL)
38
36
  set_utils_beamline(BL)
39
37
  PREFIX = BeamlinePrefix(BL)
40
38
 
41
- I10_CONF_CLIENT = ConfigServer(url="https://daq-config.diamond.ac.uk")
42
-
43
-
44
- LOOK_UPTABLE_DIR = "/dls_sw/i10/software/gda/workspace_git/gda-diamond.git/configurations/i10-shared/lookupTables/"
45
-
46
-
47
- @device_factory()
48
- def pgm() -> PGM:
49
- "I10 Plane Grating Monochromator, it can change energy via pgm.energy.set(<energy>)"
50
- return PGM(
51
- prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
52
- grating=I10Grating,
53
- gratingPv="NLINES2",
54
- )
55
-
56
-
57
- @device_factory()
58
- def idd() -> I10Id:
59
- """i10 downstream insertion device:
60
- id.energy.set(<energy>) to change beamline energy.
61
- id.energy.energy_offset.set(<off_set>) to change id energy offset relative to pgm.
62
- id.pol.set(<polarisation>) to change polarisation.
63
- id.laa.set(<linear polarisation angle>) to change polarisation angle, must be in LA mode.
64
- """
65
- return I10Id(
66
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
67
- pgm=pgm(),
68
- look_up_table_dir=LOOK_UPTABLE_DIR,
69
- source=("Source", "idd"),
70
- config_client=I10_CONF_CLIENT,
71
- )
72
-
73
-
74
- @device_factory()
75
- def idu() -> I10Id:
76
- """i10 upstream insertion device:
77
- id.energy.set(<energy>) to change beamline energy.
78
- id.energy.energy_offset.set(<off_set>) to change id energy offset relative to pgm.
79
- id.pol.set(<polarisation>) to change polarisation.
80
- id.laa.set(<linear polarisation angle>) to change polarisation angle, must be in LA mode.
81
- """
82
- return I10Id(
83
- prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-21:",
84
- pgm=pgm(),
85
- look_up_table_dir=LOOK_UPTABLE_DIR,
86
- source=("Source", "idu"),
87
- config_client=I10_CONF_CLIENT,
88
- )
89
-
90
-
91
39
  """Mirrors"""
92
40
 
93
41
 
94
- @device_factory()
95
- def first_mirror() -> PiezoMirror:
96
- return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-COL-01:")
97
-
98
-
99
- @device_factory()
100
- def switching_mirror() -> PiezoMirror:
101
- return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-SWTCH-01:")
102
-
103
-
104
42
  @device_factory()
105
43
  def focusing_mirror() -> PiezoMirror:
106
44
  return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-FOCS-01:")
@@ -0,0 +1,35 @@
1
+ from dodal.common.beamlines.beamline_utils import device_factory
2
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
3
+ from dodal.devices.i10 import I10JDiagnostic, I10JSlits, PiezoMirror
4
+ from dodal.devices.temperture_controller.lakeshore.lakeshore import Lakeshore336
5
+ from dodal.log import set_beamline as set_log_beamline
6
+ from dodal.utils import BeamlinePrefix, get_beamline_name
7
+
8
+ BL = get_beamline_name("i10-1")
9
+ set_log_beamline(BL)
10
+ set_utils_beamline(BL)
11
+ PREFIX = BeamlinePrefix("i10", "J")
12
+
13
+
14
+ @device_factory()
15
+ def em_temperature_controller() -> Lakeshore336:
16
+ return Lakeshore336(
17
+ prefix=f"{PREFIX.beamline_prefix}-EA-TCTRL-41:",
18
+ )
19
+
20
+
21
+ @device_factory()
22
+ def slits() -> I10JSlits:
23
+ return I10JSlits(prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-")
24
+
25
+
26
+ @device_factory()
27
+ def diagnostic() -> I10JDiagnostic:
28
+ return I10JDiagnostic(
29
+ prefix=f"{PREFIX.beamline_prefix}-DI-",
30
+ )
31
+
32
+
33
+ @device_factory()
34
+ def focusing_mirror() -> PiezoMirror:
35
+ return PiezoMirror(prefix=f"{PREFIX.beamline_prefix}-OP-FOCA-01:")