dls-dodal 1.69.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

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 (282) hide show
  1. {dls_dodal-1.69.0.dist-info → dls_dodal-2.0.0.dist-info}/METADATA +1 -1
  2. dls_dodal-2.0.0.dist-info/RECORD +354 -0
  3. {dls_dodal-1.69.0.dist-info → dls_dodal-2.0.0.dist-info}/WHEEL +1 -1
  4. dodal/_version.py +2 -2
  5. dodal/beamlines/__init__.py +10 -17
  6. dodal/beamlines/adsim.py +17 -17
  7. dodal/beamlines/b01_1.py +11 -0
  8. dodal/beamlines/b07.py +17 -21
  9. dodal/beamlines/b07_1.py +20 -22
  10. dodal/beamlines/b07_shared.py +12 -0
  11. dodal/beamlines/b16.py +1 -1
  12. dodal/beamlines/b21.py +15 -6
  13. dodal/beamlines/i02_1.py +3 -3
  14. dodal/beamlines/i02_2.py +1 -1
  15. dodal/beamlines/i03.py +4 -4
  16. dodal/beamlines/i04.py +16 -8
  17. dodal/beamlines/i05.py +7 -45
  18. dodal/beamlines/i05_1.py +4 -13
  19. dodal/beamlines/i05_shared.py +51 -0
  20. dodal/beamlines/i06_1.py +7 -5
  21. dodal/beamlines/{i06.py → i06_shared.py} +25 -14
  22. dodal/beamlines/i07.py +14 -16
  23. dodal/beamlines/i09.py +54 -51
  24. dodal/beamlines/i09_1.py +25 -64
  25. dodal/beamlines/i09_1_shared.py +61 -0
  26. dodal/beamlines/i09_2.py +6 -100
  27. dodal/beamlines/i09_2_shared.py +110 -0
  28. dodal/beamlines/i10.py +60 -54
  29. dodal/beamlines/i10_1.py +99 -10
  30. dodal/beamlines/{i10_optics.py → i10_shared.py} +80 -66
  31. dodal/beamlines/i11.py +31 -18
  32. dodal/beamlines/i13_1.py +1 -1
  33. dodal/beamlines/i15.py +6 -6
  34. dodal/beamlines/i15_1.py +6 -6
  35. dodal/beamlines/i17.py +37 -28
  36. dodal/beamlines/i18.py +3 -4
  37. dodal/beamlines/i19_1.py +95 -34
  38. dodal/beamlines/i19_2.py +68 -52
  39. dodal/beamlines/i19_optics.py +26 -13
  40. dodal/beamlines/i20_1.py +6 -14
  41. dodal/beamlines/i21.py +35 -28
  42. dodal/beamlines/i22.py +19 -4
  43. dodal/beamlines/i23.py +1 -2
  44. dodal/beamlines/i24.py +11 -10
  45. dodal/beamlines/k07.py +99 -5
  46. dodal/beamlines/p38.py +3 -3
  47. dodal/beamlines/p60.py +28 -17
  48. dodal/beamlines/p99.py +16 -15
  49. dodal/beamlines/training_rig.py +20 -12
  50. dodal/cli.py +36 -2
  51. dodal/common/beamlines/beamline_parameters.py +2 -1
  52. dodal/common/beamlines/beamline_utils.py +11 -9
  53. dodal/common/beamlines/commissioning_mode.py +6 -3
  54. dodal/common/coordination.py +12 -14
  55. dodal/common/crystal_metadata.py +5 -8
  56. dodal/common/device_utils.py +4 -3
  57. dodal/common/maths.py +28 -40
  58. dodal/common/udc_directory_provider.py +13 -8
  59. dodal/common/visit.py +18 -21
  60. dodal/common/watcher_utils.py +13 -12
  61. dodal/device_manager.py +94 -54
  62. dodal/devices/aperturescatterguard.py +26 -27
  63. dodal/devices/areadetector/plugins/cam.py +1 -3
  64. dodal/devices/areadetector/plugins/mjpg.py +6 -5
  65. dodal/devices/attenuator/attenuator.py +12 -11
  66. dodal/devices/beamlines/b07/__init__.py +3 -0
  67. dodal/devices/{b07_1 → beamlines/b07_1}/__init__.py +2 -2
  68. dodal/devices/{b07_1 → beamlines/b07_1}/ccmc.py +5 -10
  69. dodal/devices/{b16 → beamlines/b16}/detector.py +2 -3
  70. dodal/devices/{i02_1 → beamlines/i02_1}/fast_grid_scan.py +2 -3
  71. dodal/devices/{i02_1 → beamlines/i02_1}/sample_motors.py +1 -1
  72. dodal/devices/{i03 → beamlines/i03}/beamsize.py +11 -7
  73. dodal/devices/{i03 → beamlines/i03}/dcm.py +1 -2
  74. dodal/devices/{i03 → beamlines/i03}/undulator_dcm.py +4 -5
  75. dodal/devices/beamlines/i04/beam_centre.py +151 -0
  76. dodal/devices/{i04 → beamlines/i04}/beamsize.py +11 -7
  77. dodal/devices/{i04 → beamlines/i04}/murko_results.py +5 -5
  78. dodal/devices/{i04 → beamlines/i04}/transfocator.py +10 -15
  79. dodal/devices/beamlines/i05/__init__.py +3 -0
  80. dodal/devices/beamlines/i06_shared/__init__.py +3 -0
  81. dodal/devices/beamlines/i06_shared/i06_enum.py +7 -0
  82. dodal/devices/{i07 → beamlines/i07}/dcm.py +2 -3
  83. dodal/devices/{i07 → beamlines/i07}/id.py +8 -9
  84. dodal/devices/beamlines/i09/__init__.py +3 -0
  85. dodal/devices/{i09_1_shared → beamlines/i09_1_shared}/hard_energy.py +5 -6
  86. dodal/devices/{i09_1_shared → beamlines/i09_1_shared}/hard_undulator_functions.py +19 -16
  87. dodal/devices/{i10 → beamlines/i10}/diagnostics.py +4 -3
  88. dodal/devices/{i10 → beamlines/i10}/i10_apple2.py +31 -45
  89. dodal/devices/{i10 → beamlines/i10}/rasor/rasor_current_amp.py +1 -24
  90. dodal/devices/{i10 → beamlines/i10}/rasor/rasor_motors.py +2 -2
  91. dodal/devices/{i10 → beamlines/i10}/slits.py +5 -3
  92. dodal/devices/beamlines/i10_1/__init__.py +9 -0
  93. dodal/devices/beamlines/i10_1/electromagnet/magnet.py +16 -0
  94. dodal/devices/beamlines/i10_1/electromagnet/stages.py +14 -0
  95. dodal/devices/beamlines/i10_1/scaler_cards.py +13 -0
  96. dodal/devices/{i11 → beamlines/i11}/cyberstar_blower.py +1 -1
  97. dodal/devices/{i11 → beamlines/i11}/diff_stages.py +4 -6
  98. dodal/devices/{i11 → beamlines/i11}/mythen.py +3 -4
  99. dodal/devices/{i11 → beamlines/i11}/nx100robot.py +6 -6
  100. dodal/devices/{i11 → beamlines/i11}/spinner.py +1 -1
  101. dodal/devices/{i13_1 → beamlines/i13_1}/merlin.py +1 -1
  102. dodal/devices/{i15 → beamlines/i15}/dcm.py +1 -2
  103. dodal/devices/{i15 → beamlines/i15}/focussing_mirror.py +5 -5
  104. dodal/devices/{i15 → beamlines/i15}/jack.py +2 -2
  105. dodal/devices/{i15 → beamlines/i15}/multilayer_mirror.py +1 -1
  106. dodal/devices/{i17 → beamlines/i17}/i17_apple2.py +10 -16
  107. dodal/devices/{i18 → beamlines/i18}/diode.py +1 -1
  108. dodal/devices/{i19 → beamlines/i19}/access_controlled/attenuator_motor_squad.py +12 -8
  109. dodal/devices/{i19 → beamlines/i19}/access_controlled/blueapi_device.py +16 -15
  110. dodal/devices/beamlines/i19/access_controlled/piezo_control.py +72 -0
  111. dodal/devices/{i19 → beamlines/i19}/access_controlled/shutter.py +11 -9
  112. dodal/devices/{i19 → beamlines/i19}/backlight.py +3 -1
  113. dodal/devices/{i19 → beamlines/i19}/mapt_configuration.py +2 -1
  114. dodal/devices/{i19 → beamlines/i19}/pin_col_stages.py +11 -8
  115. dodal/devices/beamlines/i19/pin_tip.py +32 -0
  116. dodal/devices/beamlines/i21/__init__.py +3 -0
  117. dodal/devices/{i22 → beamlines/i22}/dcm.py +1 -2
  118. dodal/devices/{i22 → beamlines/i22}/fswitch.py +1 -3
  119. dodal/devices/{i22 → beamlines/i22}/nxsas.py +5 -4
  120. dodal/devices/{i24 → beamlines/i24}/beam_center.py +1 -1
  121. dodal/devices/{i24 → beamlines/i24}/beamstop.py +2 -2
  122. dodal/devices/{i24 → beamlines/i24}/commissioning_jungfrau.py +3 -2
  123. dodal/devices/{i24 → beamlines/i24}/dcm.py +1 -3
  124. dodal/devices/{i24 → beamlines/i24}/dual_backlight.py +3 -3
  125. dodal/devices/{i24 → beamlines/i24}/pmac.py +9 -7
  126. dodal/devices/{p60 → beamlines/p60}/lab_xray_source.py +1 -1
  127. dodal/devices/beamlines/p99/__init__.py +0 -0
  128. dodal/devices/{p99 → beamlines/p99}/andor2_point.py +11 -15
  129. dodal/devices/bimorph_mirror.py +22 -20
  130. dodal/devices/collimation_table.py +3 -2
  131. dodal/devices/common_dcm.py +30 -20
  132. dodal/devices/controllers.py +2 -2
  133. dodal/devices/cryostream.py +8 -0
  134. dodal/devices/current_amplifiers/current_amplifier.py +16 -18
  135. dodal/devices/current_amplifiers/current_amplifier_detector.py +9 -10
  136. dodal/devices/current_amplifiers/femto.py +8 -9
  137. dodal/devices/current_amplifiers/sr570.py +16 -16
  138. dodal/devices/current_amplifiers/struck_scaler_counter.py +5 -5
  139. dodal/devices/detector/det_resolution.py +9 -8
  140. dodal/devices/detector/detector.py +4 -2
  141. dodal/devices/diamond_filter.py +3 -4
  142. dodal/devices/eiger.py +3 -3
  143. dodal/devices/eiger_odin.py +1 -1
  144. dodal/devices/electron_analyser/base/base_controller.py +13 -13
  145. dodal/devices/electron_analyser/base/base_detector.py +15 -20
  146. dodal/devices/electron_analyser/base/base_driver_io.py +39 -46
  147. dodal/devices/electron_analyser/base/base_region.py +27 -30
  148. dodal/devices/electron_analyser/base/base_util.py +18 -16
  149. dodal/devices/electron_analyser/base/energy_sources.py +13 -19
  150. dodal/devices/eurotherm.py +3 -2
  151. dodal/devices/fast_grid_scan.py +31 -34
  152. dodal/devices/fast_shutter.py +24 -21
  153. dodal/devices/flux.py +1 -1
  154. dodal/devices/focusing_mirror.py +29 -11
  155. dodal/devices/hutch_shutter.py +6 -6
  156. dodal/devices/insertion_device/__init__.py +8 -0
  157. dodal/devices/insertion_device/apple2_controller.py +51 -60
  158. dodal/devices/insertion_device/apple2_undulator.py +40 -64
  159. dodal/devices/insertion_device/apple_knot_controller.py +222 -0
  160. dodal/devices/insertion_device/energy.py +100 -27
  161. dodal/devices/insertion_device/energy_motor_lookup.py +20 -27
  162. dodal/devices/insertion_device/lookup_table_models.py +45 -50
  163. dodal/devices/insertion_device/polarisation.py +1 -1
  164. dodal/devices/ipin.py +1 -1
  165. dodal/devices/linkam3.py +7 -5
  166. dodal/devices/motors.py +107 -19
  167. dodal/devices/mx_phase1/beamstop.py +2 -4
  168. dodal/devices/oav/oav_calculations.py +20 -13
  169. dodal/devices/oav/oav_detector.py +28 -23
  170. dodal/devices/oav/oav_parameters.py +4 -9
  171. dodal/devices/oav/oav_to_redis_forwarder.py +22 -18
  172. dodal/devices/oav/pin_image_recognition/__init__.py +4 -6
  173. dodal/devices/oav/pin_image_recognition/manual_test.py +1 -2
  174. dodal/devices/oav/pin_image_recognition/utils.py +30 -32
  175. dodal/devices/oav/snapshots/grid_overlay.py +10 -9
  176. dodal/devices/oav/snapshots/snapshot_image_processing.py +15 -13
  177. dodal/devices/oav/utils.py +9 -12
  178. dodal/devices/p45.py +3 -9
  179. dodal/devices/pgm.py +8 -14
  180. dodal/devices/pressure_jump_cell.py +93 -32
  181. dodal/devices/qbpm.py +1 -3
  182. dodal/devices/robot.py +12 -4
  183. dodal/devices/s4_slit_gaps.py +1 -1
  184. dodal/devices/selectable_source.py +5 -2
  185. dodal/devices/slits.py +2 -5
  186. dodal/devices/smargon.py +2 -3
  187. dodal/devices/temperture_controller/lakeshore/lakeshore.py +38 -64
  188. dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +21 -35
  189. dodal/devices/tetramm.py +7 -7
  190. dodal/devices/turbo_slit.py +8 -7
  191. dodal/devices/undulator.py +42 -56
  192. dodal/devices/util/adjuster_plans.py +2 -3
  193. dodal/devices/util/epics_util.py +10 -10
  194. dodal/devices/util/lookup_tables.py +17 -18
  195. dodal/devices/v2f.py +2 -3
  196. dodal/devices/watsonmarlow323_pump.py +1 -1
  197. dodal/devices/xbpm_feedback.py +3 -2
  198. dodal/devices/xspress3/xspress3.py +8 -11
  199. dodal/devices/xspress3/xspress3_channel.py +3 -6
  200. dodal/devices/zebra/zebra.py +6 -7
  201. dodal/devices/zebra/zebra_constants_mapping.py +11 -7
  202. dodal/devices/zebra/zebra_controlled_shutter.py +2 -1
  203. dodal/devices/zocalo/zocalo_interaction.py +14 -14
  204. dodal/devices/zocalo/zocalo_results.py +33 -33
  205. dodal/log.py +23 -20
  206. dodal/plan_stubs/check_topup.py +15 -15
  207. dodal/plan_stubs/data_session.py +6 -6
  208. dodal/plan_stubs/motor_utils.py +22 -18
  209. dodal/plan_stubs/pressure_jump_cell.py +18 -0
  210. dodal/plan_stubs/wrapped.py +40 -55
  211. dodal/plans/bimorph.py +63 -52
  212. dodal/plans/device_setup_plans/__init__.py +5 -0
  213. dodal/plans/device_setup_plans/setup_pin_tip_params.py +63 -0
  214. dodal/plans/preprocessors/verify_undulator_gap.py +10 -8
  215. dodal/plans/spec_path.py +3 -5
  216. dodal/plans/verify_undulator_gap.py +1 -2
  217. dodal/plans/wrapped.py +4 -3
  218. dodal/testing/electron_analyser/device_factory.py +5 -7
  219. dodal/testing/fixtures/devices/apple2.py +38 -0
  220. dodal/testing/fixtures/run_engine.py +3 -7
  221. dodal/testing/fixtures/utils.py +1 -2
  222. dodal/utils.py +60 -58
  223. dls_dodal-1.69.0.dist-info/RECORD +0 -338
  224. dodal/beamline_specific_utils/i05_shared.py +0 -14
  225. dodal/devices/b07/__init__.py +0 -3
  226. dodal/devices/i04/beam_centre.py +0 -84
  227. dodal/devices/i05/__init__.py +0 -3
  228. dodal/devices/i09/__init__.py +0 -3
  229. dodal/devices/i21/__init__.py +0 -5
  230. {dls_dodal-1.69.0.dist-info → dls_dodal-2.0.0.dist-info}/entry_points.txt +0 -0
  231. {dls_dodal-1.69.0.dist-info → dls_dodal-2.0.0.dist-info}/licenses/LICENSE +0 -0
  232. {dls_dodal-1.69.0.dist-info → dls_dodal-2.0.0.dist-info}/top_level.txt +0 -0
  233. /dodal/{beamline_specific_utils → devices/beamlines}/__init__.py +0 -0
  234. /dodal/devices/{b07 → beamlines/b07}/enums.py +0 -0
  235. /dodal/devices/{b07_1 → beamlines/b07_1}/enums.py +0 -0
  236. /dodal/devices/{b16 → beamlines/b16}/__init__.py +0 -0
  237. /dodal/devices/{i02_1 → beamlines/i02_1}/__init__.py +0 -0
  238. /dodal/devices/{i02_2 → beamlines/i02_2}/__init__.py +0 -0
  239. /dodal/devices/{i03 → beamlines/i03}/__init__.py +0 -0
  240. /dodal/devices/{i03 → beamlines/i03}/constants.py +0 -0
  241. /dodal/devices/{i04 → beamlines/i04}/__init__.py +0 -0
  242. /dodal/devices/{i04 → beamlines/i04}/constants.py +0 -0
  243. /dodal/devices/{i04 → beamlines/i04}/max_pixel.py +0 -0
  244. /dodal/devices/{i05 → beamlines/i05}/enums.py +0 -0
  245. /dodal/devices/{i07 → beamlines/i07}/__init__.py +0 -0
  246. /dodal/devices/{i09 → beamlines/i09}/enums.py +0 -0
  247. /dodal/devices/{i09_1 → beamlines/i09_1}/__init__.py +0 -0
  248. /dodal/devices/{i09_1 → beamlines/i09_1}/enums.py +0 -0
  249. /dodal/devices/{i09_1_shared → beamlines/i09_1_shared}/__init__.py +0 -0
  250. /dodal/devices/{i09_2_shared → beamlines/i09_2_shared}/__init__.py +0 -0
  251. /dodal/devices/{i09_2_shared → beamlines/i09_2_shared}/i09_apple2.py +0 -0
  252. /dodal/devices/{i10 → beamlines/i10}/__init__.py +0 -0
  253. /dodal/devices/{i10 → beamlines/i10}/i10_setting_data.py +0 -0
  254. /dodal/devices/{i10 → beamlines/i10}/mirrors.py +0 -0
  255. /dodal/devices/{i10 → beamlines/i10}/rasor/__init__.py +0 -0
  256. /dodal/devices/{i10 → beamlines/i10}/rasor/rasor_scaler_cards.py +0 -0
  257. /dodal/devices/{i11 → beamlines/i10_1/electromagnet}/__init__.py +0 -0
  258. /dodal/devices/{i13_1 → beamlines/i11}/__init__.py +0 -0
  259. /dodal/devices/{i15 → beamlines/i13_1}/__init__.py +0 -0
  260. /dodal/devices/{i13_1 → beamlines/i13_1}/merlin_controller.py +0 -0
  261. /dodal/devices/{i17 → beamlines/i15}/__init__.py +0 -0
  262. /dodal/devices/{i15 → beamlines/i15}/laue.py +0 -0
  263. /dodal/devices/{i15 → beamlines/i15}/motors.py +0 -0
  264. /dodal/devices/{i15 → beamlines/i15}/rail.py +0 -0
  265. /dodal/devices/{i18 → beamlines/i17}/__init__.py +0 -0
  266. /dodal/devices/{i19 → beamlines/i18}/__init__.py +0 -0
  267. /dodal/devices/{i18 → beamlines/i18}/kb_mirror.py +0 -0
  268. /dodal/devices/{i19/access_controlled → beamlines/i19}/__init__.py +0 -0
  269. /dodal/devices/{i20_1 → beamlines/i19/access_controlled}/__init__.py +0 -0
  270. /dodal/devices/{i19 → beamlines/i19}/access_controlled/hutch_access.py +0 -0
  271. /dodal/devices/{i19 → beamlines/i19}/beamstop.py +0 -0
  272. /dodal/devices/{i19 → beamlines/i19}/diffractometer.py +0 -0
  273. /dodal/devices/{i22 → beamlines/i20_1}/__init__.py +0 -0
  274. /dodal/devices/{i21 → beamlines/i21}/enums.py +0 -0
  275. /dodal/devices/{i24 → beamlines/i22}/__init__.py +0 -0
  276. /dodal/devices/{p99 → beamlines/i24}/__init__.py +0 -0
  277. /dodal/devices/{i24 → beamlines/i24}/aperture.py +0 -0
  278. /dodal/devices/{i24 → beamlines/i24}/focus_mirrors.py +0 -0
  279. /dodal/devices/{i24 → beamlines/i24}/vgonio.py +0 -0
  280. /dodal/devices/{p60 → beamlines/p60}/__init__.py +0 -0
  281. /dodal/devices/{p60 → beamlines/p60}/enums.py +0 -0
  282. /dodal/devices/{p99 → beamlines/p99}/sample_stage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.69.0
3
+ Version: 2.0.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
@@ -0,0 +1,354 @@
1
+ dls_dodal-2.0.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
2
+ dodal/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
3
+ dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
4
+ dodal/_version.py,sha256=IVJRXufGjjlpCRVrnll1svFy181ozZaXe7LKnGKKesg,704
5
+ dodal/cli.py,sha256=XozyCuASRkgZxA6IkgW11aUzrno7IxcA90tz4yCdG6Q,5854
6
+ dodal/device_manager.py,sha256=eLerrtBgRi6-Lk78mbvX86IGc1FLWcuheK5Z1xaiu2U,23408
7
+ dodal/log.py,sha256=eb2LHY2xZWhrDXGaAdZTDZGpmDZbb5Tz4cZA0c3ItIU,9810
8
+ dodal/utils.py,sha256=bDx0xbpeWzfIAppr4_1LHCWsxO47MEPTL7EB9RnCJwY,20001
9
+ dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
10
+ dodal/beamlines/__init__.py,sha256=upWAuXU7zqh29_JJ2Y_k8ydQ3pcfTD_u7oo3z-w8LHo,3237
11
+ dodal/beamlines/adsim.py,sha256=FjKqKABaR4QzCXeCTiBU2IDD-fkzOg7J5QYz8Z54dxk,2454
12
+ dodal/beamlines/aithre.py,sha256=RRNmzJz4Fu5eHRXKoIJpv1D1fNR5e7wmT34d52QwM9Y,1399
13
+ dodal/beamlines/b01_1.py,sha256=XlVsfVEPWTzpPtn--yxRTSZC-2Hxl1QF6dRLpN1QXK4,3212
14
+ dodal/beamlines/b07.py,sha256=xIg-Xjy31WOxsJU8f3CHAzlKuehUm8oeF0r4o8r-qnE,1506
15
+ dodal/beamlines/b07_1.py,sha256=u5XfLiSz0Uds6uGRBBSRYX6rIVu29OPbbO-6BYcMy6g,1735
16
+ dodal/beamlines/b07_shared.py,sha256=UtjACE9C98oeTgTWAHfclcDAGdeoJyktJ66e8bize5k,284
17
+ dodal/beamlines/b16.py,sha256=JnndR0RDz5dMdZS5B7pDtxmakZ44zLKQU48SlBT-hdU,1713
18
+ dodal/beamlines/b18.py,sha256=ryxrGtcCdwoFgZ8ljWYgr1g9gKvoA7nxkARVxl1IE78,1189
19
+ dodal/beamlines/b21.py,sha256=NqfYl3q1MorpZKMnvxkpnVW27eyVYXmuByQRSVRzBM8,4258
20
+ dodal/beamlines/i02_1.py,sha256=--_YGlwNZ6Xp382nu4ir1WqVomLWDTbOIjH5pecHKHA,2605
21
+ dodal/beamlines/i02_2.py,sha256=jpax4P-TNOGWxxRHoeTVyw0_2tgxG6csVfJvm0qWzjw,803
22
+ dodal/beamlines/i03.py,sha256=MjyWfml59s8_gxtdvexOUDsPxHx_UErl5Gkb_1l90qU,10531
23
+ dodal/beamlines/i03_supervisor.py,sha256=O-v8M-WLR1rN4GugDDC1CHCpunnX2QEk5PPBm0cEMus,517
24
+ dodal/beamlines/i04.py,sha256=nlC3cUJ5FvWsjopTiJWmkulctIXvC7QHee4PwDMlAHw,9413
25
+ dodal/beamlines/i05.py,sha256=O-6D4VcfsgRdmmeLNvwBrxMbEFHZvv-jKGSrhz_oqHY,688
26
+ dodal/beamlines/i05_1.py,sha256=_3lc9wCIfIHX9LTfKJf8IoyznLMLiXTZJJ17W7lDT-o,494
27
+ dodal/beamlines/i05_shared.py,sha256=TyvCbYMwwQ2nBnOsIafX5SvHUFF-xF9sZQAqzudecbE,1328
28
+ dodal/beamlines/i06_1.py,sha256=msTsVJW8P0_Ubu_EU80_RTSEP4ewKw6NcXu_oAkXBmM,870
29
+ dodal/beamlines/i06_shared.py,sha256=rZALMjbjw1GGMGyx7rPbO1FqkpBqWZnNfE94FiRgnF4,2018
30
+ dodal/beamlines/i07.py,sha256=fL4D0GZPNi529V_FGaJgggHa59MpWvBMTNCRaNp6eK8,1263
31
+ dodal/beamlines/i09.py,sha256=0TgunWeBsui64bAFJqsKJFE9nr5SNNlaeRFzjr7_8Ek,3468
32
+ dodal/beamlines/i09_1.py,sha256=PXLg1L01OX7F7c9aDR6ATGZFm5w_whfeo8XH2dlIuKY,1894
33
+ dodal/beamlines/i09_1_shared.py,sha256=HPV-dEF0lfLPZekhQH8hxYUQxinGDJd2TvOnw9vjzzo,1737
34
+ dodal/beamlines/i09_2.py,sha256=Xq6cLLJIe84f_rWKqPSNqGZnO24S5WoJA94A7oCt7mY,630
35
+ dodal/beamlines/i09_2_shared.py,sha256=nIwtJP3LuKywvici8TPxBPndAMX8KC4-WoJl3LLvlEQ,3479
36
+ dodal/beamlines/i10.py,sha256=OWvcsUBnN4Y_YTDcZDY1CpDUzEOdot9jq1TQp6sz88M,4375
37
+ dodal/beamlines/i10_1.py,sha256=00xTw_CzGQLGxNv2NszFtcYkhHIlywKtBnIcG1fhMsM,3147
38
+ dodal/beamlines/i10_shared.py,sha256=4sBKRkzi2D3zf5_Uw7fXcLb9fTKqx7ZBu0CzDO3NHR4,7735
39
+ dodal/beamlines/i11.py,sha256=JnrJSRhDwt4wqv7lbepro4Mt_ViF--eTrpeUIURoD84,4089
40
+ dodal/beamlines/i13_1.py,sha256=0AwrpE5Y6hJq4whqSuqhWyLZgie925Fy1uhcKa-q_Pw,1612
41
+ dodal/beamlines/i15.py,sha256=NwwLTKFVmqegCE8v9Rqd9gcZYg9Wm3RbbYlIQvJ5Jk4,5767
42
+ dodal/beamlines/i15_1.py,sha256=q0JORVWh7rDpCTEAy0TZ9PpwdONbSGxnfeEBr8iknds,3945
43
+ dodal/beamlines/i16.py,sha256=OQB7jez37jEVQvMCNFZNd6R30TWBcZrJPxpTumsY8go,983
44
+ dodal/beamlines/i17.py,sha256=9tell4pDPSpVo6TOyxs6zkqr1leVeGC_57oFPUjuoiM,3118
45
+ dodal/beamlines/i18.py,sha256=xPx7PviR7ZbWO4olCxZVa0Eb31tqrCNbywQqAVDfmOw,3771
46
+ dodal/beamlines/i19_1.py,sha256=HCfbHa6n2u7adZCAyLcWbu9skxklIV7o0uwXN2-MAF4,5324
47
+ dodal/beamlines/i19_2.py,sha256=Do7ugl5vmGNmUk8zdT4ol34KyqxRyEkUBuZuQuiDu6M,4805
48
+ dodal/beamlines/i19_optics.py,sha256=BwMol-mZ4jDKHzoovxXD7gs6fvYFhEFSdDeUBp-hjYQ,1606
49
+ dodal/beamlines/i20_1.py,sha256=WdSNQ9c8lukd260kDaMcQQL1LTNEE_T4w9IxDPqE7Yw,2919
50
+ dodal/beamlines/i21.py,sha256=FY01BU1QhAaKvVnmpon5Xxh1mS5RM5S4wuQdruB7-ac,3950
51
+ dodal/beamlines/i22.py,sha256=DWE75ljuzCDZDjyN-owHy0qlMgs1rKt1evhl63nLYGs,8527
52
+ dodal/beamlines/i23.py,sha256=BHgdU7_Piy7YT8XB4kiUJG4qsfbfC_5sJECDgGPWsFg,2903
53
+ dodal/beamlines/i24.py,sha256=sJM4pfwJynNX6lwmRvaKOKVWHwcwpeoIUOczu1dbofY,4945
54
+ dodal/beamlines/k07.py,sha256=uuvlkmhtqJCu5b7DuAvQ5LTCE-wyYLxwmkuybF8AeUo,4166
55
+ dodal/beamlines/k11.py,sha256=sBOl-MLk7FMo10KFykuK5aLqH1zyW4FnI0XXmtQhUfg,978
56
+ dodal/beamlines/p38.py,sha256=y0Y7GzEW9FsHR6dtuVk98p22fec_VZyrNAIPOHNe738,5799
57
+ dodal/beamlines/p45.py,sha256=tQ7EkWfr7o2okK7Prw1C7DNGYdKPU2ofqjm98wu_-G0,2158
58
+ dodal/beamlines/p60.py,sha256=RGcAS8iH5-JdmeQGt_8W-KoiQ6NMhjDJQ1wS97GMHDE,2055
59
+ dodal/beamlines/p99.py,sha256=2DUARBmiEEOiHE0T1Wg_1OIpOq3Le_zimRV0G3o95_0,2833
60
+ dodal/beamlines/training_rig.py,sha256=ASGd5cGjTfr4jFqNBFI50W9ZPjwQbzTgoY0bJ7kIhSA,1875
61
+ dodal/common/__init__.py,sha256=y-R5BgS0ms1UKryzkK8eHn8E3NiMVU3VG8upgWC7DcQ,418
62
+ dodal/common/coordination.py,sha256=xyaXm-EntjQUkcjjIw5oAfYDl3NatqJLkyBfSn2SHpY,1256
63
+ dodal/common/crystal_metadata.py,sha256=9yykYA5MLQ5llXigWHyjg-P2tXI5okrOusSg_JTH6s4,1911
64
+ dodal/common/data_util.py,sha256=Z2DgxQl3AzTB940e_qYVDIHuu_9vWzpbycjKb62SFus,555
65
+ dodal/common/device_utils.py,sha256=_9eSEz2XwYRydh0acr1Vm7vFsu7iKICxKaOxxSd1qWg,1375
66
+ dodal/common/enums.py,sha256=Q8RSQBIHTCbhngVUKoznzvwazQ7INsT5NE0BcAgT1U0,404
67
+ dodal/common/maths.py,sha256=5Rm2bgxGCiR34n16IDWjiEYmdlpHGXjOZBLl55F-_YU,4067
68
+ dodal/common/types.py,sha256=fkL7UOwDbe3v2_VJ5f1W5RxR98Wx-Ra-LxUZWkNDtls,486
69
+ dodal/common/udc_directory_provider.py,sha256=W3HZ_4tS6HptfKxuiUsA8akKjzbXDyq4k0BCPtU1wfA,2498
70
+ dodal/common/visit.py,sha256=qUjkdqekMrRMAK0op9MqrzIa3cApfPDX31bFLq1eJvk,5810
71
+ dodal/common/watcher_utils.py,sha256=IEbQpXyjb3e7_AIkiiw89l035rI4_Zjc-1g9sj56d_A,3224
72
+ dodal/common/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ dodal/common/beamlines/beamline_parameters.py,sha256=K_PA1oCLuE50wZKkYEMRn4_3lSjmx-Nln9mEf8vj9J4,2671
74
+ dodal/common/beamlines/beamline_utils.py,sha256=IXBcrEBldDxp8B8sUCLdDVCxUaFMYLbrWaxFxhY9UTo,5253
75
+ dodal/common/beamlines/commissioning_mode.py,sha256=3E593OeXGqnbzNULKDdgSxtO-Yk5TodxD61oeYB3zAQ,1339
76
+ dodal/common/beamlines/device_helpers.py,sha256=8sasAIFRDwo6ElHqLrXnpj_v7xcEg-29Zhey_e4r9u8,84
77
+ dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ dodal/devices/aperture.py,sha256=S7AoIoQg_kFxaQk7HUMijbm1kYkOEi2csbdj76kp1ys,427
79
+ dodal/devices/aperturescatterguard.py,sha256=bp11KOG7qlzdGRVnj7Rq7fzoIBL52QSpgDdIqEB94D8,14090
80
+ dodal/devices/backlight.py,sha256=y40kR6N3qSFVLRaGU8CjJJpwv_hq2QALf_85fLQqras,1415
81
+ dodal/devices/baton.py,sha256=315I_0V73_DYYVT0PBs0luVy4CMqdPo0kLvHBi12MIU,606
82
+ dodal/devices/bimorph_mirror.py,sha256=RYCKMT7cV8_1Df4zb2aYVbpFWSXFhW4a6HIxmX-fG5k,4738
83
+ dodal/devices/collimation_table.py,sha256=Mv7L8n8qLVWU8DXtPvLmnHfK0rOc-jDVAOy7Nc5guIU,1688
84
+ dodal/devices/common_dcm.py,sha256=wiwrR8j52upHnOOldaWvTb-m75rk6QYDWZz6u26IEeM,5326
85
+ dodal/devices/controllers.py,sha256=ddZt0CLb_iPYf124-wvuCIJvPGvmGf17zKt4hyre9wY,651
86
+ dodal/devices/cryostream.py,sha256=_YvyJRP5rjNMrmcdVh4NsLRCVU2UNHi_vSEWp955TiA,4827
87
+ dodal/devices/diamond_filter.py,sha256=dP1VtNG2fE_LAJFNxdClo7_j1kKMb5rfKZN7ep9siw8,684
88
+ dodal/devices/eiger.py,sha256=4ZE67KqDB88_BDvvjWTv5s17PIn0XK62WJ4X50p12sA,18138
89
+ dodal/devices/eiger_odin.py,sha256=3LOlBaBrp0_bBOjNDMJgB6kODgoidx-kJufaf_FfbiE,7481
90
+ dodal/devices/eurotherm.py,sha256=eEOWpoXtUMh3JxSkms32-YdA1bq6y-bzZAqzvU0Tktg,3839
91
+ dodal/devices/fast_grid_scan.py,sha256=5ywGUTcYgobAJ6V3jIHAuKR3_GNuAGOEiwSQ23F_-kk,17653
92
+ dodal/devices/fast_shutter.py,sha256=PtbUQGEWgrdtsj5c0JpXi-uckpdbViRCDGOWkQ_gEdQ,5545
93
+ dodal/devices/fluorescence_detector_motion.py,sha256=hJ1M9Zs6Dlw8DDL9APh7yVePlS4tU2hnlySd16hqfwE,346
94
+ dodal/devices/flux.py,sha256=NK1EasXWqorpv2949FcO3HvoCMrLACIs3nixdObdohs,463
95
+ dodal/devices/focusing_mirror.py,sha256=Je85AYi2IXZQug5NKvjtQ7Kb59XxwKShGNDBYJVCCWI,8053
96
+ dodal/devices/hutch_shutter.py,sha256=TTNMb3cmQx_1dcAJENkdBeV8kABWNqLYyliYPu_MDz0,3877
97
+ dodal/devices/ipin.py,sha256=BbpOSsZVmzVhI_nsfKjgniJniohRPDhe_EpNk9PUfg0,1216
98
+ dodal/devices/linkam3.py,sha256=gPljFHkhc-psHybMqcy7gM9N7ALAUgqb2lFHo8QrJ30,2083
99
+ dodal/devices/motors.py,sha256=UvoxVhScQ8vFQ4htf9ZGux5k5YJVpzXzjESfhiiJCJc,11119
100
+ dodal/devices/p45.py,sha256=bHrrtBR33RRKE3kzTVhlzFms4ivIfCVVfU60ld0ZESs,1362
101
+ dodal/devices/pgm.py,sha256=YoI_Rr1H6e9xGMDAZStzMLOSSbWX1gaLagK8J8IoENE,1132
102
+ dodal/devices/positioner.py,sha256=qf_1uYOI1whS0U5sPA3O3mlZYKrPuW3i0gEKI_q-up0,1289
103
+ dodal/devices/pressure_jump_cell.py,sha256=pcKQ4SdZJYfNTOp2uy9YkxIElFyyNpIhODwDX4PUXHo,10871
104
+ dodal/devices/qbpm.py,sha256=95HLYgl9qZOUQdN-roKjGbESoAbqpLyHtkSwYlXTkXY,455
105
+ dodal/devices/robot.py,sha256=iEf6FPGOYkPIpQBABe2q3j9lpfJwUCMZlBmsStSjvAA,8469
106
+ dodal/devices/s4_slit_gaps.py,sha256=4bvHbD8UwxBixzvABzwks1SiYE1gve9Ja83qt9P5A7s,447
107
+ dodal/devices/scintillator.py,sha256=w6YSf1mY_xJKU00TXS_wfzJVKFvXNX9U7Vs8as-33wM,4249
108
+ dodal/devices/selectable_source.py,sha256=Pv9KNDnoGpZYlnh3Xf0kIjjeS3DLLBCQ9W8D2x49DSw,1270
109
+ dodal/devices/slits.py,sha256=4Kko2LeVLuQ5tavpOw78jFtGLQQF8DHEpDO9gxNjaLQ,1522
110
+ dodal/devices/smargon.py,sha256=0DWJL_Y4KuRcpiaqyAj8J2k95ocqjU9GfkVtLIayD_0,4982
111
+ dodal/devices/status.py,sha256=hVrJS1yooQo6PRumRACoIEh-SKBUKxvBlQl-MtLFUMQ,327
112
+ dodal/devices/synchrotron.py,sha256=OHBrTrm4K39XE8BrE9b_Jn_ZfMRyDp9CHCwvmiV-KOc,1989
113
+ dodal/devices/tetramm.py,sha256=SnU6MWX9pCDOH1Pq1Cniu51GocrNNKBBpFj9iEYBftQ,10396
114
+ dodal/devices/thawer.py,sha256=RGd9vjLyD4IDTDiP2V0giMZIduk_BJiFy1XRkrCSKY4,611
115
+ dodal/devices/turbo_slit.py,sha256=DqZ6xLqa36ZjmxB5EL9qiaoBIzXyNwE5AeWyuYpV6po,1473
116
+ dodal/devices/undulator.py,sha256=jQOcnH0qOwGTzZzP8UNXIXyjP2bndrFjKiJ4LUVGsbw,8983
117
+ dodal/devices/v2f.py,sha256=HFK64BDN3NpG68pgS4oEByoWjlthClThPCFmmaBelzo,1244
118
+ dodal/devices/watsonmarlow323_pump.py,sha256=EFEQ3JGaYOIXz6fYRL6pyDVMpdHOAp53tD5ay9LkavQ,1338
119
+ dodal/devices/webcam.py,sha256=UAx2KF0mKi6I-mJJUb5z56MHY-Wd89-tqyPcFbouQFg,2491
120
+ dodal/devices/xbpm_feedback.py,sha256=MeWdlN9e6OSVhJAp2JeP695nZr6kQfbrENT_3aqfhKs,1423
121
+ dodal/devices/aithre_lasershaping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
+ dodal/devices/aithre_lasershaping/goniometer.py,sha256=ljdGf7f_fCtgT62e_7HohNoE5CMGxvJkKqPDKkJ1akI,1447
123
+ dodal/devices/aithre_lasershaping/laser_robot.py,sha256=vy-I1ASYflFYIUYePhT2l3l7g2iekrIFzLxA0GLmKY8,717
124
+ dodal/devices/areadetector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
+ dodal/devices/areadetector/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
+ dodal/devices/areadetector/plugins/cam.py,sha256=9kui8Jtc1SU6lyZ867RZjzY8lJURUnJjvHN61NbEkCI,954
127
+ dodal/devices/areadetector/plugins/mjpg.py,sha256=D-fMIV1uqaZxLE6xQv8o3Ki7kDJoagG8rSkUqiELH5I,3196
128
+ dodal/devices/attenuator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
+ dodal/devices/attenuator/attenuator.py,sha256=-COqffhBhmIkOwkQz0r9b32zumouN-XEadt0N8XPNmw,6255
130
+ dodal/devices/attenuator/filter.py,sha256=xb_8S62ktJdqdNE03PqhsfsTsQyTsRbR9CF1ksfX06M,542
131
+ dodal/devices/attenuator/filter_selections.py,sha256=r0TsT3Cylx0wQiBoCsU0Kk8eOupj2wItX9xPUgpm6Lc,1954
132
+ dodal/devices/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
+ dodal/devices/beamlines/b07/__init__.py,sha256=STUoOwiCsnyccZ6FRNMfCTStcGnkT2U4ZwrFccf-aTw,119
134
+ dodal/devices/beamlines/b07/enums.py,sha256=GmS6YZEbFH2wEwS1Ni4VNG-2wT98v7NnCzbHqFKo5Pg,1415
135
+ dodal/devices/beamlines/b07_1/__init__.py,sha256=6ahg1nBbITt_OVQR5CJMlNhwLhq3glisMX1022mYQSc,301
136
+ dodal/devices/beamlines/b07_1/ccmc.py,sha256=rc5LRJJe8s6W9SwciyTLQfWKE149Jd0Mn5rE0eWKr-I,2498
137
+ dodal/devices/beamlines/b07_1/enums.py,sha256=TREiXDSAGFRXR3iUkKADYfm-CmhLmlpGHKZUOQ2Z1as,723
138
+ dodal/devices/beamlines/b16/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
+ dodal/devices/beamlines/b16/detector.py,sha256=tZVXEfjt_s9TYdKWNdO1YuK1bgO1W_X_vts7QcKQmN8,836
140
+ dodal/devices/beamlines/i02_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
+ dodal/devices/beamlines/i02_1/fast_grid_scan.py,sha256=DZ-yt-XwS7G2mM0aAVlEyJ4zi4TvpVkhXH-tlgQjniY,2437
142
+ dodal/devices/beamlines/i02_1/sample_motors.py,sha256=JTM3Q5cPH-vA2V3JPrM6c56uY_LcyZy0Aii4w-TypgE,608
143
+ dodal/devices/beamlines/i02_2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
+ dodal/devices/beamlines/i03/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
145
+ dodal/devices/beamlines/i03/beamsize.py,sha256=Sn52obvgIZk9qu8IVoVZpO1EFhcYOtKjvFkWIn2KKps,1410
146
+ dodal/devices/beamlines/i03/constants.py,sha256=Y-4tsbmAMEcjV5FBjeRmnA2tl5-LPt5x_icG2xu7XkI,136
147
+ dodal/devices/beamlines/i03/dcm.py,sha256=H0MqwJAk0_dcABMdgYxaA0i5pvT0vHAQ5jib71ddUyk,2331
148
+ dodal/devices/beamlines/i03/undulator_dcm.py,sha256=yKlZz1XOtQa1B11NwTDvljSM-PgPBybeqQy0MQh9iGw,2873
149
+ dodal/devices/beamlines/i04/__init__.py,sha256=Kvukapy4a5lUQ20qaCqYCJzKNaqJn2DfXP5nKZ_Pec8,118
150
+ dodal/devices/beamlines/i04/beam_centre.py,sha256=cSEzIFdBUAV70wkpdPs-47ez9eoIOGpFECajyx4eIks,5471
151
+ dodal/devices/beamlines/i04/beamsize.py,sha256=-8lrPBAnIJo-0aG_UBd0x1QKrzX4Fz92IOgQmiHpKxA,1759
152
+ dodal/devices/beamlines/i04/constants.py,sha256=_Dw28NeXldwRYH-h6YP6OHnyj7h0z4NQs_-RysNby5Q,281
153
+ dodal/devices/beamlines/i04/max_pixel.py,sha256=Ng-P6LN-EkCEJnBbhP2SuBbEKqKrTjzGwOH82f8JrrA,935
154
+ dodal/devices/beamlines/i04/murko_results.py,sha256=wfPo38p9slVhzn4w5CIa9GCkdtvzQ0G8mnMcW5x_odI,10656
155
+ dodal/devices/beamlines/i04/transfocator.py,sha256=0NioklrttJMTyi-EeT5VxgRVvjYjN02qSrX2WE_FIME,3128
156
+ dodal/devices/beamlines/i05/__init__.py,sha256=Z4mL0stfkgCAEMdZNdIFu7BHGiciEdLvXRZSrcoY7EY,77
157
+ dodal/devices/beamlines/i05/enums.py,sha256=9FHBIexkSfZSTHxUnGupravfG9sVriHcrB15jemkQOQ,191
158
+ dodal/devices/beamlines/i06_shared/__init__.py,sha256=VJfM9A8fdiImeqySFhGm2_uF5uYFHkQzBwfNVWYLAlU,59
159
+ dodal/devices/beamlines/i06_shared/i06_enum.py,sha256=ChrXoBYCCmM52oD80LCiUxy0J43bo_yT8jRRAJaY21k,173
160
+ dodal/devices/beamlines/i07/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
+ dodal/devices/beamlines/i07/dcm.py,sha256=LwHY2fAiovJ4TiAZslauK7DfhduV_Rv3DfxHk16lfA0,1245
162
+ dodal/devices/beamlines/i07/id.py,sha256=Mm_-z283Us6GprhZFCWyqbB-Jg4PD_bwHfjFOiMDyk0,1447
163
+ dodal/devices/beamlines/i09/__init__.py,sha256=4iJA-7T1tvQIb6lQ6dVdX4vLOsNlitcGV_8ycwSERJQ,145
164
+ dodal/devices/beamlines/i09/enums.py,sha256=Rfs6OgEHSSxcH2UiVmlR_5wLwxDmcHonXds0UDVRfCc,551
165
+ dodal/devices/beamlines/i09_1/__init__.py,sha256=dTazun87AkMDXh7J8gIZYJxJth0XUs72qahJ-VvhRBI,72
166
+ dodal/devices/beamlines/i09_1/enums.py,sha256=FwhsvKnEcm9M22U4gcAJi6FE2RaUBZH0jRjNgJUKRqc,1319
167
+ dodal/devices/beamlines/i09_1_shared/__init__.py,sha256=jbSL26A4boUJZKUCoA7JNjVfjZ3ehERlDsw1kPj1OUw,335
168
+ dodal/devices/beamlines/i09_1_shared/hard_energy.py,sha256=myxnrJLIFXWbHTBALIRF6cW38wtQIJkPR5V_FTzv5P8,3969
169
+ dodal/devices/beamlines/i09_1_shared/hard_undulator_functions.py,sha256=fz8mqT6OP8QcgX6fbIl3xc2h4_RAJ1gfaCTMh5LrXJU,6261
170
+ dodal/devices/beamlines/i09_2_shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ dodal/devices/beamlines/i09_2_shared/i09_apple2.py,sha256=6WliOiSdTjuO6N5YrvJK4AKAUgT7sSVHoLnpH1ntTU0,245
172
+ dodal/devices/beamlines/i10/__init__.py,sha256=Pa7gI_ulcPO3dN2xpw6tBN1E3CpV3Lj82kmGwIVU7TA,575
173
+ dodal/devices/beamlines/i10/diagnostics.py,sha256=GSzTZBDwdYvEsT_7gI8aILoSzvtGADRPCHMngcBA_bk,6346
174
+ dodal/devices/beamlines/i10/i10_apple2.py,sha256=k3MpaTkhm_TyH50XHohX_-i0bATijdyL9OfkWeWO0c8,6631
175
+ dodal/devices/beamlines/i10/i10_setting_data.py,sha256=69XWgE-YNTiW7C3t67MNcTL5JDDhOo7h-X7DCTpFE5g,164
176
+ dodal/devices/beamlines/i10/mirrors.py,sha256=Zofd0g2f3YvFi_KIHQE_w4dFZNglhmh--65tRnWLuyY,504
177
+ dodal/devices/beamlines/i10/slits.py,sha256=4O-w3Tim7P8LpzUvCTH1HMJQw6WO00_CnnQ6w0UjN2U,5048
178
+ dodal/devices/beamlines/i10/rasor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
+ dodal/devices/beamlines/i10/rasor/rasor_current_amp.py,sha256=DK8agZmTcdwdMJi4mB7PIPXo0fZxPCsoYiRYxXqSQ50,1392
180
+ dodal/devices/beamlines/i10/rasor/rasor_motors.py,sha256=QQTG0Tl3XDZJ8qnPm7wPveRWlICsO9JtmdkDRkA8nMk,1337
181
+ dodal/devices/beamlines/i10/rasor/rasor_scaler_cards.py,sha256=sfWJKNx6pq342PEAlmg_Yt_Tijq7mO1XFjcCDtToQiU,467
182
+ dodal/devices/beamlines/i10_1/__init__.py,sha256=wOu7hZZ-b_IWnjC8oM9RLtkHKOS1QwfYPUp2tOpGAFU,248
183
+ dodal/devices/beamlines/i10_1/scaler_cards.py,sha256=CfWmvzEFVvJ4Ur-w81YGvaKV4VgRbLB4Kmbino0A8uc,544
184
+ dodal/devices/beamlines/i10_1/electromagnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
+ dodal/devices/beamlines/i10_1/electromagnet/magnet.py,sha256=VZAxi24LYGw9fBIvhKc_4y-tu8GW3IHlsUj6FrX5Zos,517
186
+ dodal/devices/beamlines/i10_1/electromagnet/stages.py,sha256=QIREHm2QQekyNUvxXOYKdW9q5jP-sfYJ69hBsPy4S_8,391
187
+ dodal/devices/beamlines/i11/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
+ dodal/devices/beamlines/i11/cyberstar_blower.py,sha256=8HKXf21zMIW5JB-B-hCvjLN8yI--xf6p83iwE0am2X0,1034
189
+ dodal/devices/beamlines/i11/diff_stages.py,sha256=Cy8lHzpZ_A5TuX4ejjGgEnCmlOVoxpcx3kgoPSiIJfA,1705
190
+ dodal/devices/beamlines/i11/mythen.py,sha256=JSYPUeQMTEylRFOnc7vkPL84PpobK3W7vivfkzFzvi0,5218
191
+ dodal/devices/beamlines/i11/nx100robot.py,sha256=Tnwes5-vs5YA--SuW_gFrXY1MvbB6iw-HKByYui65FU,6168
192
+ dodal/devices/beamlines/i11/spinner.py,sha256=r3Swmjx8LQSOxyqOqwBmIwfaD3-OmOZAEKFlGelaAlo,933
193
+ dodal/devices/beamlines/i13_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ dodal/devices/beamlines/i13_1/merlin.py,sha256=0R9AYAQ6pMUHQEUNvJSlBiG2z1aUJvOmnC-fH7vRf-Y,1029
195
+ dodal/devices/beamlines/i13_1/merlin_controller.py,sha256=myfmByOEXyMrlJZfsjOxDHeGQVwZGfsRtzrfSy2001o,1495
196
+ dodal/devices/beamlines/i15/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
+ dodal/devices/beamlines/i15/dcm.py,sha256=v9U_gRUZxAdwJ6UbCpsCesvcVOOiUVC6aF6pBvrMYZU,1332
198
+ dodal/devices/beamlines/i15/focussing_mirror.py,sha256=IVZK3z-c9N-k6acjwkUXcrfHiJemymfH71dGG3Vz1MM,1744
199
+ dodal/devices/beamlines/i15/jack.py,sha256=rXmoDTI1I1jfe1JG7roenjLyCBTdnf4eDKRTKhXP3fo,964
200
+ dodal/devices/beamlines/i15/laue.py,sha256=H0nLPH8gqJejBZtZeY0lv84EaE2lqdL3CmXvT9iHhpk,496
201
+ dodal/devices/beamlines/i15/motors.py,sha256=-kGHisSWc_zuV9m2L0mGgmiSiIZ7puLsimddk28h_7s,831
202
+ dodal/devices/beamlines/i15/multilayer_mirror.py,sha256=WUWMcMZhfnJ2xaphDlnROblbhWxWgMi0VhMRhmnSnN8,742
203
+ dodal/devices/beamlines/i15/rail.py,sha256=9cRTRKy6uZBASMhK1wC8K_k_5FfLgHnoh9VblSOTkpQ,428
204
+ dodal/devices/beamlines/i17/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
+ dodal/devices/beamlines/i17/i17_apple2.py,sha256=3aP4JfQDHvC13cV3nlbnrL_LbzOXhA6Gxcz1CAW_d-o,2116
206
+ dodal/devices/beamlines/i18/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
+ dodal/devices/beamlines/i18/diode.py,sha256=DiR0AUFlpHNGODt6x8bzgCC1XcnsYUdRD1teIiFfOfY,1469
208
+ dodal/devices/beamlines/i18/kb_mirror.py,sha256=W4R3TeulSjosUqAFIIznyWzje_Y2AoEf9f8N-NkisYM,710
209
+ dodal/devices/beamlines/i19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
+ dodal/devices/beamlines/i19/backlight.py,sha256=4NjpCgqoTFu68boQtTf-ZgLU0MTsss0dCUlIinTqiq8,672
211
+ dodal/devices/beamlines/i19/beamstop.py,sha256=JkcvkEmcC3eY3GHrvYNGqv2yDwrfgdpWKVZJWSadWW8,715
212
+ dodal/devices/beamlines/i19/diffractometer.py,sha256=QCEi0Gko6Ja9_ec2vfdazwMspknvX63jcz8hQ2XW1xo,1182
213
+ dodal/devices/beamlines/i19/mapt_configuration.py,sha256=jTbGvmqxyz5VGlMfoEL5q6yEubtRUyZOYLW0B-TiXzc,1722
214
+ dodal/devices/beamlines/i19/pin_col_stages.py,sha256=vBZNhoQYzUv1n99ZmSox7G16G94a0a5JYGGmwcHT1tw,6756
215
+ dodal/devices/beamlines/i19/pin_tip.py,sha256=njZpIIvgDUDaSA-enX6mWzJHTBoPtfECdUH7XlDsHbo,1166
216
+ dodal/devices/beamlines/i19/access_controlled/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
+ dodal/devices/beamlines/i19/access_controlled/attenuator_motor_squad.py,sha256=UGNOh_pTeLVoh4bq1q9AT4cDX99l5p3DDHa-nkaIJec,2594
218
+ dodal/devices/beamlines/i19/access_controlled/blueapi_device.py,sha256=pZXrRyfwzIdCpDqDX3-bo94zCjHzbB2pllVMPVtif5s,4235
219
+ dodal/devices/beamlines/i19/access_controlled/hutch_access.py,sha256=hnClUWCL1qTYzuBMmhXX85jiNak7mbYfyHEh54tZ27U,377
220
+ dodal/devices/beamlines/i19/access_controlled/piezo_control.py,sha256=klt1jOfHbthp-pjTHZ3VG7HqAXvRGImVPgidZ0jZ32g,2753
221
+ dodal/devices/beamlines/i19/access_controlled/shutter.py,sha256=uJeD7ij1HUtxigZHvjeEJoYnduT5UQokSOfO8VrzAdE,2172
222
+ dodal/devices/beamlines/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
+ dodal/devices/beamlines/i21/__init__.py,sha256=cqrWbk96ojH_0lDmAofQPtjbrgh1cW43-epvjh0Zc6Y,50
224
+ dodal/devices/beamlines/i21/enums.py,sha256=asy90S84fBBydYwz89jNeocz04JXpbHn8ynaPzW353c,141
225
+ dodal/devices/beamlines/i22/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
+ dodal/devices/beamlines/i22/dcm.py,sha256=UR1L6ES0hiDAevMJevIYtxdlkvoyefnAtzwifJMT3-c,4546
227
+ dodal/devices/beamlines/i22/fswitch.py,sha256=te7EXCSe0eJoQ5L7BYXab5r0CfZdIVYtToPNiHX2rlw,2875
228
+ dodal/devices/beamlines/i22/nxsas.py,sha256=ttSqcQaSXA-_Vsgjiy8cc6mudc3jrIEhr_lXRonmRi8,5494
229
+ dodal/devices/beamlines/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
+ dodal/devices/beamlines/i24/aperture.py,sha256=dlH_g7OPTBc5QRMd-ADU3_GDTKh668kkMHo4k_JxUcY,770
231
+ dodal/devices/beamlines/i24/beam_center.py,sha256=wiq0wbKzeYN1EsOP49S-5oSG0cpQFkBLJWyoKxW8lZc,447
232
+ dodal/devices/beamlines/i24/beamstop.py,sha256=bBEmtXu-cxyjrCC5iyjOSdugpqndz6kQxF_1ogScVWM,1133
233
+ dodal/devices/beamlines/i24/commissioning_jungfrau.py,sha256=lp0y48YfS5HLUKCUpDblwmYyb0KGcGG8VTjL9F-fOYs,4383
234
+ dodal/devices/beamlines/i24/dcm.py,sha256=leMJUuV2nNr8Y8h2TBVVxZEUQvv_sJz6MteBmDq1BRs,1258
235
+ dodal/devices/beamlines/i24/dual_backlight.py,sha256=R70ZHP-aP8LjbTuMgV12f65CqugThIs-CnnQZ6Gvbpk,2081
236
+ dodal/devices/beamlines/i24/focus_mirrors.py,sha256=DYiYLpDw8FJ1LYHxLOxE_om5qGfUo2itzskgqhmQZlg,1763
237
+ dodal/devices/beamlines/i24/pmac.py,sha256=LwWnsqPO2h1UBRtIf1wgar-CTaQTWr8EhIz2i5WvT60,7013
238
+ dodal/devices/beamlines/i24/vgonio.py,sha256=sxSmcYZayVJPJz_D_91j9PmNor7Tbl1RGQFRrdtESlw,533
239
+ dodal/devices/beamlines/p60/__init__.py,sha256=cLrjUaHNJRtRBb1ic_LTlxIi_nH6_hZN8-5gWCt0Q6w,229
240
+ dodal/devices/beamlines/p60/enums.py,sha256=S0dFIG4k1aI995q-SSZYfKYiXRog_SnTTOVHOtP-qug,521
241
+ dodal/devices/beamlines/p60/lab_xray_source.py,sha256=4MwZEUHW2PUuGka4TuH43GGVhUek24FnbyH-gsjhbUM,604
242
+ dodal/devices/beamlines/p99/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
+ dodal/devices/beamlines/p99/andor2_point.py,sha256=9-Yr3RTxH4lcuRQBhESCDfoQ3aznWqegIpUxIK042cA,1338
244
+ dodal/devices/beamlines/p99/sample_stage.py,sha256=DvHU556Gp0wFiufZiwY3o2W4xmsCL5uSwNnhd8HPAnc,528
245
+ dodal/devices/beamsize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
+ dodal/devices/beamsize/beamsize.py,sha256=J0xtG9NCPUvlJ0leewWzFpEYY-Oz1GFSOTkSlZ835ms,145
247
+ dodal/devices/current_amplifiers/__init__.py,sha256=-MhT-t-GJ83rrvTDBCoWub_NKYkRtu4sEj8-y5XZBP0,782
248
+ dodal/devices/current_amplifiers/current_amplifier.py,sha256=YESVmd3DcTBUV_n9QaKBnJiASivk6CRu2S_Noyxb8DU,2676
249
+ dodal/devices/current_amplifiers/current_amplifier_detector.py,sha256=KLmyHjvWGsB2FDU3rxalBkcxtz8uGZ--_FODbTOGrA0,3949
250
+ dodal/devices/current_amplifiers/femto.py,sha256=njpNSTjOLPBZKW6qvkrKiuIxeFBpO3oBQZc1VKbVMRg,4483
251
+ dodal/devices/current_amplifiers/sr570.py,sha256=y2kr_Adwi_7wgKR16nQE9_Ic-uhyMIdjhdsRO75A5vw,7698
252
+ dodal/devices/current_amplifiers/struck_scaler_counter.py,sha256=Sv6rYfNpR3A4gGGSVXelUmGRabu7fuVuTRsSWSwZ-u4,2565
253
+ dodal/devices/detector/__init__.py,sha256=-RdACL3tzc3lLArWOoGNje48UUlv2fElOmGOz9yOuO0,317
254
+ dodal/devices/detector/det_dim_constants.py,sha256=arBWvzMwybatdSiCMAiwB4Bq1dX-wkLi54xPPfTfQhY,2772
255
+ dodal/devices/detector/det_dist_to_beam_converter.py,sha256=nSkhiEESyuzdrWoPu6h3C05DnOhCXa6DZd-9vU5JYc0,1625
256
+ dodal/devices/detector/det_resolution.py,sha256=jjUzfRknNQyN7SiPDi_4smDIm45mEh7DNyJHdoY8gfM,3306
257
+ dodal/devices/detector/detector.py,sha256=3u6aavPRRn4jrpJX5BxBRwAt3rvPljv2JL8G84VYdIE,4825
258
+ dodal/devices/detector/detector_motion.py,sha256=Ly4nz_AsB-_EDOADMC2u2J0dunpkOMbafVN_dgh3T-E,1389
259
+ dodal/devices/electron_analyser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
260
+ dodal/devices/electron_analyser/base/__init__.py,sha256=FVjJ6o4Gy7eXvw-IhF23iUBh4Ux7EiXpB0Pl2DUxjsg,1616
261
+ dodal/devices/electron_analyser/base/base_controller.py,sha256=PJ4zC6ZsMF8Fm6HBkiNrqZR-_eR3IIRgt6_3Zam9RJk,3410
262
+ dodal/devices/electron_analyser/base/base_detector.py,sha256=Luw8QgiqAFvrGgDjweyh-qHdcf7Z99oua48ODhmnOY4,7095
263
+ dodal/devices/electron_analyser/base/base_driver_io.py,sha256=0w5LURTA_Xy_i28999s4LCfkK3ry2dnQz-XzMHv5si4,8916
264
+ dodal/devices/electron_analyser/base/base_enums.py,sha256=2QObyZln7pvWyLgixabGGWvfs3aIF98gVSz2B4NS1OM,120
265
+ dodal/devices/electron_analyser/base/base_region.py,sha256=mBTflMli8NF2t1Beb8_fBlrR_245sRNR8bLfe1Wfjuk,7478
266
+ dodal/devices/electron_analyser/base/base_util.py,sha256=D2HFmoXq1wa3jhmfbgRLepT4kvbyy5DjPCpNGFMIWDk,1285
267
+ dodal/devices/electron_analyser/base/energy_sources.py,sha256=4irm_kHWW0MEBuM9gnOY3j5WPao4C32KTg7oTicHNUc,3220
268
+ dodal/devices/electron_analyser/specs/__init__.py,sha256=PiId7pXfFqG0UznwzTROAp3iORuU6UEwn_0ohKBxKNk,315
269
+ dodal/devices/electron_analyser/specs/specs_detector.py,sha256=QZFltj9-4e42BWmwT0O3vTCcx6Y6gMAKO5FZmH7yIMk,1740
270
+ dodal/devices/electron_analyser/specs/specs_driver_io.py,sha256=SVb0tQGbb6m9DbjmNxfWKCwDVqMSh5a8Ad5RsMb6rZs,4449
271
+ dodal/devices/electron_analyser/specs/specs_enums.py,sha256=cXPcbIGEN5ZJJt1KeiNJEtZkkcjQ-fz7dBfsU283zYQ,235
272
+ dodal/devices/electron_analyser/specs/specs_region.py,sha256=uF12HNzh1I9csYVS3j-CAGuCHCblVzYFBp_4G7JCnvI,1165
273
+ dodal/devices/electron_analyser/vgscienta/__init__.py,sha256=s8acayQN8E0j1H9YEr6Q47Kxu3OtrPuZHk3ARuuot_A,397
274
+ dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py,sha256=BGHxIo0vojY140Ed2LBg3fheCR9Uqfb3iKqwR_cCao4,2048
275
+ dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py,sha256=QADd2CU52BrRwPquHmHO77gX4EY7x-yWmbOfGZhe_k8,3471
276
+ dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py,sha256=3vmX67ExATU8clueVp_mCzw3OUQx799oZMc8gyHtMJE,205
277
+ dodal/devices/electron_analyser/vgscienta/vgscienta_region.py,sha256=SvQmB_NsdzKhuKkuzvkirsYMaqR-1bOjppVsBP4bBqo,2219
278
+ dodal/devices/insertion_device/__init__.py,sha256=xCXZE4xz9vb7crR7XSatUQmSLkYBhQnYum9ba2yvRTc,1720
279
+ dodal/devices/insertion_device/apple2_controller.py,sha256=90iTmuFvVtOPo7ZI5vWdANTe0R4BfZnzfImsWPWnvNI,15298
280
+ dodal/devices/insertion_device/apple2_undulator.py,sha256=lqmhKlHYw8UDCXEYcXxn2hp5XT0Mr9sHOP4BRjc1dDg,14915
281
+ dodal/devices/insertion_device/apple_knot_controller.py,sha256=ZnAvWtW5vUlhXDtBmM-f5RNalEc08lZBaIqMe8c3uGg,9514
282
+ dodal/devices/insertion_device/energy.py,sha256=gsMXloaHBR6Z1u7BVT2okq0CveYTiSolMGQnmXqktRs,5578
283
+ dodal/devices/insertion_device/energy_motor_lookup.py,sha256=gUlSAIipo03-7Q_GMvP_ZqwF8PDT6GTxeYwTX1EOrxk,2627
284
+ dodal/devices/insertion_device/enum.py,sha256=IQgVUiY23hcOk3G073OAspeRJ9V4YEx2MntKlUt0Nqk,265
285
+ dodal/devices/insertion_device/lookup_table_models.py,sha256=vG_Rki0mNkLvFQILHY3U_d3IFoQGj1VqEbt39ISJ-6o,9925
286
+ dodal/devices/insertion_device/polarisation.py,sha256=tN7LeWsAodVwMdFLs6YFICPecadiR8M9eYY5KKXhi-s,1333
287
+ dodal/devices/mx_phase1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
288
+ dodal/devices/mx_phase1/beamstop.py,sha256=ZlI0cyGabwGAtBbXOZ3YzjGoyTtC_lmO1FhcxaDEXIo,3755
289
+ dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
+ dodal/devices/oav/oav_calculations.py,sha256=mRH4SirVnwK-npsyi7zkHT6YOrGGnOWdu_g_v8G0wL0,2886
291
+ dodal/devices/oav/oav_detector.py,sha256=Pemw3e9NSXudgLECeJTQtOxL9oOzNDA5mJdh2bvLCHU,11236
292
+ dodal/devices/oav/oav_parameters.py,sha256=ZO8J0AlnEYNNNLaqMDzP9qY-lcHF10Zvna98IlIoE30,6978
293
+ dodal/devices/oav/oav_to_redis_forwarder.py,sha256=1ygqOIWiNbaos9klwVj0_PLbLRLihb5bu0Fvk2_6om8,6353
294
+ dodal/devices/oav/utils.py,sha256=17Ye6JGekok1ruWU-eY75D9B-SOwJHGe_PXN-oxcEmk,4204
295
+ dodal/devices/oav/pin_image_recognition/__init__.py,sha256=7QiYG855BHpJLBLzTKzzjfKeB62B5m9yWWwewbiuz9M,6554
296
+ dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=q6EkOpG9O7VMq-Bkg-XqyOOLWmGGOeGukqbtj4saO1w,902
297
+ dodal/devices/oav/pin_image_recognition/utils.py,sha256=DjY5gpr0hNhp8XT4auAdaXWKyElQyMMAKHguJuSF2fw,9561
298
+ dodal/devices/oav/snapshots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
299
+ dodal/devices/oav/snapshots/grid_overlay.py,sha256=PZdSPVYlrfIhQXPfazVDeOxjdADke3O0nfNwESAfx80,3683
300
+ dodal/devices/oav/snapshots/snapshot.py,sha256=Ksjy6B2wyxFdMyHAPSPcTVhx_UTEd_T9JDnTDMG4VJ0,499
301
+ dodal/devices/oav/snapshots/snapshot_image_processing.py,sha256=x2JM5N3d8YV1dXJ7QP0Ay5B91Jx7OvWQ8UPOVNc2GK4,2417
302
+ dodal/devices/oav/snapshots/snapshot_with_grid.py,sha256=04MgMrclfB3cJuv2AmYE8oqQscUAr1JVmQIb5DIa-rU,2448
303
+ dodal/devices/temperture_controller/__init__.py,sha256=AV5Bxci_4xPwwv0zg3fp6N8Zx7Z7XKt4fzMQzQt-Fbo,128
304
+ dodal/devices/temperture_controller/lakeshore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
+ dodal/devices/temperture_controller/lakeshore/lakeshore.py,sha256=zI462scR4J1LYPpwwQg46OWg9W3zSK7wkOB80M7fKvE,6029
306
+ dodal/devices/temperture_controller/lakeshore/lakeshore_io.py,sha256=3bX4G7f0VLoP7333aDLSKRBY_6zoYUInEUQL1T_jz8Q,3576
307
+ dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
308
+ dodal/devices/util/adjuster_plans.py,sha256=HnPwPxyNfmCeANvs6SV8d3LD7zMBxumyA3Sw3bosHbM,824
309
+ dodal/devices/util/epics_util.py,sha256=wgw9AU5ngfjKIb6-Whvy_WIITwQRqeyK2SoV0QOR9Ck,4717
310
+ dodal/devices/util/lookup_tables.py,sha256=ZOU5oj2T6gXMmK_nlioSQC8qH6wrLQmKuO3Y3YtWEZs,3816
311
+ dodal/devices/xspress3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
+ dodal/devices/xspress3/xspress3.py,sha256=oHX-uzMQGnsQKfqybK9_4Y1bs6x1szNKR5aA1C8-h3M,4579
313
+ dodal/devices/xspress3/xspress3_channel.py,sha256=dc13mOM-TemUaMIQWQ7Kno5CPXVmrgH_9OcJ7mbgWE0,1611
314
+ dodal/devices/zebra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
315
+ dodal/devices/zebra/zebra.py,sha256=9KpJKuQ5tGX4_qQa3w-EmuO2vAEvZ5dsRKR_0yQ_Qhk,10058
316
+ dodal/devices/zebra/zebra_constants_mapping.py,sha256=jrYeEgUEwMkhjXsXtWeacRTjL8WmzWTgJcjZ7nKZXNQ,4245
317
+ dodal/devices/zebra/zebra_controlled_shutter.py,sha256=rGfT16uMa7gg_s70_sqcH7zm61KeMUMm3po8k5Obi2s,1881
318
+ dodal/devices/zocalo/__init__.py,sha256=76YCA9dS0MF4AqSa-r5ss6oOgKVVjmVcbQYGtuOyeFA,498
319
+ dodal/devices/zocalo/zocalo_constants.py,sha256=vu7Xjz7UNEpBUWEEBxDvP4bVFkZIN6NLGfQDpWbCjH8,98
320
+ dodal/devices/zocalo/zocalo_interaction.py,sha256=bosS-hFVPElXGAjklP8THsNJHWUPyyO7PI0ENo8vTP4,3549
321
+ dodal/devices/zocalo/zocalo_results.py,sha256=4dMAvyRzWTDNnMSZrPY29ArLErCfREeM1V3oodIosZE,12876
322
+ dodal/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
+ dodal/parameters/experiment_parameter_base.py,sha256=vONep-llSqhM0OpVj3zFUxdnzRQpu9y9mPhh2HauEJE,226
324
+ dodal/plan_stubs/__init__.py,sha256=HbaQ9K1pSznrmDecSRIhClLWercMRuO9G7GoFvtZ6lY,168
325
+ dodal/plan_stubs/check_topup.py,sha256=urirgAdIqJ2A2lxqSIXidmuAALEPHQgu6gQnFqNcR60,5394
326
+ dodal/plan_stubs/data_session.py,sha256=rBlQmAAr1NghyIF7_s3zU535LTEKEi4wDbFdrlgAHoo,2172
327
+ dodal/plan_stubs/motor_utils.py,sha256=29t9z8axGbeLLUPoXAV-So8ouxMbLB4DKbcqY68SWWE,4486
328
+ dodal/plan_stubs/pressure_jump_cell.py,sha256=VRRveZtBHEiHL_RvFQagKEthF1S4TWd0w-xwSlZMEJo,535
329
+ dodal/plan_stubs/wrapped.py,sha256=M5bFAWctwTWhSuigX6lM6p7YzaNrVYMLDzib1p-a-Fw,4014
330
+ dodal/plans/__init__.py,sha256=Hi-PVPyOMWcnbggtrORhhOCsH9TXTCW_mgxYVr5EKEU,94
331
+ dodal/plans/bimorph.py,sha256=7zGIwaiih9yGNuJASwmOhghN3wtroOxwWjAce8Hy4AA,12224
332
+ dodal/plans/configure_arm_trigger_and_disarm_detector.py,sha256=YHpuiGoyblFi0quYTrIAa1oAtIb-eQk7K7Hjg4o434Q,6095
333
+ dodal/plans/load_panda_yaml.py,sha256=OF-ZygZyAyQEUdrAWiIxWZ6QhAsVx4Mm9ngRYB1mzKI,433
334
+ dodal/plans/save_panda.py,sha256=X-zR5GysBPp3M7ZpEYEqCUSc4nJYzHJBA44e52uQ6F4,3099
335
+ dodal/plans/spec_path.py,sha256=AQGnpZmGB7fwGT6X5UR9so4we9OEG5g5EGLLLrV-kh0,2086
336
+ dodal/plans/verify_undulator_gap.py,sha256=CUloihgDj2LGJagCvwVCzgr9DbK-u9KoEbKcfENi3D4,638
337
+ dodal/plans/wrapped.py,sha256=9NTdVIskBGv4wyN_Qf-bidBqnUD11dMz7g0o5uYYjM8,2117
338
+ dodal/plans/device_setup_plans/__init__.py,sha256=oPVfxLaob8ekh_3H5MxsFBeqSeEQd4iz2kd6eQS2x6Y,150
339
+ dodal/plans/device_setup_plans/setup_pin_tip_params.py,sha256=sJ-GmCuiFrPopcDONwl7itHcGEIaJBnsMz5Iw243PtI,1828
340
+ dodal/plans/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
341
+ dodal/plans/preprocessors/verify_undulator_gap.py,sha256=r-4ut84ABPIaFlr6HUxPQC9C-h13H37Z5SDu_HT0_Z8,1865
342
+ dodal/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
+ dodal/testing/electron_analyser/__init__.py,sha256=-lc1opD2dCv0x678-J-ApOhHtvEvcslfOQ7E613U8-Y,118
344
+ dodal/testing/electron_analyser/device_factory.py,sha256=0XzKCjI8Q1UQwQqcOU_I_W5Dj-E8tA2OrCDB6Ud1x1Q,2218
345
+ dodal/testing/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
346
+ dodal/testing/fixtures/run_engine.py,sha256=9xBrVPhdOislJUcb46oIsSJFBozf4y0MDn5MVlmCFi0,4196
347
+ dodal/testing/fixtures/utils.py,sha256=jrHywaV9g4Uso3et_UYn2WOHWGgckw4fmd1buiJVPy4,1856
348
+ dodal/testing/fixtures/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
349
+ dodal/testing/fixtures/devices/apple2.py,sha256=g1T_zKIMUW245gMaXmvBomJ9HtwltKgeNFWEHmWNd1c,4086
350
+ dls_dodal-2.0.0.dist-info/METADATA,sha256=2FLWxC1eEEskPEodgvB4clLbcWJaxSkB_kTOq-2lF08,15600
351
+ dls_dodal-2.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
352
+ dls_dodal-2.0.0.dist-info/entry_points.txt,sha256=0IO1Bjlnv0vJSSFdGEZ-S_pqQNkE2FnPTA6f0-aTBs8,87
353
+ dls_dodal-2.0.0.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
354
+ dls_dodal-2.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
dodal/_version.py CHANGED
@@ -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.69.0'
32
- __version_tuple__ = version_tuple = (1, 69, 0)
31
+ __version__ = version = '2.0.0'
32
+ __version_tuple__ = version_tuple = (2, 0, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -28,13 +28,11 @@ _BEAMLINE_NAME_OVERRIDES = {
28
28
 
29
29
 
30
30
  def all_beamline_modules() -> Iterable[str]:
31
- """
32
- Get the names of all importable modules in beamlines
31
+ """Get the names of all importable modules in beamlines.
33
32
 
34
33
  Returns:
35
- Iterable[str]: Generator of beamline module names
34
+ Iterable [str]: Generator of beamline module names.
36
35
  """
37
-
38
36
  # This is done by inspecting file names rather than modules to avoid
39
37
  # premature importing
40
38
  spec = importlib.util.find_spec(__name__)
@@ -54,11 +52,10 @@ def all_beamline_modules() -> Iterable[str]:
54
52
 
55
53
 
56
54
  def all_beamline_names() -> Iterable[str]:
57
- """
58
- Get the names of all beamlines as per the ${BEAMLINE} environment variable
55
+ """Get the names of all beamlines as per the ${BEAMLINE} environment variable.
59
56
 
60
57
  Returns:
61
- Iterable[str]: Generator of beamline names that dodal supports
58
+ Iterable[str]: Generator of beamline names that dodal supports.
62
59
  """
63
60
  inverse_mapping = _module_name_overrides()
64
61
  for module_name in all_beamline_modules():
@@ -67,16 +64,14 @@ def all_beamline_names() -> Iterable[str]:
67
64
 
68
65
  @lru_cache
69
66
  def _module_name_overrides() -> Mapping[str, set[str]]:
70
- """
71
- Get the inverse of _BEAMLINE_NAME_OVERRIDES so that modules can be mapped back to
67
+ """Get the inverse of _BEAMLINE_NAME_OVERRIDES so that modules can be mapped back to
72
68
  beamlines. _BEAMLINE_NAME_OVERRIDES is expected to be a constant so the return
73
69
  value is cached.
74
70
 
75
71
  Returns:
76
72
  Mapping[str, set[str]]: A dictionary mapping the name of a dodal module to the
77
- set of beamlines it supports.
73
+ set of beamlines it supports.
78
74
  """
79
-
80
75
  inverse_mapping: dict[str, set[str]] = {}
81
76
  for beamline, module in _BEAMLINE_NAME_OVERRIDES.items():
82
77
  inverse_mapping[module] = inverse_mapping.get(module, set()).union({beamline})
@@ -84,15 +79,13 @@ def _module_name_overrides() -> Mapping[str, set[str]]:
84
79
 
85
80
 
86
81
  def module_name_for_beamline(beamline: str) -> str:
87
- """
88
- Get the module name for a particular beamline, it may differ from the beamline
89
- name e.g. i20-1 -> i20_1
82
+ """Get the module name for a particular beamline, it may differ from the beamline
83
+ name e.g. i20-1 -> i20_1.
90
84
 
91
85
  Args:
92
- beamline: The beamline name as per the ${BEAMLINE} environment variable
86
+ beamline (str): The beamline name as per the ${BEAMLINE} environment variable.
93
87
 
94
88
  Returns:
95
- str: The importable module name
89
+ str: The importable module name.
96
90
  """
97
-
98
91
  return _BEAMLINE_NAME_OVERRIDES.get(beamline, beamline)
dodal/beamlines/adsim.py CHANGED
@@ -25,32 +25,32 @@ Usage Example
25
25
 
26
26
  Start the simulated beamline by following the epics-containers tutorial at
27
27
  https://epics-containers.github.io/main/tutorials/launch_example.html
28
- And ensure that the signals are visible:
28
+ And ensure that the signals are visible::
29
29
 
30
- ```sh
31
- export EPICS_CA_ADDR_LIST=127.0.0.1:9064
32
- export EPICS_CA_NAME_SERVERS=127.0.0.1:9064
33
- export EPICS_PVA_NAME_SERVERS=127.0.0.1:9075
34
- ```
30
+ sh
31
+ export EPICS_CA_ADDR_LIST=127.0.0.1:9064
32
+ export EPICS_CA_NAME_SERVERS=127.0.0.1:9064
33
+ export EPICS_PVA_NAME_SERVERS=127.0.0.1:9075
35
34
 
36
35
  How to use the devices in a plan:
37
- In an ipython terminal run:
36
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
37
 
39
- ```python
40
- from bluesky.run_engine import RunEngine
38
+ In an ipython terminal run::
41
39
 
42
- from dodal.beamlines.adsim import devices
43
- from dodal.plans import count
40
+ python
41
+ from bluesky.run_engine import RunEngine
44
42
 
43
+ from dodal.beamlines.adsim import devices
44
+ from dodal.plans import count
45
45
 
46
- run_engine = RunEngine()
47
46
 
48
- built = devices.build_and_connect().or_raise()
49
- d = built["det"]
50
- s = built["stage"]
47
+ run_engine = RunEngine()
51
48
 
52
- run_engine(count([d], num=10))
53
- ```
49
+ built = devices.build_and_connect().or_raise()
50
+ d = built["det"]
51
+ s = built["stage"]
52
+
53
+ run_engine(count([d], num=10))
54
54
  """
55
55
 
56
56
 
dodal/beamlines/b01_1.py CHANGED
@@ -1,3 +1,6 @@
1
+ from pathlib import Path
2
+
3
+ from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
1
4
  from ophyd_async.epics.adaravis import AravisDetector
2
5
  from ophyd_async.epics.adcore import NDROIStatIO
3
6
  from ophyd_async.fastcs.panda import HDFPanda
@@ -5,6 +8,7 @@ from ophyd_async.fastcs.panda import HDFPanda
5
8
  from dodal.common.beamlines.beamline_utils import (
6
9
  device_factory,
7
10
  get_path_provider,
11
+ set_path_provider,
8
12
  )
9
13
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
10
14
  from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
@@ -28,6 +32,13 @@ See the IOC status here:
28
32
  https://argocd.diamond.ac.uk/applications?showFavorites=false&proj=&sync=&autoSync=&health=&namespace=&cluster=&labels=
29
33
  """
30
34
 
35
+ # This should be removed when the DeviceManager is adopted
36
+ try:
37
+ get_path_provider()
38
+ except NameError:
39
+ # If one hasn't already been set, use a default to stop things crashing
40
+ set_path_provider(StaticPathProvider(UUIDFilenameProvider(), Path("/tmp")))
41
+
31
42
 
32
43
  @device_factory()
33
44
  def panda() -> HDFPanda:
dodal/beamlines/b07.py CHANGED
@@ -1,46 +1,42 @@
1
- from dodal.common.beamlines.beamline_utils import (
2
- device_factory,
3
- )
1
+ from dodal.beamlines.b07_shared import devices as b07_shared_devices
4
2
  from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
5
- from dodal.devices.b07 import Grating, LensMode, PsuMode
3
+ from dodal.device_manager import DeviceManager
4
+ from dodal.devices.beamlines.b07 import Grating, LensMode, PsuMode
6
5
  from dodal.devices.electron_analyser.base import EnergySource
7
6
  from dodal.devices.electron_analyser.specs import SpecsDetector
8
7
  from dodal.devices.pgm import PlaneGratingMonochromator
9
- from dodal.devices.synchrotron import Synchrotron
10
8
  from dodal.log import set_beamline as set_log_beamline
11
9
  from dodal.utils import BeamlinePrefix, get_beamline_name
12
10
 
13
11
  BL = get_beamline_name("b07")
14
- PREFIX = BeamlinePrefix(BL, suffix="B")
12
+ B_PREFIX = BeamlinePrefix(BL, suffix="B")
15
13
  set_log_beamline(BL)
16
14
  set_utils_beamline(BL)
17
15
 
16
+ devices = DeviceManager()
17
+ devices.include(b07_shared_devices)
18
18
 
19
- @device_factory()
20
- def synchrotron() -> Synchrotron:
21
- return Synchrotron()
22
19
 
23
-
24
- @device_factory()
20
+ @devices.factory()
25
21
  def pgm() -> PlaneGratingMonochromator:
26
22
  return PlaneGratingMonochromator(
27
- prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
23
+ prefix=f"{B_PREFIX.beamline_prefix}-OP-PGM-01:",
28
24
  grating=Grating,
29
25
  )
30
26
 
31
27
 
32
- @device_factory()
33
- def energy_source() -> EnergySource:
34
- return EnergySource(pgm().energy.user_readback)
28
+ @devices.factory()
29
+ def energy_source(pgm: PlaneGratingMonochromator) -> EnergySource:
30
+ return EnergySource(pgm.energy.user_readback)
35
31
 
36
32
 
37
- # Connect will work again after this work completed
38
- # https://jira.diamond.ac.uk/browse/B07-1104
39
- @device_factory()
40
- def analyser() -> SpecsDetector[LensMode, PsuMode]:
33
+ # CAM:IMAGE will fail to connect outside the beamline network,
34
+ # see https://github.com/DiamondLightSource/dodal/issues/1852
35
+ @devices.factory()
36
+ def analyser(energy_source: EnergySource) -> SpecsDetector[LensMode, PsuMode]:
41
37
  return SpecsDetector[LensMode, PsuMode](
42
- prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
38
+ prefix=f"{B_PREFIX.beamline_prefix}-EA-DET-01:CAM:",
43
39
  lens_mode_type=LensMode,
44
40
  psu_mode_type=PsuMode,
45
- energy_source=energy_source(),
41
+ energy_source=energy_source,
46
42
  )