dls-dodal 1.65.0__tar.gz → 1.67.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 (699) hide show
  1. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_dist.yml +2 -2
  2. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_docs.yml +2 -2
  3. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_pypi.yml +1 -1
  4. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_release.yml +2 -2
  5. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_test.yml +4 -4
  6. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/_tox.yml +1 -1
  7. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/PKG-INFO +3 -4
  8. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/create-beamline.md +19 -17
  9. dls_dodal-1.67.0/docs/how-to/tidy-docs.md +35 -0
  10. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/write-tests.md +1 -1
  11. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/pyproject.toml +2 -3
  12. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/PKG-INFO +3 -4
  13. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/SOURCES.txt +51 -11
  14. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/requires.txt +2 -3
  15. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/_version.py +3 -3
  16. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/aithre.py +21 -2
  17. dls_dodal-1.67.0/src/dodal/beamlines/i03.py +362 -0
  18. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i04.py +40 -4
  19. dls_dodal-1.65.0/src/dodal/beamlines/i09_2.py → dls_dodal-1.67.0/src/dodal/beamlines/i05.py +14 -22
  20. dls_dodal-1.67.0/src/dodal/beamlines/i06.py +62 -0
  21. dls_dodal-1.67.0/src/dodal/beamlines/i07.py +41 -0
  22. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i09_1.py +32 -3
  23. dls_dodal-1.67.0/src/dodal/beamlines/i09_2.py +112 -0
  24. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i10_optics.py +46 -17
  25. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i17.py +7 -3
  26. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i18.py +3 -3
  27. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i19_1.py +26 -14
  28. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i19_2.py +49 -38
  29. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i21.py +2 -2
  30. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i22.py +19 -4
  31. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/p38.py +3 -3
  32. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/training_rig.py +0 -16
  33. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/cli.py +26 -12
  34. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/coordination.py +3 -2
  35. dls_dodal-1.67.0/src/dodal/device_manager.py +604 -0
  36. dls_dodal-1.67.0/src/dodal/devices/aithre_lasershaping/goniometer.py +42 -0
  37. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/aperturescatterguard.py +3 -2
  38. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/areadetector/plugins/mjpg.py +10 -3
  39. dls_dodal-1.67.0/src/dodal/devices/beamsize/beamsize.py +6 -0
  40. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/cryostream.py +28 -57
  41. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/det_resolution.py +4 -2
  42. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/eiger.py +26 -18
  43. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/fast_grid_scan.py +14 -2
  44. dls_dodal-1.67.0/src/dodal/devices/i03/beamsize.py +35 -0
  45. dls_dodal-1.67.0/src/dodal/devices/i03/constants.py +7 -0
  46. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i03/undulator_dcm.py +2 -2
  47. dls_dodal-1.67.0/src/dodal/devices/i04/beamsize.py +45 -0
  48. dls_dodal-1.67.0/src/dodal/devices/i04/max_pixel.py +38 -0
  49. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i04/murko_results.py +36 -26
  50. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i04/transfocator.py +23 -29
  51. dls_dodal-1.67.0/src/dodal/devices/i07/id.py +38 -0
  52. dls_dodal-1.67.0/src/dodal/devices/i09_1_shared/__init__.py +14 -0
  53. dls_dodal-1.67.0/src/dodal/devices/i09_1_shared/hard_energy.py +112 -0
  54. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i09_1_shared/hard_undulator_functions.py +85 -21
  55. dls_dodal-1.67.0/src/dodal/devices/i09_2_shared/i09_apple2.py +86 -0
  56. dls_dodal-1.67.0/src/dodal/devices/i10/i10_apple2.py +197 -0
  57. dls_dodal-1.67.0/src/dodal/devices/i17/i17_apple2.py +66 -0
  58. dls_dodal-1.67.0/src/dodal/devices/i19/access_controlled/attenuator_motor_squad.py +61 -0
  59. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/access_controlled/blueapi_device.py +9 -1
  60. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/access_controlled/shutter.py +2 -4
  61. {dls_dodal-1.65.0/src/dodal/devices → dls_dodal-1.67.0/src/dodal/devices/insertion_device}/apple2_undulator.py +122 -69
  62. dls_dodal-1.67.0/src/dodal/devices/insertion_device/energy_motor_lookup.py +88 -0
  63. dls_dodal-1.67.0/src/dodal/devices/insertion_device/lookup_table_models.py +287 -0
  64. dls_dodal-1.67.0/src/dodal/devices/ipin.py +31 -0
  65. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/motors.py +33 -3
  66. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/mx_phase1/beamstop.py +31 -12
  67. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/oav_calculations.py +9 -4
  68. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/oav_detector.py +65 -7
  69. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/oav_parameters.py +3 -1
  70. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +18 -15
  71. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +5 -1
  72. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +23 -1
  73. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +8 -2
  74. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/utils.py +16 -6
  75. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/robot.py +33 -18
  76. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/scintillator.py +36 -14
  77. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/smargon.py +2 -3
  78. dls_dodal-1.67.0/src/dodal/devices/thawer.py +21 -0
  79. dls_dodal-1.67.0/src/dodal/devices/undulator.py +271 -0
  80. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/__init__.py +1 -1
  81. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +2 -4
  82. dls_dodal-1.67.0/src/dodal/plans/load_panda_yaml.py +9 -0
  83. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/verify_undulator_gap.py +2 -2
  84. dls_dodal-1.67.0/src/dodal/testing/fixtures/devices/apple2.py +78 -0
  85. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/utils.py +6 -3
  86. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/system_tests/test_cli.py +17 -0
  87. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/system_tests/test_oav_to_redis_system.py +23 -9
  88. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/beamlines/test_commissioning_mode.py +1 -1
  89. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/beamlines/test_device_instantiation.py +7 -2
  90. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/conftest.py +16 -7
  91. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -2
  92. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/b07_1/test_ccmc.py +3 -3
  93. dls_dodal-1.67.0/tests/devices/conftest.py +92 -0
  94. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/current_amplifier/test_femto.py +2 -2
  95. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/current_amplifier/test_sr570.py +2 -1
  96. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/abstract/test_base_detector.py +1 -2
  97. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +1 -2
  98. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/conftest.py +4 -7
  99. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/specs/test_detector.py +1 -2
  100. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/specs/test_driver_io.py +1 -3
  101. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/vgscienta/test_detector.py +1 -2
  102. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +1 -3
  103. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i02_1/test_fast_grid_scan.py +1 -2
  104. dls_dodal-1.67.0/tests/devices/i03/test_beamsize.py +43 -0
  105. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i03/test_undulator_dcm.py +3 -7
  106. dls_dodal-1.67.0/tests/devices/i04/conftest.py +11 -0
  107. dls_dodal-1.67.0/tests/devices/i04/test_beamsize.py +50 -0
  108. dls_dodal-1.67.0/tests/devices/i04/test_max_pixel.py +71 -0
  109. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i04/test_murko_results.py +164 -152
  110. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i04/test_transfocator.py +6 -37
  111. dls_dodal-1.67.0/tests/devices/i07/IIDCalibrationTable.txt +13 -0
  112. dls_dodal-1.67.0/tests/devices/i07/__init__.py +7 -0
  113. dls_dodal-1.67.0/tests/devices/i07/test_id.py +28 -0
  114. dls_dodal-1.67.0/tests/devices/i09_1_shared/test_hard_energy.py +243 -0
  115. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i09_1_shared/test_undulator_functions.py +24 -4
  116. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_data/ExpectedJIDEnergy2GapCalibrations.json +84 -0
  117. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_data/ExpectedJIDEnergy2PhaseCalibrations.json +57 -0
  118. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_data/JIDEnergy2GapCalibrations.csv +7 -0
  119. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_data/JIDEnergy2PhaseCalibrations.csv +10 -0
  120. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_data/__init__.py +23 -0
  121. dls_dodal-1.67.0/tests/devices/i09_2_shared/test_i09_apple2.py +286 -0
  122. dls_dodal-1.67.0/tests/devices/i10/test_data/__init__.py +32 -0
  123. dls_dodal-1.67.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json +290 -0
  124. dls_dodal-1.67.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json +290 -0
  125. dls_dodal-1.67.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json +161 -0
  126. dls_dodal-1.67.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json +161 -0
  127. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i10/test_i10_apple2.py +174 -207
  128. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i11/test_i11devices.py +1 -2
  129. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i11/test_mythen.py +0 -1
  130. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i13_1/test_merlin.py +1 -1
  131. dls_dodal-1.67.0/tests/devices/i17/test_i17_apple2.py +70 -0
  132. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i18/test_kb_mirror.py +2 -2
  133. dls_dodal-1.67.0/tests/devices/i19/access_controlled/test_attenuator_motor_squad.py +134 -0
  134. dls_dodal-1.67.0/tests/devices/i19/access_controlled/test_attenuator_position_demand.py +145 -0
  135. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/access_controlled/test_shutter.py +2 -1
  136. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/test_diffractometer.py +2 -2
  137. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/test_mapt.py +2 -2
  138. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/test_pin_col.py +2 -5
  139. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i22/test_dcm.py +9 -10
  140. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i22/test_fswitch.py +2 -2
  141. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i24/test_commissioning_jungfrau.py +0 -2
  142. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i24/test_dual_backlight.py +1 -1
  143. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i24/test_pmac.py +9 -7
  144. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i24/test_vgonio.py +1 -3
  145. dls_dodal-1.67.0/tests/devices/insertion_device/conftest.py +48 -0
  146. {dls_dodal-1.65.0/tests/devices → dls_dodal-1.67.0/tests/devices/insertion_device}/test_apple2_undulator.py +130 -45
  147. dls_dodal-1.67.0/tests/devices/insertion_device/test_energy_motor_lookup.py +86 -0
  148. dls_dodal-1.67.0/tests/devices/insertion_device/test_lookup_tables_models.py +93 -0
  149. dls_dodal-1.67.0/tests/devices/insertion_device/util.py +37 -0
  150. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/mx_phase1/test_beamstop.py +40 -15
  151. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/conftest.py +4 -3
  152. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +1 -1
  153. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +130 -0
  154. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_oav.py +26 -3
  155. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +13 -7
  156. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_oav_utils.py +2 -5
  157. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_snapshots.py +1 -2
  158. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/p99/test_p99_stage.py +1 -2
  159. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_aperture_scatterguard.py +14 -99
  160. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_attenuator.py +1 -2
  161. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_backlight.py +2 -2
  162. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_bart_robot.py +98 -5
  163. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_bimorph_mirror.py +7 -2
  164. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_common_dcm.py +2 -5
  165. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_eiger.py +13 -0
  166. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_focusing_mirror.py +2 -2
  167. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_gridscan.py +37 -9
  168. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_hutch_shutter.py +1 -1
  169. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_motors.py +3 -6
  170. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_positioner.py +3 -2
  171. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_pressure_jump_cell.py +2 -2
  172. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_scintillator.py +41 -22
  173. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_slits.py +2 -2
  174. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_smargon.py +14 -17
  175. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_synchrotron.py +1 -2
  176. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_tetramm.py +8 -2
  177. dls_dodal-1.67.0/tests/devices/test_thawer.py +17 -0
  178. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_turbo_slit.py +4 -7
  179. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_undulator.py +65 -25
  180. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_utils.py +1 -2
  181. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_watsonmarlow323_pump.py +2 -2
  182. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_xbpm_feedback.py +1 -2
  183. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_xspress3.py +2 -2
  184. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_zebra.py +1 -1
  185. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_zebra_shutter.py +1 -2
  186. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline.py +2 -2
  187. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_all_devices_raise_exception.py +2 -2
  188. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_broken_dependency.py +2 -2
  189. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_dependencies.py +2 -2
  190. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_disordered_dependencies.py +2 -2
  191. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_some_devices_working.py +2 -2
  192. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_device_factory_beamline.py +3 -3
  193. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_zocalo/__main__.py +29 -14
  194. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_motor_util_plans.py +24 -19
  195. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_topup_plan.py +1 -2
  196. dls_dodal-1.67.0/tests/plans/__init__.py +0 -0
  197. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/conftest.py +3 -3
  198. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_bimorph.py +4 -6
  199. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +6 -2
  200. dls_dodal-1.67.0/tests/plans/test_load_panda_yaml.py +48 -0
  201. dls_dodal-1.67.0/tests/plans/test_preprocessors/__init__.py +0 -0
  202. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_verify_undulator_gap_plan.py +4 -3
  203. dls_dodal-1.67.0/tests/preprocessors/__init__.py +0 -0
  204. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_cli.py +29 -1
  205. dls_dodal-1.67.0/tests/test_device_manager.py +763 -0
  206. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_utils.py +16 -32
  207. dls_dodal-1.67.0/tests/testing/__init__.py +0 -0
  208. dls_dodal-1.67.0/tests/testing/fixtures/__init__.py +0 -0
  209. dls_dodal-1.65.0/src/dodal/beamline_specific_utils/i03.py +0 -17
  210. dls_dodal-1.65.0/src/dodal/beamlines/i03.py +0 -458
  211. dls_dodal-1.65.0/src/dodal/beamlines/i05.py +0 -22
  212. dls_dodal-1.65.0/src/dodal/beamlines/i07.py +0 -21
  213. dls_dodal-1.65.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -25
  214. dls_dodal-1.65.0/src/dodal/devices/i09_1_shared/__init__.py +0 -3
  215. dls_dodal-1.65.0/src/dodal/devices/i10/i10_apple2.py +0 -489
  216. dls_dodal-1.65.0/src/dodal/devices/i17/i17_apple2.py +0 -51
  217. dls_dodal-1.65.0/src/dodal/devices/ipin.py +0 -13
  218. dls_dodal-1.65.0/src/dodal/devices/thawer.py +0 -59
  219. dls_dodal-1.65.0/src/dodal/devices/undulator.py +0 -187
  220. dls_dodal-1.65.0/src/dodal/testing/__init__.py +0 -3
  221. dls_dodal-1.65.0/src/dodal/testing/setup.py +0 -67
  222. dls_dodal-1.65.0/tests/devices/i10/test_data/__init__.py +0 -32
  223. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  224. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  225. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  226. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  227. dls_dodal-1.65.0/tests/devices/i17/test_i17_apple2.py +0 -51
  228. dls_dodal-1.65.0/tests/devices/test_thawer.py +0 -161
  229. dls_dodal-1.65.0/tests/devices/util/test_beamline_specific_utils.py +0 -23
  230. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.copier-answers.yml +0 -0
  231. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.devcontainer/devcontainer.json +0 -0
  232. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/CODEOWNERS +0 -0
  233. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/CONTRIBUTING.md +0 -0
  234. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  235. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/actions/install_requirements/action.yml +0 -0
  236. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/dependabot.yml +0 -0
  237. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/pages/index.html +0 -0
  238. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/pages/make_switcher.py +0 -0
  239. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/scripts/check_test_durations.py +0 -0
  240. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/ci.yml +0 -0
  241. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.github/workflows/periodic.yml +0 -0
  242. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.gitignore +0 -0
  243. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.pre-commit-config.yaml +0 -0
  244. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.vscode/extensions.json +0 -0
  245. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.vscode/launch.json +0 -0
  246. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.vscode/settings.json +0 -0
  247. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/.vscode/tasks.json +0 -0
  248. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/Dockerfile +0 -0
  249. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/LICENSE +0 -0
  250. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/README.md +0 -0
  251. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/catalog-info.yaml +0 -0
  252. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/conftest.py +0 -0
  253. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/_templates/autosummary/class.rst +0 -0
  254. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/_templates/autosummary/module.rst +0 -0
  255. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/_templates/custom-module-template.rst +0 -0
  256. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
  257. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/assets/zocalo.png +0 -0
  258. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/conf.py +0 -0
  259. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  260. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  261. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  262. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  263. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  264. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  265. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions/COPYME +0 -0
  266. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/decisions.md +0 -0
  267. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/reviews.md +0 -0
  268. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/umls/apple2_design.png +0 -0
  269. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations/umls/i10_id_design.png +0 -0
  270. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/explanations.md +0 -0
  271. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/genindex.md +0 -0
  272. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/build-docs.md +0 -0
  273. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/contribute.md +0 -0
  274. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/coverage.md +0 -0
  275. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/create-device.md +0 -0
  276. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/dev-install.md +0 -0
  277. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/excalidraw.md +0 -0
  278. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/external-io-devices.md +0 -0
  279. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/lint.md +0 -0
  280. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/lock-requirements.md +0 -0
  281. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/make-release.md +0 -0
  282. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/move-code.md +0 -0
  283. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/pypi.md +0 -0
  284. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/run-tests.md +0 -0
  285. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/static-analysis.md +0 -0
  286. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/update-template.md +0 -0
  287. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to/zocalo.md +0 -0
  288. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/how-to.md +0 -0
  289. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/images/dls-logo.svg +0 -0
  290. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/images/excalidraw-example.svg +0 -0
  291. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/index.md +0 -0
  292. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/reference/api.md +0 -0
  293. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/reference/device-standards.md +0 -0
  294. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/reference/standards.md +0 -0
  295. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/reference.md +0 -0
  296. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/tutorials/get_started.md +0 -0
  297. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/tutorials/installation.md +0 -0
  298. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/docs/tutorials.md +0 -0
  299. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/pull_request_template.md +0 -0
  300. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/setup.cfg +0 -0
  301. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/__init__.py +0 -0
  302. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  303. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  304. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  305. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/__init__.py +0 -0
  306. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/__main__.py +0 -0
  307. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  308. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamline_specific_utils/i05_shared.py +0 -0
  309. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/README.md +0 -0
  310. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/__init__.py +0 -0
  311. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/adsim.py +0 -0
  312. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b01_1.py +0 -0
  313. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b07.py +0 -0
  314. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b07_1.py +0 -0
  315. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b16.py +0 -0
  316. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b18.py +0 -0
  317. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/b21.py +0 -0
  318. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i02_1.py +0 -0
  319. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i02_2.py +0 -0
  320. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i05_1.py +0 -0
  321. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i09.py +0 -0
  322. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i10.py +0 -0
  323. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i10_1.py +0 -0
  324. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i11.py +0 -0
  325. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i13_1.py +0 -0
  326. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i15.py +0 -0
  327. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i15_1.py +0 -0
  328. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i19_optics.py +0 -0
  329. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i20_1.py +0 -0
  330. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i23.py +0 -0
  331. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/i24.py +0 -0
  332. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/k07.py +0 -0
  333. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/k11.py +0 -0
  334. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/p45.py +0 -0
  335. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/p60.py +0 -0
  336. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/beamlines/p99.py +0 -0
  337. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/__init__.py +0 -0
  338. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/beamlines/__init__.py +0 -0
  339. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
  340. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  341. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
  342. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  343. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/crystal_metadata.py +0 -0
  344. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/data_util.py +0 -0
  345. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/device_utils.py +0 -0
  346. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/enums.py +0 -0
  347. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/maths.py +0 -0
  348. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/types.py +0 -0
  349. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/udc_directory_provider.py +0 -0
  350. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/visit.py +0 -0
  351. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/common/watcher_utils.py +0 -0
  352. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/__init__.py +0 -0
  353. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
  354. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  355. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/aperture.py +0 -0
  356. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/areadetector/__init__.py +0 -0
  357. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/areadetector/plugins/__init__.py +0 -0
  358. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/areadetector/plugins/cam.py +0 -0
  359. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/attenuator/__init__.py +0 -0
  360. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  361. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/attenuator/filter.py +0 -0
  362. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  363. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b07/__init__.py +0 -0
  364. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b07/enums.py +0 -0
  365. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b07_1/__init__.py +0 -0
  366. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b07_1/ccmc.py +0 -0
  367. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b07_1/enums.py +0 -0
  368. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b16/__init__.py +0 -0
  369. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/b16/detector.py +0 -0
  370. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/backlight.py +0 -0
  371. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/baton.py +0 -0
  372. {dls_dodal-1.65.0/src/dodal/devices/i02_1 → dls_dodal-1.67.0/src/dodal/devices/beamsize}/__init__.py +0 -0
  373. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  374. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/collimation_table.py +0 -0
  375. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/common_dcm.py +0 -0
  376. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/controllers.py +0 -0
  377. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  378. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  379. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  380. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  381. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  382. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  383. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/__init__.py +0 -0
  384. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  385. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  386. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/detector.py +0 -0
  387. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  388. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/diamond_filter.py +0 -0
  389. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/eiger_odin.py +0 -0
  390. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  391. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  392. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  393. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +0 -0
  394. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
  395. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
  396. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  397. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/energy_sources.py +0 -0
  398. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  399. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  400. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/specs/detector.py +0 -0
  401. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +0 -0
  402. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  403. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
  404. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/types.py +0 -0
  405. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  406. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  407. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -0
  408. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -0
  409. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  410. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
  411. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/eurotherm.py +0 -0
  412. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/fast_shutter.py +0 -0
  413. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  414. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/flux.py +0 -0
  415. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/focusing_mirror.py +0 -0
  416. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/hutch_shutter.py +0 -0
  417. {dls_dodal-1.65.0/src/dodal/devices/i02_2 → dls_dodal-1.67.0/src/dodal/devices/i02_1}/__init__.py +0 -0
  418. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i02_1/fast_grid_scan.py +0 -0
  419. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i02_1/sample_motors.py +0 -0
  420. {dls_dodal-1.65.0/src/dodal/devices/i07 → dls_dodal-1.67.0/src/dodal/devices/i02_2}/__init__.py +0 -0
  421. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i03/__init__.py +0 -0
  422. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i03/dcm.py +0 -0
  423. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i04/__init__.py +0 -0
  424. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i04/constants.py +0 -0
  425. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i05/__init__.py +0 -0
  426. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i05/enums.py +0 -0
  427. {dls_dodal-1.65.0/src/dodal/devices/i10/rasor → dls_dodal-1.67.0/src/dodal/devices/i07}/__init__.py +0 -0
  428. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i07/dcm.py +0 -0
  429. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i09/__init__.py +0 -0
  430. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i09/enums.py +0 -0
  431. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i09_1/__init__.py +0 -0
  432. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i09_1/enums.py +0 -0
  433. {dls_dodal-1.65.0/src/dodal/devices/i11 → dls_dodal-1.67.0/src/dodal/devices/i09_2_shared}/__init__.py +0 -0
  434. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/__init__.py +0 -0
  435. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/diagnostics.py +0 -0
  436. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  437. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/mirrors.py +0 -0
  438. {dls_dodal-1.65.0/src/dodal/devices/i13_1 → dls_dodal-1.67.0/src/dodal/devices/i10/rasor}/__init__.py +0 -0
  439. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  440. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  441. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  442. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i10/slits.py +0 -0
  443. {dls_dodal-1.65.0/src/dodal/devices/i15 → dls_dodal-1.67.0/src/dodal/devices/i11}/__init__.py +0 -0
  444. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
  445. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i11/diff_stages.py +0 -0
  446. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i11/mythen.py +0 -0
  447. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i11/nx100robot.py +0 -0
  448. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i11/spinner.py +0 -0
  449. {dls_dodal-1.65.0/src/dodal/devices/i17 → dls_dodal-1.67.0/src/dodal/devices/i13_1}/__init__.py +0 -0
  450. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  451. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
  452. {dls_dodal-1.65.0/src/dodal/devices/i18 → dls_dodal-1.67.0/src/dodal/devices/i15}/__init__.py +0 -0
  453. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/dcm.py +0 -0
  454. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/focussing_mirror.py +0 -0
  455. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/jack.py +0 -0
  456. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/laue.py +0 -0
  457. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/motors.py +0 -0
  458. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/multilayer_mirror.py +0 -0
  459. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i15/rail.py +0 -0
  460. {dls_dodal-1.65.0/src/dodal/devices/i19 → dls_dodal-1.67.0/src/dodal/devices/i17}/__init__.py +0 -0
  461. {dls_dodal-1.65.0/src/dodal/devices/i19/access_controlled → dls_dodal-1.67.0/src/dodal/devices/i18}/__init__.py +0 -0
  462. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i18/diode.py +0 -0
  463. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i18/kb_mirror.py +0 -0
  464. {dls_dodal-1.65.0/src/dodal/devices/i20_1 → dls_dodal-1.67.0/src/dodal/devices/i19}/__init__.py +0 -0
  465. {dls_dodal-1.65.0/src/dodal/devices/i22 → dls_dodal-1.67.0/src/dodal/devices/i19/access_controlled}/__init__.py +0 -0
  466. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/access_controlled/hutch_access.py +0 -0
  467. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/backlight.py +0 -0
  468. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/beamstop.py +0 -0
  469. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/diffractometer.py +0 -0
  470. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/mapt_configuration.py +0 -0
  471. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i19/pin_col_stages.py +0 -0
  472. {dls_dodal-1.65.0/src/dodal/devices/i24 → dls_dodal-1.67.0/src/dodal/devices/i20_1}/__init__.py +0 -0
  473. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i21/__init__.py +0 -0
  474. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i21/enums.py +0 -0
  475. {dls_dodal-1.65.0/src/dodal/devices/mx_phase1 → dls_dodal-1.67.0/src/dodal/devices/i22}/__init__.py +0 -0
  476. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i22/dcm.py +0 -0
  477. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i22/fswitch.py +0 -0
  478. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i22/nxsas.py +0 -0
  479. {dls_dodal-1.65.0/src/dodal/devices/oav → dls_dodal-1.67.0/src/dodal/devices/i24}/__init__.py +0 -0
  480. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/aperture.py +0 -0
  481. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/beam_center.py +0 -0
  482. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/beamstop.py +0 -0
  483. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/commissioning_jungfrau.py +0 -0
  484. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/dcm.py +0 -0
  485. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  486. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  487. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/pmac.py +0 -0
  488. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/i24/vgonio.py +0 -0
  489. {dls_dodal-1.65.0/src/dodal/devices/oav/snapshots → dls_dodal-1.67.0/src/dodal/devices/insertion_device}/__init__.py +0 -0
  490. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/linkam3.py +0 -0
  491. {dls_dodal-1.65.0/src/dodal/devices/p99 → dls_dodal-1.67.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
  492. {dls_dodal-1.65.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-1.67.0/src/dodal/devices/oav}/__init__.py +0 -0
  493. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  494. {dls_dodal-1.65.0/src/dodal/devices/util → dls_dodal-1.67.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
  495. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  496. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  497. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  498. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p45.py +0 -0
  499. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p60/__init__.py +0 -0
  500. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p60/enums.py +0 -0
  501. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  502. {dls_dodal-1.65.0/src/dodal/devices/xspress3 → dls_dodal-1.67.0/src/dodal/devices/p99}/__init__.py +0 -0
  503. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  504. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  505. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/pgm.py +0 -0
  506. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/positioner.py +0 -0
  507. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  508. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/qbpm.py +0 -0
  509. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  510. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/slits.py +0 -0
  511. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/status.py +0 -0
  512. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/synchrotron.py +0 -0
  513. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
  514. {dls_dodal-1.65.0/src/dodal/devices/zebra → dls_dodal-1.67.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  515. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -0
  516. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -0
  517. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/tetramm.py +0 -0
  518. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/turbo_slit.py +0 -0
  519. {dls_dodal-1.65.0/src/dodal/parameters → dls_dodal-1.67.0/src/dodal/devices/util}/__init__.py +0 -0
  520. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  521. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/util/epics_util.py +0 -0
  522. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  523. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/v2f.py +0 -0
  524. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  525. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/webcam.py +0 -0
  526. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  527. {dls_dodal-1.65.0/src/dodal/plans/preprocessors → dls_dodal-1.67.0/src/dodal/devices/xspress3}/__init__.py +0 -0
  528. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  529. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  530. {dls_dodal-1.65.0/src/dodal/testing/fixtures → dls_dodal-1.67.0/src/dodal/devices/zebra}/__init__.py +0 -0
  531. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zebra/zebra.py +0 -0
  532. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
  533. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  534. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zocalo/__init__.py +0 -0
  535. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  536. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  537. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
  538. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/log.py +0 -0
  539. {dls_dodal-1.65.0/system_tests → dls_dodal-1.67.0/src/dodal/parameters}/__init__.py +0 -0
  540. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  541. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plan_stubs/__init__.py +0 -0
  542. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  543. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plan_stubs/data_session.py +0 -0
  544. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
  545. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  546. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/bimorph.py +0 -0
  547. {dls_dodal-1.65.0/tests → dls_dodal-1.67.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
  548. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  549. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/save_panda.py +0 -0
  550. /dls_dodal-1.65.0/src/dodal/plans/scanspec.py → /dls_dodal-1.67.0/src/dodal/plans/spec_path.py +0 -0
  551. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/plans/wrapped.py +0 -0
  552. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  553. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
  554. {dls_dodal-1.65.0/tests/beamlines → dls_dodal-1.67.0/src/dodal/testing/fixtures}/__init__.py +0 -0
  555. {dls_dodal-1.65.0/tests/common → dls_dodal-1.67.0/src/dodal/testing/fixtures/devices}/__init__.py +0 -0
  556. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/testing/fixtures/run_engine.py +0 -0
  557. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/src/dodal/testing/fixtures/utils.py +0 -0
  558. {dls_dodal-1.65.0/tests/common/beamlines → dls_dodal-1.67.0/system_tests}/__init__.py +0 -0
  559. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/system_tests/test_adsim.py +0 -0
  560. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/system_tests/test_oav_system.py +0 -0
  561. {dls_dodal-1.65.0/tests/devices → dls_dodal-1.67.0/tests}/__init__.py +0 -0
  562. {dls_dodal-1.65.0/tests/devices/aithre_lasershaping → dls_dodal-1.67.0/tests/beamlines}/__init__.py +0 -0
  563. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/beamlines/test_b16.py +0 -0
  564. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/beamlines/test_i03.py +0 -0
  565. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/beamlines/test_i24.py +0 -0
  566. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/beamlines/test_mapping.py +0 -0
  567. {dls_dodal-1.65.0/tests/devices/b07_1 → dls_dodal-1.67.0/tests/common}/__init__.py +0 -0
  568. {dls_dodal-1.65.0/tests/devices/current_amplifier → dls_dodal-1.67.0/tests/common/beamlines}/__init__.py +0 -0
  569. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  570. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  571. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_coordination.py +0 -0
  572. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_crystal_metadata.py +0 -0
  573. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_maths.py +0 -0
  574. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_udc_directory_provider.py +0 -0
  575. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_visit.py +0 -0
  576. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/common/test_watcher_utils.py +0 -0
  577. {dls_dodal-1.65.0/tests/devices/detector → dls_dodal-1.67.0/tests/devices}/__init__.py +0 -0
  578. {dls_dodal-1.65.0/tests/devices/electron_analyser → dls_dodal-1.67.0/tests/devices/aithre_lasershaping}/__init__.py +0 -0
  579. {dls_dodal-1.65.0/tests/devices/electron_analyser/abstract → dls_dodal-1.67.0/tests/devices/b07_1}/__init__.py +0 -0
  580. {dls_dodal-1.65.0/tests/devices/electron_analyser/specs → dls_dodal-1.67.0/tests/devices/current_amplifier}/__init__.py +0 -0
  581. {dls_dodal-1.65.0/tests/devices/electron_analyser/vgscienta → dls_dodal-1.67.0/tests/devices/detector}/__init__.py +0 -0
  582. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/detector/test_data/__init__.py +0 -0
  583. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  584. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
  585. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/detector/test_det_resolution.py +0 -0
  586. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/detector/test_detector.py +0 -0
  587. {dls_dodal-1.65.0/tests/devices/i02_1 → dls_dodal-1.67.0/tests/devices/electron_analyser}/__init__.py +0 -0
  588. {dls_dodal-1.65.0/tests/devices/i03 → dls_dodal-1.67.0/tests/devices/electron_analyser/abstract}/__init__.py +0 -0
  589. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
  590. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  591. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  592. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  593. {dls_dodal-1.65.0/tests/devices/i04 → dls_dodal-1.67.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
  594. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/specs/test_region.py +0 -0
  595. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  596. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  597. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  598. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_detector.py +0 -0
  599. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_energy_sources.py +0 -0
  600. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/test_util.py +0 -0
  601. {dls_dodal-1.65.0/tests/devices/i07 → dls_dodal-1.67.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
  602. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
  603. {dls_dodal-1.65.0/tests/devices/i09 → dls_dodal-1.67.0/tests/devices/i02_1}/__init__.py +0 -0
  604. {dls_dodal-1.65.0/tests/devices/i09_1 → dls_dodal-1.67.0/tests/devices/i03}/__init__.py +0 -0
  605. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i03/test_dcm.py +0 -0
  606. {dls_dodal-1.65.0/tests/devices/i09_1_shared → dls_dodal-1.67.0/tests/devices/i04}/__init__.py +0 -0
  607. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i07/test_dcm.py +0 -0
  608. {dls_dodal-1.65.0/tests/devices/i10 → dls_dodal-1.67.0/tests/devices/i09}/__init__.py +0 -0
  609. {dls_dodal-1.65.0/tests/devices/i11 → dls_dodal-1.67.0/tests/devices/i09_1}/__init__.py +0 -0
  610. {dls_dodal-1.65.0/tests/devices/i13_1 → dls_dodal-1.67.0/tests/devices/i09_1_shared}/__init__.py +0 -0
  611. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i09_1_shared/test_data/__init__.py +0 -0
  612. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i09_1_shared/test_data/test_lookuptable_i09_hu.txt +0 -0
  613. {dls_dodal-1.65.0/tests/devices/i15 → dls_dodal-1.67.0/tests/devices/i09_2_shared}/__init__.py +0 -0
  614. {dls_dodal-1.65.0/tests/devices/i17 → dls_dodal-1.67.0/tests/devices/i10}/__init__.py +0 -0
  615. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  616. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  617. {dls_dodal-1.65.0/tests/devices/i18 → dls_dodal-1.67.0/tests/devices/i11}/__init__.py +0 -0
  618. {dls_dodal-1.65.0/tests/devices/i19 → dls_dodal-1.67.0/tests/devices/i13_1}/__init__.py +0 -0
  619. {dls_dodal-1.65.0/tests/devices/i19/access_controlled → dls_dodal-1.67.0/tests/devices/i15}/__init__.py +0 -0
  620. {dls_dodal-1.65.0/tests/devices/i22 → dls_dodal-1.67.0/tests/devices/i17}/__init__.py +0 -0
  621. {dls_dodal-1.65.0/tests/devices/i24 → dls_dodal-1.67.0/tests/devices/i18}/__init__.py +0 -0
  622. {dls_dodal-1.65.0/tests/devices/mx_phase1 → dls_dodal-1.67.0/tests/devices/i19}/__init__.py +0 -0
  623. {dls_dodal-1.65.0/tests/devices/oav → dls_dodal-1.67.0/tests/devices/i19/access_controlled}/__init__.py +0 -0
  624. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/test_backlight.py +0 -0
  625. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i19/test_beamstop.py +0 -0
  626. {dls_dodal-1.65.0/tests/devices/oav/image_recognition → dls_dodal-1.67.0/tests/devices/i22}/__init__.py +0 -0
  627. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i22/test_metadataholder.py +0 -0
  628. {dls_dodal-1.65.0/tests/devices/p60 → dls_dodal-1.67.0/tests/devices/i24}/__init__.py +0 -0
  629. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/i24/test_focus_mirrors.py +0 -0
  630. {dls_dodal-1.65.0/tests/devices/p99 → dls_dodal-1.67.0/tests/devices/insertion_device}/__init__.py +0 -0
  631. {dls_dodal-1.65.0/tests/devices/temperature_controller → dls_dodal-1.67.0/tests/devices/mx_phase1}/__init__.py +0 -0
  632. {dls_dodal-1.65.0/tests/devices/temperature_controller/lakeshore → dls_dodal-1.67.0/tests/devices/oav}/__init__.py +0 -0
  633. {dls_dodal-1.65.0/tests/devices/util → dls_dodal-1.67.0/tests/devices/oav/image_recognition}/__init__.py +0 -0
  634. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_data/__init__.py +0 -0
  635. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  636. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  637. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  638. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_grid_overlay.py +0 -0
  639. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_oav_parameters.py +0 -0
  640. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  641. {dls_dodal-1.65.0/tests/fake_zocalo → dls_dodal-1.67.0/tests/devices/p60}/__init__.py +0 -0
  642. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/p60/test_lab_xray_source.py +0 -0
  643. {dls_dodal-1.65.0/tests/plan_stubs → dls_dodal-1.67.0/tests/devices/p99}/__init__.py +0 -0
  644. {dls_dodal-1.65.0/tests/plans → dls_dodal-1.67.0/tests/devices/temperature_controller}/__init__.py +0 -0
  645. {dls_dodal-1.65.0/tests/plans/test_preprocessors → dls_dodal-1.67.0/tests/devices/temperature_controller/lakeshore}/__init__.py +0 -0
  646. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +0 -0
  647. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +0 -0
  648. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_aperture.py +0 -0
  649. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_baton.py +0 -0
  650. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_beam_converter.py +0 -0
  651. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_controllers.py +0 -0
  652. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
  653. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  654. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  655. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  656. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  657. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  658. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_data/__init__.py +0 -0
  659. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  660. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
  661. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_diamond_filter.py +0 -0
  662. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_fast_shutters.py +0 -0
  663. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_odin.py +0 -0
  664. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_qbpm.py +0 -0
  665. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_webcam.py +0 -0
  666. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
  667. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_zocalo_interaction.py +0 -0
  668. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/test_zocalo_results.py +0 -0
  669. {dls_dodal-1.65.0/tests/preprocessors → dls_dodal-1.67.0/tests/devices/util}/__init__.py +0 -0
  670. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_adjuster_plans.py +0 -0
  671. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_data/__init__.py +0 -0
  672. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  673. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  674. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  675. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/devices/util/test_lookup_tables.py +0 -0
  676. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  677. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_zocalo/README.rst +0 -0
  678. {dls_dodal-1.65.0/tests/testing → dls_dodal-1.67.0/tests/fake_zocalo}/__init__.py +0 -0
  679. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  680. {dls_dodal-1.65.0/tests/testing/fixtures → dls_dodal-1.67.0/tests/plan_stubs}/__init__.py +0 -0
  681. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_data/__init__.py +0 -0
  682. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  683. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  684. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_data_session.py +0 -0
  685. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  686. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_compliance.py +0 -0
  687. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  688. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_save_panda.py +0 -0
  689. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_scanspec.py +0 -0
  690. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/plans/test_wrapped.py +0 -0
  691. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  692. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/__init__.py +0 -0
  693. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/bad_beamlineParameters +0 -0
  694. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/i04_beamlineParameters +0 -0
  695. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  696. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/test_display.configuration +0 -0
  697. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
  698. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/test_log.py +0 -0
  699. {dls_dodal-1.65.0 → dls_dodal-1.67.0}/tests/testing/fixtures/test_run_engine.py +0 -0
@@ -7,7 +7,7 @@ jobs:
7
7
 
8
8
  steps:
9
9
  - name: Checkout
10
- uses: actions/checkout@v4
10
+ uses: actions/checkout@v5
11
11
  with:
12
12
  # Need this to get version number from last tag
13
13
  fetch-depth: 0
@@ -18,7 +18,7 @@ jobs:
18
18
  pipx run build
19
19
 
20
20
  - name: Upload sdist and wheel as artifacts
21
- uses: actions/upload-artifact@v4
21
+ uses: actions/upload-artifact@v5
22
22
  with:
23
23
  name: dist
24
24
  path: dist
@@ -12,7 +12,7 @@ jobs:
12
12
  run: sleep 60
13
13
 
14
14
  - name: Checkout
15
- uses: actions/checkout@v4
15
+ uses: actions/checkout@v5
16
16
  with:
17
17
  # Need this to get version number from last tag
18
18
  fetch-depth: 0
@@ -30,7 +30,7 @@ jobs:
30
30
  run: rm build/html/.doctrees/environment.pickle
31
31
 
32
32
  - name: Upload built docs artifact
33
- uses: actions/upload-artifact@v4
33
+ uses: actions/upload-artifact@v5
34
34
  with:
35
35
  name: docs
36
36
  path: build
@@ -8,7 +8,7 @@ jobs:
8
8
 
9
9
  steps:
10
10
  - name: Download dist artifact
11
- uses: actions/download-artifact@v4
11
+ uses: actions/download-artifact@v6
12
12
  with:
13
13
  name: dist
14
14
  path: dist
@@ -7,7 +7,7 @@ jobs:
7
7
 
8
8
  steps:
9
9
  - name: Download artifacts
10
- uses: actions/download-artifact@v4
10
+ uses: actions/download-artifact@v6
11
11
  with:
12
12
  merge-multiple: true
13
13
 
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Create GitHub Release
24
24
  # We pin to the SHA, not the tag, for security reasons.
25
25
  # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
26
- uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
26
+ uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2
27
27
  with:
28
28
  prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
29
29
  files: "*"
@@ -23,7 +23,7 @@ jobs:
23
23
 
24
24
  steps:
25
25
  - name: Checkout
26
- uses: actions/checkout@v4
26
+ uses: actions/checkout@v5
27
27
  with:
28
28
  # Need this to get version number from last tag
29
29
  fetch-depth: 0
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  - if: inputs.python-version == 'dev'
40
40
  name: Upload dev-requirements.txt
41
- uses: actions/upload-artifact@v4
41
+ uses: actions/upload-artifact@v5
42
42
  with:
43
43
  name: dev-requirements
44
44
  path: /tmp/dev-requirements.txt
@@ -58,13 +58,13 @@ jobs:
58
58
  python .github/scripts/check_test_durations.py unit-report.json 1
59
59
 
60
60
  - name: Checkout simulated devices
61
- uses: actions/checkout@v4
61
+ uses: actions/checkout@v5
62
62
  with:
63
63
  repository: epics-containers/example-services
64
64
  path: example-services
65
65
 
66
66
  - name: Run docker compose
67
- uses: hoverkraft-tech/compose-action@v2.3.0
67
+ uses: hoverkraft-tech/compose-action@v2.4.1
68
68
  with:
69
69
  compose-file: "./example-services/compose.yaml"
70
70
  services: |
@@ -13,7 +13,7 @@ jobs:
13
13
 
14
14
  steps:
15
15
  - name: Checkout
16
- uses: actions/checkout@v4
16
+ uses: actions/checkout@v5
17
17
  with:
18
18
  fetch-depth: 0
19
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.65.0
3
+ Version: 1.67.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
@@ -215,10 +215,9 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async[ca,pva]>=0.13.5
218
+ Requires-Dist: ophyd-async[ca,pva]>=v0.14.0
219
219
  Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
- Requires-Dist: dataclasses-json
222
221
  Requires-Dist: pillow
223
222
  Requires-Dist: zocalo>=1.0.0
224
223
  Requires-Dist: requests
@@ -240,7 +239,7 @@ Requires-Dist: import-linter; extra == "dev"
240
239
  Requires-Dist: ispyb; extra == "dev"
241
240
  Requires-Dist: mypy; extra == "dev"
242
241
  Requires-Dist: myst-parser; extra == "dev"
243
- Requires-Dist: ophyd_async[sim]; extra == "dev"
242
+ Requires-Dist: ophyd_async[sim]>=v0.14.0; extra == "dev"
244
243
  Requires-Dist: pipdeptree; extra == "dev"
245
244
  Requires-Dist: pre-commit; extra == "dev"
246
245
  Requires-Dist: psutil; extra == "dev"
@@ -23,28 +23,31 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
23
23
 
24
24
  ```python
25
25
 
26
+ from functools import cache
27
+ from pathlib import Path
28
+ from ophyd_async.core import PathProvider
26
29
  from ophyd_async.epics.adaravis import AravisDetector
27
30
 
28
- from dodal.common.beamlines.beamline_utils import (
29
- device_factory,
30
- get_path_provider,
31
- set_path_provider,
32
- )
33
31
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
34
32
  from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
35
- from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
33
+ from dodal.common.visit import RemoteDirectoryServiceClient, StaticVisitPathProvider
34
+ from dodal.device_manager import DeviceManager
36
35
  from dodal.devices.synchrotron import Synchrotron
37
36
  from dodal.log import set_beamline as set_log_beamline
38
- from dodal.utils import BeamlinePrefix
37
+ from dodal.utils import BeamlinePrefix, get_beamline_name
39
38
 
40
39
  BL = get_beamline_name("s41") # Default used when not on a live beamline
41
40
  PREFIX = BeamlinePrefix(BL)
42
41
  set_log_beamline(BL) # Configure logging and util functions
43
42
  set_utils_beamline(BL)
44
43
 
45
- # Currently we must hard-code the visit, determining the visit is WIP.
46
- set_path_provider(
47
- StaticVisitPathProvider(
44
+ devices = DeviceManager()
45
+
46
+ @devices.fixture
47
+ @cache
48
+ def path_provider() -> PathProvider:
49
+ # Currently we must hard-code the visit, determining the visit is WIP.
50
+ return StaticVisitPathProvider(
48
51
  BL,
49
52
  # Root directory for all detectors
50
53
  Path("/dls/w41/data/YYYY/cm12345-1"),
@@ -52,7 +55,7 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
52
55
  client=RemoteDirectoryServiceClient("http://s41-control:8088/api"),
53
56
  # Else if no GDA server use a LocalDirectoryServiceClient(),
54
57
  )
55
- )
58
+
56
59
 
57
60
  """
58
61
  Define device factory functions below this point.
@@ -63,23 +66,22 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
63
66
  """
64
67
  This decorator gives extra desirable behaviour to this factory function:
65
68
  - it may be instantiated automatically, selectively on live beamline
66
- - caching and re-using the result for subsequent calls
67
69
  - it automatically names the device if no name is explicitly set
68
70
  - it may be skipped when make_all_devices is called on this module
69
71
  - it must be explicitly connected (which may be automated by tools)
70
72
  - when connected it may connect to a simulated backend
71
73
  - it may be connected concurrently (when automated by tools)
72
- """"
73
- @device_factory(skip = BL == "s41")
74
+ """
75
+ @devices.factory(skip = BL == "s41")
74
76
  def synchrotron() -> Synchrotron:
75
77
  return Synchrotron()
76
78
 
77
79
 
78
- @device_factory()
79
- def d11() -> AravisDetector:
80
+ @devices.factory()
81
+ def d11(path_provider: PathProvider) -> AravisDetector:
80
82
  return AravisDetector(
81
83
  f"{PREFIX.beamline_prefix}-DI-DCAM-01:",
82
- path_provider=get_path_provider(),
84
+ path_provider=path_provider,
83
85
  drv_suffix=CAM_SUFFIX,
84
86
  fileio_suffix=HDF5_SUFFIX,
85
87
  )
@@ -0,0 +1,35 @@
1
+ Tidying the dodal docs
2
+ ======================
3
+
4
+ The dodal documentation gradually accumulates a quantity of "ghost" files in the
5
+ `main` folder of the `gh-pages` branch that are not deleted, due to operation of
6
+ the `gh-pages` github action to support multiple versions of the documentation.
7
+
8
+ To remedy this, create a separate workspace using `git worktree` and prune the excess pages by doing the following (replace 1.62.0 with whatever the most recent version is):
9
+
10
+ ```
11
+ git worktree add ../gh-pages --checkout gh-pages
12
+ cd ../gh-pages
13
+ diff -rq 1.62.0 main | grep "Only in main" > diff.txt
14
+
15
+ ```
16
+
17
+ In your favourite editor, find and replace the output in diff.txt with the following regex
18
+
19
+ `Only in (main[^:] *): (.*)` replace with `$1/$2`
20
+
21
+ then after saving it
22
+
23
+ ```commandline
24
+ for f in `cat diff.txt`; do rm -r $f; done
25
+ git add -u main
26
+ git status # Check the files over to make sure this is what you expect
27
+ git commit --no-verify
28
+ git push
29
+ ```
30
+
31
+ Once pushed, GitHub CI should automatically run and push the pages to github docs.
32
+
33
+ In order to avoid potentially removing some files due to differences between main and the
34
+ last release, ideally do this just after a fresh release). Although any files thus missing
35
+ should reappear after then next PR merge.
@@ -7,7 +7,7 @@ Testing is essential to maintain the integrity and reliability of the codebase.
7
7
  - **Unit Tests**: Place unit tests for individual components in the `tests` directory, but take care to mirror the file structure of the `src` folder with the corresponding code files. Use the `test_*.py` naming convention for test files.
8
8
  - **System Tests**: Tests that interact with DLS infrastructure, network, and filesystem should be placed in the top-level `systems_test` folder. This separation ensures that these tests are easily identifiable and can be run independently from unit tests.
9
9
 
10
- Useful functions for testing that can be reused across multiple tests for common devices and for external plan repositories belong in the `dodal/testing` directory. For example, when mocking a `Motor` device, all of the signals will default to zero, which will cause errors when trying to move. The `patch_motor` and `patch_all_motors` functions, found in `dodal.testing`, will populate the mocked motor with useful default values for the signals so that it can still be used in tests.
10
+ Useful functions for testing that can be reused across multiple tests for common devices and for external plan repositories belong in the `dodal/testing` directory.
11
11
 
12
12
 
13
13
  ## Writing a test for a device
@@ -14,10 +14,9 @@ description = "Ophyd devices and other utils that could be used across DLS beaml
14
14
  dependencies = [
15
15
  "click",
16
16
  "ophyd",
17
- "ophyd-async[ca,pva]>=0.13.5",
17
+ "ophyd-async[ca,pva]>=v0.14.0",
18
18
  "bluesky>=1.14.5",
19
19
  "pyepics",
20
- "dataclasses-json",
21
20
  "pillow",
22
21
  "zocalo>=1.0.0",
23
22
  "requests",
@@ -49,7 +48,7 @@ dev = [
49
48
  # Commented out due to dependency version conflict with pydantic 1.x
50
49
  # "copier",
51
50
  "myst-parser",
52
- "ophyd_async[sim]",
51
+ "ophyd_async[sim]>=v0.14.0",
53
52
  "pipdeptree",
54
53
  "pre-commit",
55
54
  "psutil",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.65.0
3
+ Version: 1.67.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
@@ -215,10 +215,9 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async[ca,pva]>=0.13.5
218
+ Requires-Dist: ophyd-async[ca,pva]>=v0.14.0
219
219
  Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
- Requires-Dist: dataclasses-json
222
221
  Requires-Dist: pillow
223
222
  Requires-Dist: zocalo>=1.0.0
224
223
  Requires-Dist: requests
@@ -240,7 +239,7 @@ Requires-Dist: import-linter; extra == "dev"
240
239
  Requires-Dist: ispyb; extra == "dev"
241
240
  Requires-Dist: mypy; extra == "dev"
242
241
  Requires-Dist: myst-parser; extra == "dev"
243
- Requires-Dist: ophyd_async[sim]; extra == "dev"
242
+ Requires-Dist: ophyd_async[sim]>=v0.14.0; extra == "dev"
244
243
  Requires-Dist: pipdeptree; extra == "dev"
245
244
  Requires-Dist: pre-commit; extra == "dev"
246
245
  Requires-Dist: psutil; extra == "dev"
@@ -67,6 +67,7 @@ docs/how-to/move-code.md
67
67
  docs/how-to/pypi.md
68
68
  docs/how-to/run-tests.md
69
69
  docs/how-to/static-analysis.md
70
+ docs/how-to/tidy-docs.md
70
71
  docs/how-to/update-template.md
71
72
  docs/how-to/write-tests.md
72
73
  docs/how-to/zocalo.md
@@ -88,10 +89,10 @@ src/dodal/__init__.py
88
89
  src/dodal/__main__.py
89
90
  src/dodal/_version.py
90
91
  src/dodal/cli.py
92
+ src/dodal/device_manager.py
91
93
  src/dodal/log.py
92
94
  src/dodal/utils.py
93
95
  src/dodal/beamline_specific_utils/__init__.py
94
- src/dodal/beamline_specific_utils/i03.py
95
96
  src/dodal/beamline_specific_utils/i05_shared.py
96
97
  src/dodal/beamlines/README.md
97
98
  src/dodal/beamlines/__init__.py
@@ -109,6 +110,7 @@ src/dodal/beamlines/i03.py
109
110
  src/dodal/beamlines/i04.py
110
111
  src/dodal/beamlines/i05.py
111
112
  src/dodal/beamlines/i05_1.py
113
+ src/dodal/beamlines/i06.py
112
114
  src/dodal/beamlines/i07.py
113
115
  src/dodal/beamlines/i09.py
114
116
  src/dodal/beamlines/i09_1.py
@@ -156,7 +158,6 @@ src/dodal/common/beamlines/device_helpers.py
156
158
  src/dodal/devices/__init__.py
157
159
  src/dodal/devices/aperture.py
158
160
  src/dodal/devices/aperturescatterguard.py
159
- src/dodal/devices/apple2_undulator.py
160
161
  src/dodal/devices/backlight.py
161
162
  src/dodal/devices/baton.py
162
163
  src/dodal/devices/bimorph_mirror.py
@@ -215,6 +216,8 @@ src/dodal/devices/b07_1/ccmc.py
215
216
  src/dodal/devices/b07_1/enums.py
216
217
  src/dodal/devices/b16/__init__.py
217
218
  src/dodal/devices/b16/detector.py
219
+ src/dodal/devices/beamsize/__init__.py
220
+ src/dodal/devices/beamsize/beamsize.py
218
221
  src/dodal/devices/current_amplifiers/__init__.py
219
222
  src/dodal/devices/current_amplifiers/current_amplifier.py
220
223
  src/dodal/devices/current_amplifiers/current_amplifier_detector.py
@@ -253,22 +256,30 @@ src/dodal/devices/i02_1/fast_grid_scan.py
253
256
  src/dodal/devices/i02_1/sample_motors.py
254
257
  src/dodal/devices/i02_2/__init__.py
255
258
  src/dodal/devices/i03/__init__.py
259
+ src/dodal/devices/i03/beamsize.py
260
+ src/dodal/devices/i03/constants.py
256
261
  src/dodal/devices/i03/dcm.py
257
262
  src/dodal/devices/i03/undulator_dcm.py
258
263
  src/dodal/devices/i04/__init__.py
264
+ src/dodal/devices/i04/beamsize.py
259
265
  src/dodal/devices/i04/constants.py
266
+ src/dodal/devices/i04/max_pixel.py
260
267
  src/dodal/devices/i04/murko_results.py
261
268
  src/dodal/devices/i04/transfocator.py
262
269
  src/dodal/devices/i05/__init__.py
263
270
  src/dodal/devices/i05/enums.py
264
271
  src/dodal/devices/i07/__init__.py
265
272
  src/dodal/devices/i07/dcm.py
273
+ src/dodal/devices/i07/id.py
266
274
  src/dodal/devices/i09/__init__.py
267
275
  src/dodal/devices/i09/enums.py
268
276
  src/dodal/devices/i09_1/__init__.py
269
277
  src/dodal/devices/i09_1/enums.py
270
278
  src/dodal/devices/i09_1_shared/__init__.py
279
+ src/dodal/devices/i09_1_shared/hard_energy.py
271
280
  src/dodal/devices/i09_1_shared/hard_undulator_functions.py
281
+ src/dodal/devices/i09_2_shared/__init__.py
282
+ src/dodal/devices/i09_2_shared/i09_apple2.py
272
283
  src/dodal/devices/i10/__init__.py
273
284
  src/dodal/devices/i10/diagnostics.py
274
285
  src/dodal/devices/i10/i10_apple2.py
@@ -308,6 +319,7 @@ src/dodal/devices/i19/diffractometer.py
308
319
  src/dodal/devices/i19/mapt_configuration.py
309
320
  src/dodal/devices/i19/pin_col_stages.py
310
321
  src/dodal/devices/i19/access_controlled/__init__.py
322
+ src/dodal/devices/i19/access_controlled/attenuator_motor_squad.py
311
323
  src/dodal/devices/i19/access_controlled/blueapi_device.py
312
324
  src/dodal/devices/i19/access_controlled/hutch_access.py
313
325
  src/dodal/devices/i19/access_controlled/shutter.py
@@ -328,6 +340,10 @@ src/dodal/devices/i24/dual_backlight.py
328
340
  src/dodal/devices/i24/focus_mirrors.py
329
341
  src/dodal/devices/i24/pmac.py
330
342
  src/dodal/devices/i24/vgonio.py
343
+ src/dodal/devices/insertion_device/__init__.py
344
+ src/dodal/devices/insertion_device/apple2_undulator.py
345
+ src/dodal/devices/insertion_device/energy_motor_lookup.py
346
+ src/dodal/devices/insertion_device/lookup_table_models.py
331
347
  src/dodal/devices/mx_phase1/__init__.py
332
348
  src/dodal/devices/mx_phase1/beamstop.py
333
349
  src/dodal/devices/oav/__init__.py
@@ -379,19 +395,20 @@ src/dodal/plan_stubs/wrapped.py
379
395
  src/dodal/plans/__init__.py
380
396
  src/dodal/plans/bimorph.py
381
397
  src/dodal/plans/configure_arm_trigger_and_disarm_detector.py
398
+ src/dodal/plans/load_panda_yaml.py
382
399
  src/dodal/plans/save_panda.py
383
- src/dodal/plans/scanspec.py
400
+ src/dodal/plans/spec_path.py
384
401
  src/dodal/plans/verify_undulator_gap.py
385
402
  src/dodal/plans/wrapped.py
386
403
  src/dodal/plans/preprocessors/__init__.py
387
404
  src/dodal/plans/preprocessors/verify_undulator_gap.py
388
- src/dodal/testing/__init__.py
389
- src/dodal/testing/setup.py
390
405
  src/dodal/testing/electron_analyser/__init__.py
391
406
  src/dodal/testing/electron_analyser/device_factory.py
392
407
  src/dodal/testing/fixtures/__init__.py
393
408
  src/dodal/testing/fixtures/run_engine.py
394
409
  src/dodal/testing/fixtures/utils.py
410
+ src/dodal/testing/fixtures/devices/__init__.py
411
+ src/dodal/testing/fixtures/devices/apple2.py
395
412
  system_tests/__init__.py
396
413
  system_tests/test_adsim.py
397
414
  system_tests/test_cli.py
@@ -408,6 +425,7 @@ tests/fake_beamline_misbehaving_builtins.py
408
425
  tests/fake_beamline_some_devices_working.py
409
426
  tests/fake_device_factory_beamline.py
410
427
  tests/test_cli.py
428
+ tests/test_device_manager.py
411
429
  tests/test_log.py
412
430
  tests/test_utils.py
413
431
  tests/beamlines/__init__.py
@@ -428,9 +446,9 @@ tests/common/beamlines/test_beamline_utils.py
428
446
  tests/common/beamlines/test_commissioning_mode.py
429
447
  tests/common/beamlines/test_device_instantiation.py
430
448
  tests/devices/__init__.py
449
+ tests/devices/conftest.py
431
450
  tests/devices/test_aperture.py
432
451
  tests/devices/test_aperture_scatterguard.py
433
- tests/devices/test_apple2_undulator.py
434
452
  tests/devices/test_attenuator.py
435
453
  tests/devices/test_backlight.py
436
454
  tests/devices/test_bart_robot.py
@@ -507,28 +525,42 @@ tests/devices/electron_analyser/vgscienta/test_region.py
507
525
  tests/devices/i02_1/__init__.py
508
526
  tests/devices/i02_1/test_fast_grid_scan.py
509
527
  tests/devices/i03/__init__.py
528
+ tests/devices/i03/test_beamsize.py
510
529
  tests/devices/i03/test_dcm.py
511
530
  tests/devices/i03/test_undulator_dcm.py
512
531
  tests/devices/i04/__init__.py
532
+ tests/devices/i04/conftest.py
533
+ tests/devices/i04/test_beamsize.py
534
+ tests/devices/i04/test_max_pixel.py
513
535
  tests/devices/i04/test_murko_results.py
514
536
  tests/devices/i04/test_transfocator.py
537
+ tests/devices/i07/IIDCalibrationTable.txt
515
538
  tests/devices/i07/__init__.py
516
539
  tests/devices/i07/test_dcm.py
540
+ tests/devices/i07/test_id.py
517
541
  tests/devices/i09/__init__.py
518
542
  tests/devices/i09_1/__init__.py
519
543
  tests/devices/i09_1_shared/__init__.py
544
+ tests/devices/i09_1_shared/test_hard_energy.py
520
545
  tests/devices/i09_1_shared/test_undulator_functions.py
521
546
  tests/devices/i09_1_shared/test_data/__init__.py
522
547
  tests/devices/i09_1_shared/test_data/test_lookuptable_i09_hu.txt
548
+ tests/devices/i09_2_shared/__init__.py
549
+ tests/devices/i09_2_shared/test_i09_apple2.py
550
+ tests/devices/i09_2_shared/test_data/ExpectedJIDEnergy2GapCalibrations.json
551
+ tests/devices/i09_2_shared/test_data/ExpectedJIDEnergy2PhaseCalibrations.json
552
+ tests/devices/i09_2_shared/test_data/JIDEnergy2GapCalibrations.csv
553
+ tests/devices/i09_2_shared/test_data/JIDEnergy2PhaseCalibrations.csv
554
+ tests/devices/i09_2_shared/test_data/__init__.py
523
555
  tests/devices/i10/__init__.py
524
556
  tests/devices/i10/test_i10_apple2.py
525
557
  tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv
526
558
  tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv
527
559
  tests/devices/i10/test_data/__init__.py
528
- tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl
529
- tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl
530
- tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl
531
- tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl
560
+ tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json
561
+ tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json
562
+ tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json
563
+ tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json
532
564
  tests/devices/i11/__init__.py
533
565
  tests/devices/i11/test_i11devices.py
534
566
  tests/devices/i11/test_mythen.py
@@ -546,6 +578,8 @@ tests/devices/i19/test_diffractometer.py
546
578
  tests/devices/i19/test_mapt.py
547
579
  tests/devices/i19/test_pin_col.py
548
580
  tests/devices/i19/access_controlled/__init__.py
581
+ tests/devices/i19/access_controlled/test_attenuator_motor_squad.py
582
+ tests/devices/i19/access_controlled/test_attenuator_position_demand.py
549
583
  tests/devices/i19/access_controlled/test_shutter.py
550
584
  tests/devices/i22/__init__.py
551
585
  tests/devices/i22/test_dcm.py
@@ -557,6 +591,12 @@ tests/devices/i24/test_dual_backlight.py
557
591
  tests/devices/i24/test_focus_mirrors.py
558
592
  tests/devices/i24/test_pmac.py
559
593
  tests/devices/i24/test_vgonio.py
594
+ tests/devices/insertion_device/__init__.py
595
+ tests/devices/insertion_device/conftest.py
596
+ tests/devices/insertion_device/test_apple2_undulator.py
597
+ tests/devices/insertion_device/test_energy_motor_lookup.py
598
+ tests/devices/insertion_device/test_lookup_tables_models.py
599
+ tests/devices/insertion_device/util.py
560
600
  tests/devices/mx_phase1/__init__.py
561
601
  tests/devices/mx_phase1/test_beamstop.py
562
602
  tests/devices/oav/__init__.py
@@ -594,7 +634,6 @@ tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt
594
634
  tests/devices/test_data/test_lookup_table.txt
595
635
  tests/devices/util/__init__.py
596
636
  tests/devices/util/test_adjuster_plans.py
597
- tests/devices/util/test_beamline_specific_utils.py
598
637
  tests/devices/util/test_lookup_tables.py
599
638
  tests/devices/util/test_data/__init__.py
600
639
  tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt
@@ -617,6 +656,7 @@ tests/plans/conftest.py
617
656
  tests/plans/test_bimorph.py
618
657
  tests/plans/test_compliance.py
619
658
  tests/plans/test_configure_arm_trigger_and_disarm_detector.py
659
+ tests/plans/test_load_panda_yaml.py
620
660
  tests/plans/test_save_panda.py
621
661
  tests/plans/test_scanspec.py
622
662
  tests/plans/test_verify_undulator_gap_plan.py
@@ -1,9 +1,8 @@
1
1
  click
2
2
  ophyd
3
- ophyd-async[ca,pva]>=0.13.5
3
+ ophyd-async[ca,pva]>=v0.14.0
4
4
  bluesky>=1.14.5
5
5
  pyepics
6
- dataclasses-json
7
6
  pillow
8
7
  zocalo>=1.0.0
9
8
  requests
@@ -26,7 +25,7 @@ import-linter
26
25
  ispyb
27
26
  mypy
28
27
  myst-parser
29
- ophyd_async[sim]
28
+ ophyd_async[sim]>=v0.14.0
30
29
  pipdeptree
31
30
  pre-commit
32
31
  psutil
@@ -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.65.0'
32
- __version_tuple__ = version_tuple = (1, 65, 0)
31
+ __version__ = version = '1.67.0'
32
+ __version_tuple__ = version_tuple = (1, 67, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g5fe631f29'
34
+ __commit_id__ = commit_id = 'gdfd2eada3'
@@ -7,12 +7,19 @@ from dodal.devices.oav.oav_parameters import OAVConfigBeamCentre
7
7
  ZOOM_PARAMS_FILE = "/dls_sw/i23/software/aithre/aithre_oav.xml"
8
8
  DISPLAY_CONFIG = "/dls_sw/i23/software/aithre/aithre_display.configuration"
9
9
 
10
+
10
11
  PREFIX = "LA18L"
11
12
 
12
13
 
13
14
  @device_factory()
14
15
  def goniometer() -> Goniometer:
15
- return Goniometer(f"{PREFIX}-MO-LSR-01:")
16
+ return Goniometer(
17
+ f"{PREFIX}-MO-LSR-01:",
18
+ y_infix="SAMPZ",
19
+ z_infix="SAMPY",
20
+ sampy_infix="Y",
21
+ sampz_infix="Z",
22
+ )
16
23
 
17
24
 
18
25
  @device_factory()
@@ -22,8 +29,20 @@ def robot() -> LaserRobot:
22
29
 
23
30
  @device_factory()
24
31
  def oav(params: OAVConfigBeamCentre | None = None) -> OAVBeamCentreFile:
32
+ config = (
33
+ params
34
+ if params is not None
35
+ else OAVConfigBeamCentre(
36
+ zoom_params_file=ZOOM_PARAMS_FILE, display_config_file=DISPLAY_CONFIG
37
+ )
38
+ )
25
39
  return OAVBeamCentreFile(
26
40
  prefix=f"{PREFIX}-DI-OAV-01:",
27
- config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
41
+ config=config,
28
42
  zoom_controller=NullZoomController(),
43
+ mjpg_x_size_pv="ArraySize0_RBV",
44
+ mjpg_y_size_pv="ArraySize1_RBV",
45
+ x_direction=-1,
46
+ y_direction=-1,
47
+ z_direction=-1,
29
48
  )