dls-dodal 1.58.0__tar.gz → 1.60.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.
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/PKG-INFO +3 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/write-tests.md +30 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/reference/device-standards.md +2 -2
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/pyproject.toml +2 -2
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/PKG-INFO +3 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/SOURCES.txt +33 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/requires.txt +2 -2
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/_version.py +3 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/__init__.py +1 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b07.py +10 -5
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b07_1.py +10 -5
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b21.py +22 -0
- dls_dodal-1.60.0/src/dodal/beamlines/i02_1.py +117 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i03.py +5 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i04.py +5 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i09.py +10 -9
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i09_1.py +10 -5
- dls_dodal-1.60.0/src/dodal/beamlines/i10-1.py +25 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i10.py +17 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i11.py +0 -17
- dls_dodal-1.60.0/src/dodal/beamlines/i15.py +242 -0
- dls_dodal-1.60.0/src/dodal/beamlines/i15_1.py +156 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i19_1.py +3 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i19_2.py +12 -1
- dls_dodal-1.60.0/src/dodal/beamlines/i21.py +27 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i22.py +12 -2
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i24.py +32 -3
- dls_dodal-1.60.0/src/dodal/beamlines/k07.py +31 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/p60.py +10 -9
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/apple2_undulator.py +18 -142
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/attenuator/attenuator.py +48 -2
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/attenuator/filter.py +3 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/attenuator/filter_selections.py +26 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/eiger.py +2 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/__init__.py +4 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +30 -18
- dls_dodal-1.60.0/src/dodal/devices/electron_analyser/energy_sources.py +101 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/specs/detector.py +6 -6
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +7 -15
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +6 -6
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +7 -14
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/fast_grid_scan.py +130 -64
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/focusing_mirror.py +30 -0
- dls_dodal-1.60.0/src/dodal/devices/i02_1/fast_grid_scan.py +61 -0
- dls_dodal-1.60.0/src/dodal/devices/i02_1/sample_motors.py +19 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i04/murko_results.py +69 -23
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/i10_apple2.py +282 -140
- dls_dodal-1.60.0/src/dodal/devices/i15/dcm.py +77 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/focussing_mirror.py +71 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/jack.py +39 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/laue.py +18 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/motors.py +27 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/multilayer_mirror.py +25 -0
- dls_dodal-1.60.0/src/dodal/devices/i15/rail.py +17 -0
- dls_dodal-1.60.0/src/dodal/devices/i21/__init__.py +3 -0
- dls_dodal-1.60.0/src/dodal/devices/i21/enums.py +8 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i22/nxsas.py +2 -0
- dls_dodal-1.60.0/src/dodal/devices/i24/commissioning_jungfrau.py +114 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/motors.py +52 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/slits.py +18 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/smargon.py +0 -56
- dls_dodal-1.60.0/src/dodal/devices/temperture_controller/__init__.py +3 -0
- dls_dodal-1.60.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +204 -0
- dls_dodal-1.60.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +112 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/tetramm.py +38 -16
- dls_dodal-1.60.0/src/dodal/devices/v2f.py +39 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zebra/zebra.py +1 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +1 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/parameters/experiment_parameter_base.py +1 -5
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_watcher_utils.py +14 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/conftest.py +55 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/abstract/test_base_detector.py +4 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +24 -8
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/conftest.py +28 -17
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/specs/test_detector.py +6 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/specs/test_driver_io.py +14 -21
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/test_detector.py +4 -3
- dls_dodal-1.60.0/tests/devices/electron_analyser/test_energy_sources.py +93 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/vgscienta/test_detector.py +6 -3
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +21 -22
- dls_dodal-1.60.0/tests/devices/i02_1/test_fast_grid_scan.py +23 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i04/test_murko_results.py +125 -11
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_i10Apple2.py +106 -73
- dls_dodal-1.60.0/tests/devices/i15/test_dcm.py +7 -0
- dls_dodal-1.60.0/tests/devices/i24/test_commissioning_jungfrau.py +66 -0
- dls_dodal-1.60.0/tests/devices/temperature_controller/__init__.py +0 -0
- dls_dodal-1.60.0/tests/devices/temperature_controller/lakeshore/__init__.py +0 -0
- dls_dodal-1.60.0/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +136 -0
- dls_dodal-1.60.0/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +81 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_attenuator.py +44 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_gridscan.py +65 -75
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_tetramm.py +41 -7
- dls_dodal-1.60.0/tests/devices/util/__init__.py +0 -0
- dls_dodal-1.60.0/tests/fake_zocalo/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_zocalo/__main__.py +1 -1
- dls_dodal-1.60.0/tests/plan_stubs/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_wrapped_stubs.py +6 -4
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_scanspec.py +9 -9
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_wrapped.py +9 -9
- dls_dodal-1.58.0/src/dodal/beamlines/i02_1.py +0 -37
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.copier-answers.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.devcontainer/devcontainer.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/CONTRIBUTING.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/actions/install_requirements/action.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/dependabot.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/pages/index.html +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/scripts/check_test_durations.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_dist.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_docs.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_release.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_test.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/_tox.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/ci.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.github/workflows/periodic.yml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.gitignore +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.pre-commit-config.yaml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.vscode/extensions.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.vscode/launch.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.vscode/settings.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/.vscode/tasks.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/Dockerfile +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/LICENSE +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/README.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/catalog-info.yaml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/conftest.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/conf.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/explanations.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/genindex.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/build-docs.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/coverage.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/create-beamline.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/create-device.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/dev-install.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/lint.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/lock-requirements.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/move-code.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/run-tests.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/static-analysis.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to/zocalo.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/how-to.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/index.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/reference/api.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/reference/standards.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/reference.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/tutorials/get_started.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/tutorials/installation.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/docs/tutorials.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/pull_request_template.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/setup.cfg +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamline_specific_utils/i05_shared.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/adsim.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/aithre.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b01_1.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b16.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i05.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i05_1.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i09_2.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i13_1.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i17.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i18.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i19_optics.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i20_1.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/i23.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/p38.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/p45.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/p99.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/beamlines/training_rig.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/cli.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/coordination.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/crystal_metadata.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/device_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/maths.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/udc_directory_provider.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/visit.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/common/watcher_utils.py +1 -1
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/aperture.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/aperturescatterguard.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b07/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b07/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b07_1/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b07_1/ccmc.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b07_1/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b16/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/b16/detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/bimorph_mirror.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/collimation_table.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/common_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/controllers.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/cryostream.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/det_resolution.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/detector/detector_motion.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/diamond_filter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/eiger_odin.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/types.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/util.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/eurotherm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/flux.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/hutch_shutter.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/i10 → dls_dodal-1.60.0/src/dodal/devices/i02_1}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i03/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i03/dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i03/undulator_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i04/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i04/constants.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i04/transfocator.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i05/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i05/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i09/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i09/dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i09/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i09_1/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i09_1/enums.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/i13_1 → dls_dodal-1.60.0/src/dodal/devices/i10}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/diagnostics.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/mirrors.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i10/slits.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i11/diff_stages.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i11/mythen.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i11/nx100robot.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i11/spinner.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/i19 → dls_dodal-1.60.0/src/dodal/devices/i13_1}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i13_1/merlin.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i18/KBMirror.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i18/diode.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/i20_1 → dls_dodal-1.60.0/src/dodal/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/beamstop.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/diffractometer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/hutch_access.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i19/shutter.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/i24 → dls_dodal-1.60.0/src/dodal/devices/i20_1}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i22/dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i22/fswitch.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/oav → dls_dodal-1.60.0/src/dodal/devices/i24}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/aperture.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/beam_center.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/beamstop.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/pmac.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/i24/vgonio.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/ipin.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/linkam3.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/p99 → dls_dodal-1.60.0/src/dodal/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/oav_detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/oav/utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p45.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p60/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p60/enums.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/util → dls_dodal-1.60.0/src/dodal/devices/p99}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p99/andor2_point.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/p99/sample_stage.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/pgm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/qbpm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/robot.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.58.0/src/dodal/devices/zebra → dls_dodal-1.60.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/turbo_slit.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/undulator.py +0 -0
- {dls_dodal-1.58.0/src/dodal/plan_stubs → dls_dodal-1.60.0/src/dodal/devices/util}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/util/epics_util.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/util/lookup_tables.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/webcam.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/xbpm_feedback.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
- {dls_dodal-1.58.0/src/dodal/plans/preprocessors → dls_dodal-1.60.0/src/dodal/devices/zebra}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zocalo/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/log.py +0 -0
- {dls_dodal-1.58.0/system_tests → dls_dodal-1.60.0/src/dodal/plan_stubs}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plan_stubs/check_topup.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plan_stubs/data_session.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plan_stubs/wrapped.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/bimorph.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.58.0/tests → dls_dodal-1.60.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/scanspec.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/plans/wrapped.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/testing/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/testing/setup.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/src/dodal/utils.py +0 -0
- {dls_dodal-1.58.0/tests/beamlines → dls_dodal-1.60.0/system_tests}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/system_tests/test_adsim.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/system_tests/test_cli.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.58.0/tests/common → dls_dodal-1.60.0/tests}/__init__.py +0 -0
- {dls_dodal-1.58.0/tests/common → dls_dodal-1.60.0/tests}/beamlines/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/beamlines/test_b16.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/beamlines/test_i03.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/beamlines/test_i24.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/beamlines/test_mapping.py +0 -0
- {dls_dodal-1.58.0/tests/devices → dls_dodal-1.60.0/tests/common}/__init__.py +0 -0
- {dls_dodal-1.58.0/tests/devices/electron_analyser → dls_dodal-1.60.0/tests/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/beamlines/test_commissioning_mode.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_maths.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.58.0/tests/devices/electron_analyser/abstract → dls_dodal-1.60.0/tests/devices}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/b07_1/test_ccmc.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/current_amplifier/test_femto.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/current_amplifier/test_sr570.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/detector/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/detector/test_detector.py +0 -0
- {dls_dodal-1.58.0/tests/devices/electron_analyser/specs → dls_dodal-1.60.0/tests/devices/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.58.0/tests/devices/electron_analyser/vgscienta → dls_dodal-1.60.0/tests/devices/electron_analyser/abstract}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
- {dls_dodal-1.58.0/tests/devices/i03 → dls_dodal-1.60.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/specs/test_region.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/test_util.py +0 -0
- {dls_dodal-1.58.0/tests/devices/i04 → dls_dodal-1.60.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
- {dls_dodal-1.58.0/tests/devices/i09 → dls_dodal-1.60.0/tests/devices/i02_1}/__init__.py +0 -0
- {dls_dodal-1.58.0/tests/devices/i19 → dls_dodal-1.60.0/tests/devices/i03}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i03/test_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i03/test_undulator_dcm.py +0 -0
- {dls_dodal-1.58.0/tests/devices/i24 → dls_dodal-1.60.0/tests/devices/i04}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i04/test_transfocator.py +0 -0
- {dls_dodal-1.58.0/tests/devices/mx_phase1 → dls_dodal-1.60.0/tests/devices/i09}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i09/test_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i11/test_i11devices.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i11/test_mythen.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i13_1/test_merlin.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i18/test_kb_mirror.py +0 -0
- {dls_dodal-1.58.0/tests/devices/oav → dls_dodal-1.60.0/tests/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i19/test_backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i19/test_beamstop.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i19/test_diffractometer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i19/test_shutter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i22/test_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i22/test_fswitch.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i22/test_metadataholder.py +0 -0
- {dls_dodal-1.58.0/tests/devices/util → dls_dodal-1.60.0/tests/devices/i24}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i24/test_dual_backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i24/test_focus_mirrors.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i24/test_pmac.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/i24/test_vgonio.py +0 -0
- {dls_dodal-1.58.0/tests/fake_zocalo → dls_dodal-1.60.0/tests/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
- {dls_dodal-1.58.0/tests/plan_stubs → dls_dodal-1.60.0/tests/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/conftest.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_oav.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_oav_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/oav/test_snapshots.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/p60/test_lab_xray_source.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/p99/test_p99_stage.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test.png +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_aperture.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_aperture_scatterguard.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_apple2_undulator.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_backlight.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_bart_robot.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_baton.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_beam_converter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_bimorph_mirror.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_controllers.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_diamond_filter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_eiger.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_focusing_mirror.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_hutch_shutter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_motors.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_odin.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_positioner.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_pressure_jump_cell.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_qbpm.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_scintillator.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_slits.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_smargon.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_status.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_synchrotron.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_thawer.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_turbo_slit.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_undulator.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_webcam.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_xbpm_feedback.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_xspress3.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_zebra.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_zebra_shutter.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_zocalo_interaction.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/test_zocalo_results.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_beamline_specific_utils.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/devices/util/test_save_panda.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/conftest.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_compliance.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_cli.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/__init__.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/test_display.configuration +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_log.py +0 -0
- {dls_dodal-1.58.0 → dls_dodal-1.60.0}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.60.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
|
|
@@ -216,7 +216,7 @@ License-File: LICENSE
|
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
218
|
Requires-Dist: ophyd-async[ca,pva]>=0.13.2
|
|
219
|
-
Requires-Dist: bluesky
|
|
219
|
+
Requires-Dist: bluesky>=1.14.5
|
|
220
220
|
Requires-Dist: pyepics
|
|
221
221
|
Requires-Dist: dataclasses-json
|
|
222
222
|
Requires-Dist: pillow
|
|
@@ -230,9 +230,9 @@ Requires-Dist: aiofiles
|
|
|
230
230
|
Requires-Dist: aiohttp
|
|
231
231
|
Requires-Dist: redis
|
|
232
232
|
Requires-Dist: scanspec>=0.7.3
|
|
233
|
-
Requires-Dist: event-model>=1.23
|
|
234
233
|
Requires-Dist: pyzmq==26.3.0
|
|
235
234
|
Requires-Dist: deepdiff
|
|
235
|
+
Requires-Dist: daq-config-server>=v1.0.0-rc.2
|
|
236
236
|
Provides-Extra: dev
|
|
237
237
|
Requires-Dist: black; extra == "dev"
|
|
238
238
|
Requires-Dist: diff-cover; extra == "dev"
|
|
@@ -120,3 +120,33 @@ async def test_my_device_read(sim_my_device: MyDevice, RE: RunEngine) -> None:
|
|
|
120
120
|
}
|
|
121
121
|
)
|
|
122
122
|
```
|
|
123
|
+
|
|
124
|
+
## Test performance and reliability
|
|
125
|
+
|
|
126
|
+
Dodal has well over 1000 unit tests and developers will run the full unit test suite frequently on their local
|
|
127
|
+
machines, therefore it is imperative that the unit tests are both reliable and run quickly. Ideally the test suite
|
|
128
|
+
should run in about a minute, so if your test takes more than a fraction of a second to complete then consider
|
|
129
|
+
making it faster. The GitHub CI will fail if any test takes longer than 1 second.
|
|
130
|
+
|
|
131
|
+
Tests that involve concurrency can sometimes be unreliable due to subtle race conditions and variations in timing
|
|
132
|
+
caused by caching, garbage collection and other factors.
|
|
133
|
+
Often these manifest only on certain machines or in CI and are difficult to reproduce. Whilst the odd test failure
|
|
134
|
+
can be worked around by re-running the tests, this is annoying and a build up of such flaky tests is undesirable so
|
|
135
|
+
it is preferable to fix the test.
|
|
136
|
+
|
|
137
|
+
### Event loop fuzzer
|
|
138
|
+
|
|
139
|
+
To assist in the reproduction of concurrency-related test failures, there is an event loop fuzzer available as a
|
|
140
|
+
pytest fixture. The fuzzer introduces random delays into the ``asyncio`` event loop. You can use it as by
|
|
141
|
+
requesting ``event_loop_fuzzing`` as a fixture. It is also recommended when debugging to parametrize the test to
|
|
142
|
+
introduce a good number of iterations in order to ensure the problem has a good chance to show up, but remember to
|
|
143
|
+
remove the parametrization afterwards.
|
|
144
|
+
|
|
145
|
+
```Python
|
|
146
|
+
import pytest
|
|
147
|
+
# repeat the test a number of times
|
|
148
|
+
@pytest.mark.parametrize("i", range(0, 100))
|
|
149
|
+
async def my_unreliable_test(i, event_loop_fuzzing):
|
|
150
|
+
# Do some stuff in here
|
|
151
|
+
|
|
152
|
+
```
|
|
@@ -26,8 +26,8 @@ Determining where in dodal a device should live can be summarised below:
|
|
|
26
26
|
|
|
27
27
|
## Device Best Practices
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
In general, you should follow the ophyd-async [guide](https://blueskyproject.io/ophyd-async/main/how-to/choose-right-baseclass.html) for what interfaces a device should implement.
|
|
30
|
+
In addition to this the following guidelines are strongly recommended:
|
|
31
31
|
|
|
32
32
|
* Device should have their name as an optional str parameter with a default of ""- this allows ophyd-async to automatically name the device
|
|
33
33
|
* Devices should contain only the PV suffixes that are generic for any instance of the device. See [PV Suffixes](#pv-suffixes)
|
|
@@ -15,7 +15,7 @@ dependencies = [
|
|
|
15
15
|
"click",
|
|
16
16
|
"ophyd",
|
|
17
17
|
"ophyd-async[ca,pva]>=0.13.2",
|
|
18
|
-
"bluesky
|
|
18
|
+
"bluesky>=1.14.5",
|
|
19
19
|
"pyepics",
|
|
20
20
|
"dataclasses-json",
|
|
21
21
|
"pillow",
|
|
@@ -29,9 +29,9 @@ dependencies = [
|
|
|
29
29
|
"aiohttp",
|
|
30
30
|
"redis",
|
|
31
31
|
"scanspec>=0.7.3",
|
|
32
|
-
"event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
|
|
33
32
|
"pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
|
|
34
33
|
"deepdiff",
|
|
34
|
+
"daq-config-server>=v1.0.0-rc.2",# For getting Configuration settings.
|
|
35
35
|
]
|
|
36
36
|
|
|
37
37
|
dynamic = ["version"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.60.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
|
|
@@ -216,7 +216,7 @@ License-File: LICENSE
|
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
218
|
Requires-Dist: ophyd-async[ca,pva]>=0.13.2
|
|
219
|
-
Requires-Dist: bluesky
|
|
219
|
+
Requires-Dist: bluesky>=1.14.5
|
|
220
220
|
Requires-Dist: pyepics
|
|
221
221
|
Requires-Dist: dataclasses-json
|
|
222
222
|
Requires-Dist: pillow
|
|
@@ -230,9 +230,9 @@ Requires-Dist: aiofiles
|
|
|
230
230
|
Requires-Dist: aiohttp
|
|
231
231
|
Requires-Dist: redis
|
|
232
232
|
Requires-Dist: scanspec>=0.7.3
|
|
233
|
-
Requires-Dist: event-model>=1.23
|
|
234
233
|
Requires-Dist: pyzmq==26.3.0
|
|
235
234
|
Requires-Dist: deepdiff
|
|
235
|
+
Requires-Dist: daq-config-server>=v1.0.0-rc.2
|
|
236
236
|
Provides-Extra: dev
|
|
237
237
|
Requires-Dist: black; extra == "dev"
|
|
238
238
|
Requires-Dist: diff-cover; extra == "dev"
|
|
@@ -111,18 +111,23 @@ src/dodal/beamlines/i05_1.py
|
|
|
111
111
|
src/dodal/beamlines/i09.py
|
|
112
112
|
src/dodal/beamlines/i09_1.py
|
|
113
113
|
src/dodal/beamlines/i09_2.py
|
|
114
|
+
src/dodal/beamlines/i10-1.py
|
|
114
115
|
src/dodal/beamlines/i10.py
|
|
115
116
|
src/dodal/beamlines/i11.py
|
|
116
117
|
src/dodal/beamlines/i13_1.py
|
|
118
|
+
src/dodal/beamlines/i15.py
|
|
119
|
+
src/dodal/beamlines/i15_1.py
|
|
117
120
|
src/dodal/beamlines/i17.py
|
|
118
121
|
src/dodal/beamlines/i18.py
|
|
119
122
|
src/dodal/beamlines/i19_1.py
|
|
120
123
|
src/dodal/beamlines/i19_2.py
|
|
121
124
|
src/dodal/beamlines/i19_optics.py
|
|
122
125
|
src/dodal/beamlines/i20_1.py
|
|
126
|
+
src/dodal/beamlines/i21.py
|
|
123
127
|
src/dodal/beamlines/i22.py
|
|
124
128
|
src/dodal/beamlines/i23.py
|
|
125
129
|
src/dodal/beamlines/i24.py
|
|
130
|
+
src/dodal/beamlines/k07.py
|
|
126
131
|
src/dodal/beamlines/k11.py
|
|
127
132
|
src/dodal/beamlines/p38.py
|
|
128
133
|
src/dodal/beamlines/p45.py
|
|
@@ -184,6 +189,7 @@ src/dodal/devices/tetramm.py
|
|
|
184
189
|
src/dodal/devices/thawer.py
|
|
185
190
|
src/dodal/devices/turbo_slit.py
|
|
186
191
|
src/dodal/devices/undulator.py
|
|
192
|
+
src/dodal/devices/v2f.py
|
|
187
193
|
src/dodal/devices/watsonmarlow323_pump.py
|
|
188
194
|
src/dodal/devices/webcam.py
|
|
189
195
|
src/dodal/devices/xbpm_feedback.py
|
|
@@ -216,6 +222,7 @@ src/dodal/devices/detector/detector.py
|
|
|
216
222
|
src/dodal/devices/detector/detector_motion.py
|
|
217
223
|
src/dodal/devices/electron_analyser/__init__.py
|
|
218
224
|
src/dodal/devices/electron_analyser/detector.py
|
|
225
|
+
src/dodal/devices/electron_analyser/energy_sources.py
|
|
219
226
|
src/dodal/devices/electron_analyser/enums.py
|
|
220
227
|
src/dodal/devices/electron_analyser/types.py
|
|
221
228
|
src/dodal/devices/electron_analyser/util.py
|
|
@@ -234,6 +241,9 @@ src/dodal/devices/electron_analyser/vgscienta/detector.py
|
|
|
234
241
|
src/dodal/devices/electron_analyser/vgscienta/driver_io.py
|
|
235
242
|
src/dodal/devices/electron_analyser/vgscienta/enums.py
|
|
236
243
|
src/dodal/devices/electron_analyser/vgscienta/region.py
|
|
244
|
+
src/dodal/devices/i02_1/__init__.py
|
|
245
|
+
src/dodal/devices/i02_1/fast_grid_scan.py
|
|
246
|
+
src/dodal/devices/i02_1/sample_motors.py
|
|
237
247
|
src/dodal/devices/i03/__init__.py
|
|
238
248
|
src/dodal/devices/i03/dcm.py
|
|
239
249
|
src/dodal/devices/i03/undulator_dcm.py
|
|
@@ -265,6 +275,13 @@ src/dodal/devices/i11/spinner.py
|
|
|
265
275
|
src/dodal/devices/i13_1/__init__.py
|
|
266
276
|
src/dodal/devices/i13_1/merlin.py
|
|
267
277
|
src/dodal/devices/i13_1/merlin_controller.py
|
|
278
|
+
src/dodal/devices/i15/dcm.py
|
|
279
|
+
src/dodal/devices/i15/focussing_mirror.py
|
|
280
|
+
src/dodal/devices/i15/jack.py
|
|
281
|
+
src/dodal/devices/i15/laue.py
|
|
282
|
+
src/dodal/devices/i15/motors.py
|
|
283
|
+
src/dodal/devices/i15/multilayer_mirror.py
|
|
284
|
+
src/dodal/devices/i15/rail.py
|
|
268
285
|
src/dodal/devices/i18/KBMirror.py
|
|
269
286
|
src/dodal/devices/i18/diode.py
|
|
270
287
|
src/dodal/devices/i19/__init__.py
|
|
@@ -275,6 +292,8 @@ src/dodal/devices/i19/diffractometer.py
|
|
|
275
292
|
src/dodal/devices/i19/hutch_access.py
|
|
276
293
|
src/dodal/devices/i19/shutter.py
|
|
277
294
|
src/dodal/devices/i20_1/__init__.py
|
|
295
|
+
src/dodal/devices/i21/__init__.py
|
|
296
|
+
src/dodal/devices/i21/enums.py
|
|
278
297
|
src/dodal/devices/i22/dcm.py
|
|
279
298
|
src/dodal/devices/i22/fswitch.py
|
|
280
299
|
src/dodal/devices/i22/nxsas.py
|
|
@@ -282,6 +301,7 @@ src/dodal/devices/i24/__init__.py
|
|
|
282
301
|
src/dodal/devices/i24/aperture.py
|
|
283
302
|
src/dodal/devices/i24/beam_center.py
|
|
284
303
|
src/dodal/devices/i24/beamstop.py
|
|
304
|
+
src/dodal/devices/i24/commissioning_jungfrau.py
|
|
285
305
|
src/dodal/devices/i24/dcm.py
|
|
286
306
|
src/dodal/devices/i24/dual_backlight.py
|
|
287
307
|
src/dodal/devices/i24/focus_mirrors.py
|
|
@@ -307,6 +327,10 @@ src/dodal/devices/p60/lab_xray_source.py
|
|
|
307
327
|
src/dodal/devices/p99/__init__.py
|
|
308
328
|
src/dodal/devices/p99/andor2_point.py
|
|
309
329
|
src/dodal/devices/p99/sample_stage.py
|
|
330
|
+
src/dodal/devices/temperture_controller/__init__.py
|
|
331
|
+
src/dodal/devices/temperture_controller/lakeshore/__init__.py
|
|
332
|
+
src/dodal/devices/temperture_controller/lakeshore/lakeshore.py
|
|
333
|
+
src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py
|
|
310
334
|
src/dodal/devices/util/__init__.py
|
|
311
335
|
src/dodal/devices/util/adjuster_plans.py
|
|
312
336
|
src/dodal/devices/util/epics_util.py
|
|
@@ -429,6 +453,7 @@ tests/devices/detector/test_data/test_det_dist_converter.txt
|
|
|
429
453
|
tests/devices/electron_analyser/__init__.py
|
|
430
454
|
tests/devices/electron_analyser/conftest.py
|
|
431
455
|
tests/devices/electron_analyser/test_detector.py
|
|
456
|
+
tests/devices/electron_analyser/test_energy_sources.py
|
|
432
457
|
tests/devices/electron_analyser/test_util.py
|
|
433
458
|
tests/devices/electron_analyser/abstract/__init__.py
|
|
434
459
|
tests/devices/electron_analyser/abstract/test_base_detector.py
|
|
@@ -448,6 +473,8 @@ tests/devices/electron_analyser/vgscienta/__init__.py
|
|
|
448
473
|
tests/devices/electron_analyser/vgscienta/test_detector.py
|
|
449
474
|
tests/devices/electron_analyser/vgscienta/test_driver_io.py
|
|
450
475
|
tests/devices/electron_analyser/vgscienta/test_region.py
|
|
476
|
+
tests/devices/i02_1/__init__.py
|
|
477
|
+
tests/devices/i02_1/test_fast_grid_scan.py
|
|
451
478
|
tests/devices/i03/__init__.py
|
|
452
479
|
tests/devices/i03/test_dcm.py
|
|
453
480
|
tests/devices/i03/test_undulator_dcm.py
|
|
@@ -467,6 +494,7 @@ tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl
|
|
|
467
494
|
tests/devices/i11/test_i11devices.py
|
|
468
495
|
tests/devices/i11/test_mythen.py
|
|
469
496
|
tests/devices/i13_1/test_merlin.py
|
|
497
|
+
tests/devices/i15/test_dcm.py
|
|
470
498
|
tests/devices/i18/test_kb_mirror.py
|
|
471
499
|
tests/devices/i19/__init__.py
|
|
472
500
|
tests/devices/i19/test_backlight.py
|
|
@@ -477,6 +505,7 @@ tests/devices/i22/test_dcm.py
|
|
|
477
505
|
tests/devices/i22/test_fswitch.py
|
|
478
506
|
tests/devices/i22/test_metadataholder.py
|
|
479
507
|
tests/devices/i24/__init__.py
|
|
508
|
+
tests/devices/i24/test_commissioning_jungfrau.py
|
|
480
509
|
tests/devices/i24/test_dual_backlight.py
|
|
481
510
|
tests/devices/i24/test_focus_mirrors.py
|
|
482
511
|
tests/devices/i24/test_pmac.py
|
|
@@ -500,6 +529,10 @@ tests/devices/oav/test_data/oav_snapshot_test.png
|
|
|
500
529
|
tests/devices/oav/test_data/test_OAVCentring.json
|
|
501
530
|
tests/devices/p60/test_lab_xray_source.py
|
|
502
531
|
tests/devices/p99/test_p99_stage.py
|
|
532
|
+
tests/devices/temperature_controller/__init__.py
|
|
533
|
+
tests/devices/temperature_controller/lakeshore/__init__.py
|
|
534
|
+
tests/devices/temperature_controller/lakeshore/test_lakeshore.py
|
|
535
|
+
tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py
|
|
503
536
|
tests/devices/test_daq_configuration/__init__.py
|
|
504
537
|
tests/devices/test_daq_configuration/domain/__init__.py
|
|
505
538
|
tests/devices/test_daq_configuration/domain/beamlineParameters
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
click
|
|
2
2
|
ophyd
|
|
3
3
|
ophyd-async[ca,pva]>=0.13.2
|
|
4
|
-
bluesky
|
|
4
|
+
bluesky>=1.14.5
|
|
5
5
|
pyepics
|
|
6
6
|
dataclasses-json
|
|
7
7
|
pillow
|
|
@@ -15,9 +15,9 @@ aiofiles
|
|
|
15
15
|
aiohttp
|
|
16
16
|
redis
|
|
17
17
|
scanspec>=0.7.3
|
|
18
|
-
event-model>=1.23
|
|
19
18
|
pyzmq==26.3.0
|
|
20
19
|
deepdiff
|
|
20
|
+
daq-config-server>=v1.0.0-rc.2
|
|
21
21
|
|
|
22
22
|
[dev]
|
|
23
23
|
black
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.
|
|
32
|
-
__version_tuple__ = version_tuple = (1,
|
|
31
|
+
__version__ = version = '1.60.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 60, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gb3036ebaf'
|
|
@@ -3,8 +3,8 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.b07 import Grating, LensMode, PsuMode
|
|
6
|
-
from dodal.devices.electron_analyser import
|
|
7
|
-
from dodal.devices.electron_analyser.specs import
|
|
6
|
+
from dodal.devices.electron_analyser import EnergySource
|
|
7
|
+
from dodal.devices.electron_analyser.specs import SpecsDetector
|
|
8
8
|
from dodal.devices.pgm import PGM
|
|
9
9
|
from dodal.devices.synchrotron import Synchrotron
|
|
10
10
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -26,13 +26,18 @@ def pgm() -> PGM:
|
|
|
26
26
|
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
@device_factory()
|
|
30
|
+
def energy_source() -> EnergySource:
|
|
31
|
+
return EnergySource(pgm().energy.user_readback)
|
|
32
|
+
|
|
33
|
+
|
|
29
34
|
# Connect will work again after this work completed
|
|
30
35
|
# https://jira.diamond.ac.uk/browse/B07-1104
|
|
31
36
|
@device_factory()
|
|
32
|
-
def
|
|
33
|
-
return
|
|
37
|
+
def analyser() -> SpecsDetector[LensMode, PsuMode]:
|
|
38
|
+
return SpecsDetector[LensMode, PsuMode](
|
|
34
39
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
35
40
|
lens_mode_type=LensMode,
|
|
36
41
|
psu_mode_type=PsuMode,
|
|
37
|
-
|
|
42
|
+
energy_source=energy_source(),
|
|
38
43
|
)
|
|
@@ -6,8 +6,8 @@ from dodal.devices.b07_1 import (
|
|
|
6
6
|
Grating,
|
|
7
7
|
LensMode,
|
|
8
8
|
)
|
|
9
|
-
from dodal.devices.electron_analyser import
|
|
10
|
-
from dodal.devices.electron_analyser.specs import
|
|
9
|
+
from dodal.devices.electron_analyser import EnergySource
|
|
10
|
+
from dodal.devices.electron_analyser.specs import SpecsDetector
|
|
11
11
|
from dodal.devices.pgm import PGM
|
|
12
12
|
from dodal.devices.synchrotron import Synchrotron
|
|
13
13
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -37,10 +37,15 @@ def ccmc() -> ChannelCutMonochromator:
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
@device_factory()
|
|
40
|
-
def
|
|
41
|
-
return
|
|
40
|
+
def energy_source() -> EnergySource:
|
|
41
|
+
return EnergySource(pgm().energy.user_readback)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
@device_factory()
|
|
45
|
+
def analyser() -> SpecsDetector[LensMode, PsuMode]:
|
|
46
|
+
return SpecsDetector[LensMode, PsuMode](
|
|
42
47
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
43
48
|
lens_mode_type=LensMode,
|
|
44
49
|
psu_mode_type=PsuMode,
|
|
45
|
-
|
|
50
|
+
energy_source=energy_source(),
|
|
46
51
|
)
|
|
@@ -8,10 +8,13 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
8
8
|
)
|
|
9
9
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
10
10
|
from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
|
|
11
|
+
from dodal.devices.focusing_mirror import SimpleMirror
|
|
11
12
|
from dodal.devices.i22.nxsas import NXSasMetadataHolder, NXSasOAV
|
|
12
13
|
from dodal.devices.linkam3 import Linkam3
|
|
14
|
+
from dodal.devices.motors import XYStage
|
|
13
15
|
from dodal.devices.slits import Slits
|
|
14
16
|
from dodal.devices.synchrotron import Synchrotron
|
|
17
|
+
from dodal.devices.v2f import QDV2F
|
|
15
18
|
from dodal.log import set_beamline as set_log_beamline
|
|
16
19
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
17
20
|
|
|
@@ -43,6 +46,18 @@ def waxs() -> EigerDetector:
|
|
|
43
46
|
)
|
|
44
47
|
|
|
45
48
|
|
|
49
|
+
@device_factory()
|
|
50
|
+
def mirror() -> SimpleMirror:
|
|
51
|
+
return SimpleMirror(
|
|
52
|
+
prefix=f"{PREFIX.beamline_prefix}-OP-MR-01:",
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@device_factory()
|
|
57
|
+
def it() -> QDV2F:
|
|
58
|
+
return QDV2F(prefix=f"{PREFIX.beamline_prefix}-DI-PHDGN-07:PHD1:", I_suffix="I")
|
|
59
|
+
|
|
60
|
+
|
|
46
61
|
@device_factory()
|
|
47
62
|
def panda1() -> HDFPanda:
|
|
48
63
|
return HDFPanda(
|
|
@@ -51,6 +66,13 @@ def panda1() -> HDFPanda:
|
|
|
51
66
|
)
|
|
52
67
|
|
|
53
68
|
|
|
69
|
+
@device_factory()
|
|
70
|
+
def table() -> XYStage:
|
|
71
|
+
return XYStage(
|
|
72
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-TABLE-04:",
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
|
|
54
76
|
@device_factory()
|
|
55
77
|
def synchrotron() -> Synchrotron:
|
|
56
78
|
return Synchrotron()
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""Beamline i02-1 is also known as VMXm, or I02J"""
|
|
2
|
+
|
|
3
|
+
from dodal.common.beamlines.beamline_utils import (
|
|
4
|
+
device_factory,
|
|
5
|
+
device_instantiation,
|
|
6
|
+
)
|
|
7
|
+
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
8
|
+
from dodal.devices.attenuator.attenuator import EnumFilterAttenuator
|
|
9
|
+
from dodal.devices.attenuator.filter_selections import (
|
|
10
|
+
I02_1FilterFourSelections,
|
|
11
|
+
I02_1FilterOneSelections,
|
|
12
|
+
I02_1FilterThreeSelections,
|
|
13
|
+
I02_1FilterTwoSelections,
|
|
14
|
+
)
|
|
15
|
+
from dodal.devices.eiger import EigerDetector
|
|
16
|
+
from dodal.devices.i02_1.fast_grid_scan import ZebraFastGridScanTwoD
|
|
17
|
+
from dodal.devices.i02_1.sample_motors import SampleMotors
|
|
18
|
+
from dodal.devices.synchrotron import Synchrotron
|
|
19
|
+
from dodal.devices.zebra.zebra import Zebra
|
|
20
|
+
from dodal.devices.zebra.zebra_constants_mapping import (
|
|
21
|
+
ZebraMapping,
|
|
22
|
+
ZebraSources,
|
|
23
|
+
ZebraTTLOutputs,
|
|
24
|
+
)
|
|
25
|
+
from dodal.devices.zocalo import ZocaloResults
|
|
26
|
+
from dodal.log import set_beamline as set_log_beamline
|
|
27
|
+
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
28
|
+
|
|
29
|
+
BL = get_beamline_name("i02-1")
|
|
30
|
+
PREFIX = BeamlinePrefix(BL, suffix="J")
|
|
31
|
+
set_log_beamline(BL)
|
|
32
|
+
set_utils_beamline(BL)
|
|
33
|
+
DAQ_CONFIGURATION_PATH = "/dls_sw/i02-1/software/daq_configuration"
|
|
34
|
+
|
|
35
|
+
I02_1_ZEBRA_MAPPING = ZebraMapping(
|
|
36
|
+
outputs=ZebraTTLOutputs(TTL_EIGER=2, TTL_XSPRESS3=3, TTL_FAST_SHUTTER=1),
|
|
37
|
+
sources=ZebraSources(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@device_factory()
|
|
42
|
+
def eiger(mock: bool = False) -> EigerDetector:
|
|
43
|
+
"""Get the i02-1 Eiger device, instantiate it if it hasn't already been.
|
|
44
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
45
|
+
"""
|
|
46
|
+
return device_instantiation(
|
|
47
|
+
device_factory=EigerDetector,
|
|
48
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-EIGER-01:",
|
|
49
|
+
bl_prefix=False,
|
|
50
|
+
wait=False,
|
|
51
|
+
fake=mock,
|
|
52
|
+
name="eiger",
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@device_factory()
|
|
57
|
+
def zebra_fast_grid_scan() -> ZebraFastGridScanTwoD:
|
|
58
|
+
"""Get the i02-1 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
|
|
59
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
60
|
+
"""
|
|
61
|
+
return ZebraFastGridScanTwoD(
|
|
62
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-SAMP-11:",
|
|
63
|
+
motion_controller_prefix="BL02J-MO-STEP-11:",
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@device_factory()
|
|
68
|
+
def synchrotron() -> Synchrotron:
|
|
69
|
+
"""Get the i02-1 synchrotron device, instantiate it if it hasn't already been.
|
|
70
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
71
|
+
"""
|
|
72
|
+
return Synchrotron()
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@device_factory()
|
|
76
|
+
def zebra() -> Zebra:
|
|
77
|
+
"""Get the i02-1 zebra device, instantiate it if it hasn't already been.
|
|
78
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
79
|
+
"""
|
|
80
|
+
return Zebra(
|
|
81
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
|
|
82
|
+
mapping=I02_1_ZEBRA_MAPPING,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
# Device not needed after https://github.com/DiamondLightSource/mx-bluesky/issues/1299
|
|
87
|
+
@device_factory()
|
|
88
|
+
def zocalo() -> ZocaloResults:
|
|
89
|
+
"""Get the i02-1 ZocaloResults device, instantiate it if it hasn't already been.
|
|
90
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
91
|
+
"""
|
|
92
|
+
return ZocaloResults()
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@device_factory()
|
|
96
|
+
def goniometer() -> SampleMotors:
|
|
97
|
+
"""Get the i02-1 goniometer device, instantiate it if it hasn't already been.
|
|
98
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
99
|
+
"""
|
|
100
|
+
return SampleMotors(f"{PREFIX.beamline_prefix}-MO-SAMP-01:")
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@device_factory()
|
|
104
|
+
def attenuator() -> EnumFilterAttenuator:
|
|
105
|
+
"""Get the i02-1 attenuator device, instantiate it if it hasn't already been.
|
|
106
|
+
If this is called when already instantiated in i02-1, it will return the existing object.
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
return EnumFilterAttenuator(
|
|
110
|
+
f"{PREFIX.beamline_prefix}-OP-ATTN-01:",
|
|
111
|
+
(
|
|
112
|
+
I02_1FilterOneSelections,
|
|
113
|
+
I02_1FilterTwoSelections,
|
|
114
|
+
I02_1FilterThreeSelections,
|
|
115
|
+
I02_1FilterFourSelections,
|
|
116
|
+
),
|
|
117
|
+
)
|
|
@@ -25,7 +25,7 @@ from dodal.devices.cryostream import CryoStream
|
|
|
25
25
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
26
26
|
from dodal.devices.diamond_filter import DiamondFilter, I03Filters
|
|
27
27
|
from dodal.devices.eiger import EigerDetector
|
|
28
|
-
from dodal.devices.fast_grid_scan import PandAFastGridScan,
|
|
28
|
+
from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScanThreeD
|
|
29
29
|
from dodal.devices.fluorescence_detector_motion import FluorescenceDetector
|
|
30
30
|
from dodal.devices.flux import Flux
|
|
31
31
|
from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
|
|
@@ -191,11 +191,13 @@ def fastcs_eiger() -> FastEiger:
|
|
|
191
191
|
|
|
192
192
|
|
|
193
193
|
@device_factory()
|
|
194
|
-
def zebra_fast_grid_scan() ->
|
|
194
|
+
def zebra_fast_grid_scan() -> ZebraFastGridScanThreeD:
|
|
195
195
|
"""Get the i03 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
|
|
196
196
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
197
197
|
"""
|
|
198
|
-
return
|
|
198
|
+
return ZebraFastGridScanThreeD(
|
|
199
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
200
|
+
)
|
|
199
201
|
|
|
200
202
|
|
|
201
203
|
@device_factory()
|
|
@@ -17,7 +17,7 @@ from dodal.devices.detector import DetectorParams
|
|
|
17
17
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
18
18
|
from dodal.devices.diamond_filter import DiamondFilter, I04Filters
|
|
19
19
|
from dodal.devices.eiger import EigerDetector
|
|
20
|
-
from dodal.devices.fast_grid_scan import
|
|
20
|
+
from dodal.devices.fast_grid_scan import ZebraFastGridScanThreeD
|
|
21
21
|
from dodal.devices.flux import Flux
|
|
22
22
|
from dodal.devices.i03.dcm import DCM
|
|
23
23
|
from dodal.devices.i04.constants import RedisConstants
|
|
@@ -210,11 +210,13 @@ def eiger(mock: bool = False, params: DetectorParams | None = None) -> EigerDete
|
|
|
210
210
|
|
|
211
211
|
|
|
212
212
|
@device_factory()
|
|
213
|
-
def zebra_fast_grid_scan() ->
|
|
213
|
+
def zebra_fast_grid_scan() -> ZebraFastGridScanThreeD:
|
|
214
214
|
"""Get the i04 zebra_fast_grid_scan device, instantiate it if it hasn't already been.
|
|
215
215
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
216
216
|
"""
|
|
217
|
-
return
|
|
217
|
+
return ZebraFastGridScanThreeD(
|
|
218
|
+
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
219
|
+
)
|
|
218
220
|
|
|
219
221
|
|
|
220
222
|
@device_factory()
|
|
@@ -2,8 +2,8 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.electron_analyser import
|
|
6
|
-
from dodal.devices.electron_analyser.vgscienta import
|
|
5
|
+
from dodal.devices.electron_analyser import DualEnergySource
|
|
6
|
+
from dodal.devices.electron_analyser.vgscienta import VGScientaDetector
|
|
7
7
|
from dodal.devices.i09 import DCM, Grating, LensMode, PassEnergy, PsuMode
|
|
8
8
|
from dodal.devices.pgm import PGM
|
|
9
9
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -34,18 +34,19 @@ def dcm() -> DCM:
|
|
|
34
34
|
return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
|
|
35
35
|
|
|
36
36
|
|
|
37
|
+
@device_factory()
|
|
38
|
+
def energy_source() -> DualEnergySource:
|
|
39
|
+
return DualEnergySource(dcm().energy_in_ev, pgm().energy.user_readback)
|
|
40
|
+
|
|
41
|
+
|
|
37
42
|
# Connect will work again after this work completed
|
|
38
43
|
# https://jira.diamond.ac.uk/browse/I09-651
|
|
39
44
|
@device_factory()
|
|
40
|
-
def
|
|
41
|
-
|
|
42
|
-
SelectedSource.SOURCE1: pgm().energy.user_readback,
|
|
43
|
-
SelectedSource.SOURCE2: dcm().energy_in_ev,
|
|
44
|
-
}
|
|
45
|
-
return VGScientaAnalyserDriverIO[LensMode, PsuMode, PassEnergy](
|
|
45
|
+
def ew4000() -> VGScientaDetector[LensMode, PsuMode, PassEnergy]:
|
|
46
|
+
return VGScientaDetector[LensMode, PsuMode, PassEnergy](
|
|
46
47
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
47
48
|
lens_mode_type=LensMode,
|
|
48
49
|
psu_mode_type=PsuMode,
|
|
49
50
|
pass_energy_type=PassEnergy,
|
|
50
|
-
|
|
51
|
+
energy_source=energy_source(),
|
|
51
52
|
)
|
|
@@ -2,8 +2,8 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.electron_analyser import
|
|
6
|
-
from dodal.devices.electron_analyser.specs import
|
|
5
|
+
from dodal.devices.electron_analyser import EnergySource
|
|
6
|
+
from dodal.devices.electron_analyser.specs import SpecsDetector
|
|
7
7
|
from dodal.devices.i09.dcm import DCM
|
|
8
8
|
from dodal.devices.i09_1 import LensMode, PsuMode
|
|
9
9
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -26,13 +26,18 @@ def dcm() -> DCM:
|
|
|
26
26
|
return DCM(prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:")
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
@device_factory()
|
|
30
|
+
def energy_source() -> EnergySource:
|
|
31
|
+
return EnergySource(dcm().energy_in_ev)
|
|
32
|
+
|
|
33
|
+
|
|
29
34
|
# Connect will work again after this work completed
|
|
30
35
|
# https://jira.diamond.ac.uk/browse/I09-651
|
|
31
36
|
@device_factory()
|
|
32
|
-
def
|
|
33
|
-
return
|
|
37
|
+
def analyser() -> SpecsDetector[LensMode, PsuMode]:
|
|
38
|
+
return SpecsDetector[LensMode, PsuMode](
|
|
34
39
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
35
40
|
lens_mode_type=LensMode,
|
|
36
41
|
psu_mode_type=PsuMode,
|
|
37
|
-
|
|
42
|
+
energy_source=energy_source(),
|
|
38
43
|
)
|