dls-dodal 1.51.0__tar.gz → 1.53.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.51.0 → dls_dodal-1.53.0}/.pre-commit-config.yaml +5 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/PKG-INFO +3 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/pyproject.toml +2 -1
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/PKG-INFO +3 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/SOURCES.txt +7 -4
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/requires.txt +2 -1
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/_version.py +2 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/adsim.py +12 -11
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b07.py +7 -6
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b07_1.py +7 -6
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i03.py +4 -1
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i04.py +2 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i09.py +7 -5
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i09_1.py +6 -3
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i09_2.py +2 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i22.py +11 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i24.py +2 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/p60.py +6 -4
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/p99.py +14 -0
- dls_dodal-1.53.0/src/dodal/common/device_utils.py +45 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/attenuator/attenuator.py +5 -3
- dls_dodal-1.53.0/src/dodal/devices/b07/__init__.py +3 -0
- dls_dodal-1.53.0/src/dodal/devices/b07/enums.py +24 -0
- dls_dodal-1.53.0/src/dodal/devices/b07_1/__init__.py +3 -0
- dls_dodal-1.53.0/src/dodal/devices/b07_1/enums.py +18 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +4 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +21 -4
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +20 -7
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/detector.py +1 -1
- dls_dodal-1.53.0/src/dodal/devices/electron_analyser/specs/detector.py +33 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +17 -5
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/specs/region.py +9 -5
- dls_dodal-1.53.0/src/dodal/devices/electron_analyser/types.py +48 -0
- dls_dodal-1.53.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +37 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +13 -4
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +11 -5
- dls_dodal-1.53.0/src/dodal/devices/i09/__init__.py +4 -0
- dls_dodal-1.53.0/src/dodal/devices/i09/enums.py +15 -0
- dls_dodal-1.53.0/src/dodal/devices/i09_1/__init__.py +3 -0
- dls_dodal-1.53.0/src/dodal/devices/i09_1/enums.py +19 -0
- dls_dodal-1.53.0/src/dodal/devices/linkam3.py +58 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +11 -14
- dls_dodal-1.53.0/src/dodal/devices/p60/__init__.py +4 -0
- dls_dodal-1.53.0/src/dodal/devices/p60/enums.py +10 -0
- dls_dodal-1.53.0/src/dodal/devices/tetramm.py +245 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/xbpm_feedback.py +6 -3
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/system_tests/test_adsim.py +14 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +41 -6
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +33 -1
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/conftest.py +20 -14
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +3 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +5 -4
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +13 -12
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +3 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +3 -2
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +18 -13
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +3 -5
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_attenuator.py +1 -1
- dls_dodal-1.53.0/tests/devices/unit_tests/test_tetramm.py +278 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_xbpm_feedback.py +43 -0
- dls_dodal-1.51.0/src/dodal/devices/b07/__init__.py +0 -3
- dls_dodal-1.51.0/src/dodal/devices/b07/grating.py +0 -9
- dls_dodal-1.51.0/src/dodal/devices/b07_1/__init__.py +0 -3
- dls_dodal-1.51.0/src/dodal/devices/b07_1/grating.py +0 -10
- dls_dodal-1.51.0/src/dodal/devices/electron_analyser/specs/detector.py +0 -19
- dls_dodal-1.51.0/src/dodal/devices/electron_analyser/types.py +0 -32
- dls_dodal-1.51.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -28
- dls_dodal-1.51.0/src/dodal/devices/i09/__init__.py +0 -4
- dls_dodal-1.51.0/src/dodal/devices/i09/grating.py +0 -7
- dls_dodal-1.51.0/src/dodal/devices/linkam3.py +0 -114
- dls_dodal-1.51.0/src/dodal/devices/p60/__init__.py +0 -3
- dls_dodal-1.51.0/src/dodal/devices/tetramm.py +0 -261
- dls_dodal-1.51.0/tests/devices/unit_tests/test_linkam3.py +0 -65
- dls_dodal-1.51.0/tests/devices/unit_tests/test_tetramm.py +0 -389
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.copier-answers.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.devcontainer/devcontainer.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/CONTRIBUTING.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/actions/install_requirements/action.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/dependabot.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/pages/index.html +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/scripts/check_test_durations.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_dist.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_docs.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_release.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_test.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/_tox.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/ci.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.github/workflows/periodic.yml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.gitignore +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.vscode/extensions.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.vscode/launch.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.vscode/settings.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/.vscode/tasks.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/Dockerfile +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/LICENSE +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/README.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/catalog-info.yaml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/conftest.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/conf.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/explanations.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/genindex.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/build-docs.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/coverage.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/create-beamline.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/create-device.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/dev-install.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/lint.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/lock-requirements.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/move-code.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/run-tests.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/static-analysis.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/write-tests.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to/zocalo.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/how-to.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/index.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/reference/api.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/reference/device-standards.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/reference/standards.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/reference.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/tutorials/get_started.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/tutorials/installation.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/docs/tutorials.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/pull_request_template.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/setup.cfg +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/aithre.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b01_1.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b16.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/b21.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i02_1.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i10.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i13_1.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i18.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i19_1.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i19_2.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i19_optics.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i20_1.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/i23.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/p38.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/p45.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/beamlines/training_rig.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/cli.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/coordination.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/crystal_metadata.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/maths.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/udc_directory_provider.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/common/visit.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/CTAB.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/aperture.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/aperturescatterguard.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/apple2_undulator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/attenuator/filter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/b16/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/b16/detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/bimorph_mirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/common_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/cryostream.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/det_resolution.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/detector/detector_motion.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/diamond_filter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/eiger.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/eiger_odin.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/util.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/fast_grid_scan.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/flux.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/focusing_mirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/hutch_shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i03/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i03/dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i03/undulator_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i04/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i04/constants.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i04/murko_results.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i04/transfocator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i09/dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/diagnostics.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/i10_apple2.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/mirrors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i10/slits.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i13_1/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i13_1/merlin.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i18/KBMirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i18/diode.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i19/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i19/beamstop.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i19/hutch_access.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i19/shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i20_1/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i22/dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i22/fswitch.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i22/nxsas.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/aperture.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/beam_center.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/beamstop.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/pmac.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/i24/vgonio.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/ipin.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/motors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/oav_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/oav/utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/p45.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/p99/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/p99/andor2_point.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/p99/sample_stage.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/pgm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/qbpm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/robot.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/slits.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/smargon.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/turbo_slit.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/undulator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/util/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/util/epics_util.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/util/lookup_tables.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/util/test_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/webcam.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zebra/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zebra/zebra.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zocalo/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/log.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plan_stubs/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plan_stubs/check_topup.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plan_stubs/data_session.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plan_stubs/wrapped.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/bimorph.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/preprocessors/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/scanspec.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/plans/wrapped.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/system_tests/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/system_tests/test_cli.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/unit_tests/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/unit_tests/test_b16.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/unit_tests/test_i03.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/unit_tests/test_i24.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/beamlines/unit_tests/test_mapping.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/beamlines/test_device_helpers.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/test_maths.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/conftest.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/constants.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i03/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i04/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i04/test_murko_results.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i04/test_transfocator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i10/test_i10Apple2.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i13_1/test_merlin.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i18/test_kb_mirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i19/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i19/test_beamstop.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i19/test_shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i22/test_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i22/test_fswitch.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/i22/test_metadataholder.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/mx_phase1/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/test_diamond_filter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/test_motors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/detector/test_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/abstract/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/util.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i03/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i03/test_undulator_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i09/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i09/test_dcm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/test_pmac.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/i24/test_vgonio.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/conftest.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_oav.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_oav_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/p60/test_lab_xray_source.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_aperture.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_aperture_scatterguard.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_apple2_undulator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_backlight.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_bart_robot.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_baton.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_beam_converter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_display.configuration +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_eiger.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_focusing_mirror.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_gridscan.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_motors.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_odin.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_positioner.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_pressure_jump_cell.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_qbpm.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_slits.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_smargon.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_status.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_synchrotron.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_thawer.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_turbo_slit.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_undulator.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_webcam.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_xspress3.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_zebra.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/test_zocalo_results.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/util/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_zocalo/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_zocalo/__main__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/conftest.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_compliance.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_scanspec.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/plans/test_wrapped.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/electron_analyser/specs_sequence.seq +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/electron_analyser/vgscienta_sequence.seq +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/test_utils.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/unit_tests/__init__.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/unit_tests/test_cli.py +0 -0
- {dls_dodal-1.51.0 → dls_dodal-1.53.0}/tests/unit_tests/test_log.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.53.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>
|
|
6
6
|
License: Apache License
|
|
@@ -215,7 +215,8 @@ Description-Content-Type: text/markdown
|
|
|
215
215
|
License-File: LICENSE
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
|
-
Requires-Dist: ophyd-async>=0.
|
|
218
|
+
Requires-Dist: ophyd-async>=0.11
|
|
219
|
+
Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
|
|
219
220
|
Requires-Dist: bluesky
|
|
220
221
|
Requires-Dist: pyepics
|
|
221
222
|
Requires-Dist: dataclasses-json
|
|
@@ -14,7 +14,8 @@ description = "Ophyd devices and other utils that could be used across DLS beaml
|
|
|
14
14
|
dependencies = [
|
|
15
15
|
"click",
|
|
16
16
|
"ophyd",
|
|
17
|
-
"ophyd-async>=0.
|
|
17
|
+
"ophyd-async>=0.11",
|
|
18
|
+
"epicscorelibs<=7.0.7.99.1.2a1", # Pending https://github.com/epics-base/epicscorelibs/issues/41
|
|
18
19
|
"bluesky",
|
|
19
20
|
"pyepics",
|
|
20
21
|
"dataclasses-json",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.53.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>
|
|
6
6
|
License: Apache License
|
|
@@ -215,7 +215,8 @@ Description-Content-Type: text/markdown
|
|
|
215
215
|
License-File: LICENSE
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
|
-
Requires-Dist: ophyd-async>=0.
|
|
218
|
+
Requires-Dist: ophyd-async>=0.11
|
|
219
|
+
Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
|
|
219
220
|
Requires-Dist: bluesky
|
|
220
221
|
Requires-Dist: pyepics
|
|
221
222
|
Requires-Dist: dataclasses-json
|
|
@@ -126,6 +126,7 @@ src/dodal/common/__init__.py
|
|
|
126
126
|
src/dodal/common/coordination.py
|
|
127
127
|
src/dodal/common/crystal_metadata.py
|
|
128
128
|
src/dodal/common/data_util.py
|
|
129
|
+
src/dodal/common/device_utils.py
|
|
129
130
|
src/dodal/common/maths.py
|
|
130
131
|
src/dodal/common/types.py
|
|
131
132
|
src/dodal/common/udc_directory_provider.py
|
|
@@ -182,9 +183,9 @@ src/dodal/devices/attenuator/attenuator.py
|
|
|
182
183
|
src/dodal/devices/attenuator/filter.py
|
|
183
184
|
src/dodal/devices/attenuator/filter_selections.py
|
|
184
185
|
src/dodal/devices/b07/__init__.py
|
|
185
|
-
src/dodal/devices/b07/
|
|
186
|
+
src/dodal/devices/b07/enums.py
|
|
186
187
|
src/dodal/devices/b07_1/__init__.py
|
|
187
|
-
src/dodal/devices/b07_1/
|
|
188
|
+
src/dodal/devices/b07_1/enums.py
|
|
188
189
|
src/dodal/devices/b16/__init__.py
|
|
189
190
|
src/dodal/devices/b16/detector.py
|
|
190
191
|
src/dodal/devices/current_amplifiers/__init__.py
|
|
@@ -227,7 +228,9 @@ src/dodal/devices/i04/murko_results.py
|
|
|
227
228
|
src/dodal/devices/i04/transfocator.py
|
|
228
229
|
src/dodal/devices/i09/__init__.py
|
|
229
230
|
src/dodal/devices/i09/dcm.py
|
|
230
|
-
src/dodal/devices/i09/
|
|
231
|
+
src/dodal/devices/i09/enums.py
|
|
232
|
+
src/dodal/devices/i09_1/__init__.py
|
|
233
|
+
src/dodal/devices/i09_1/enums.py
|
|
231
234
|
src/dodal/devices/i10/__init__.py
|
|
232
235
|
src/dodal/devices/i10/diagnostics.py
|
|
233
236
|
src/dodal/devices/i10/i10_apple2.py
|
|
@@ -276,6 +279,7 @@ src/dodal/devices/oav/snapshots/snapshot.py
|
|
|
276
279
|
src/dodal/devices/oav/snapshots/snapshot_image_processing.py
|
|
277
280
|
src/dodal/devices/oav/snapshots/snapshot_with_grid.py
|
|
278
281
|
src/dodal/devices/p60/__init__.py
|
|
282
|
+
src/dodal/devices/p60/enums.py
|
|
279
283
|
src/dodal/devices/p60/lab_xray_source.py
|
|
280
284
|
src/dodal/devices/p99/__init__.py
|
|
281
285
|
src/dodal/devices/p99/andor2_point.py
|
|
@@ -388,7 +392,6 @@ tests/devices/unit_tests/test_focusing_mirror.py
|
|
|
388
392
|
tests/devices/unit_tests/test_gridscan.py
|
|
389
393
|
tests/devices/unit_tests/test_hutch_shutter.py
|
|
390
394
|
tests/devices/unit_tests/test_jCameraManZoomLevels.xml
|
|
391
|
-
tests/devices/unit_tests/test_linkam3.py
|
|
392
395
|
tests/devices/unit_tests/test_lookup_table.txt
|
|
393
396
|
tests/devices/unit_tests/test_lookup_table_2.txt
|
|
394
397
|
tests/devices/unit_tests/test_motors.py
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
1
|
from ophyd_async.epics.adsimdetector import SimDetector
|
|
4
2
|
|
|
5
3
|
from dodal.common.beamlines.beamline_utils import (
|
|
6
4
|
device_factory,
|
|
7
5
|
get_path_provider,
|
|
8
|
-
set_path_provider,
|
|
9
6
|
)
|
|
10
7
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
11
8
|
from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
|
|
12
|
-
from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
|
|
13
9
|
from dodal.devices.motors import XThetaStage
|
|
14
10
|
from dodal.log import set_beamline as set_log_beamline
|
|
15
11
|
from dodal.utils import BeamlinePrefix
|
|
@@ -19,13 +15,6 @@ PREFIX = BeamlinePrefix("t01")
|
|
|
19
15
|
set_log_beamline(BL)
|
|
20
16
|
set_utils_beamline(BL)
|
|
21
17
|
|
|
22
|
-
set_path_provider(
|
|
23
|
-
StaticVisitPathProvider(
|
|
24
|
-
BL,
|
|
25
|
-
Path("/tmp"),
|
|
26
|
-
client=LocalDirectoryServiceClient(),
|
|
27
|
-
)
|
|
28
|
-
)
|
|
29
18
|
|
|
30
19
|
"""
|
|
31
20
|
Beamline module for use with the simulated AreaDetector and motors.
|
|
@@ -47,11 +36,23 @@ How to use the devices in a plan:
|
|
|
47
36
|
In an ipython terminal run:
|
|
48
37
|
|
|
49
38
|
```python
|
|
39
|
+
from pathlib import Path
|
|
40
|
+
|
|
50
41
|
from bluesky.run_engine import RunEngine
|
|
42
|
+
from ophyd_async.core import StaticPathProvider, UUIDFilenameProvider
|
|
51
43
|
|
|
52
44
|
from dodal.beamlines.adsim import det, stage
|
|
45
|
+
from dodal.common.beamlines.beamline_utils import set_path_provider
|
|
53
46
|
from dodal.plans import count
|
|
54
47
|
|
|
48
|
+
|
|
49
|
+
set_path_provider(
|
|
50
|
+
StaticPathProvider(
|
|
51
|
+
UUIDFilenameProvider(),
|
|
52
|
+
"/tmp", # The directory for `det` to write to- may be mounted as a volume
|
|
53
|
+
)
|
|
54
|
+
)
|
|
55
|
+
|
|
55
56
|
RE = RunEngine()
|
|
56
57
|
d = det(connect_immediately=True)
|
|
57
58
|
s = stage(connect_immediately=True)
|
|
@@ -2,7 +2,7 @@ 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.b07 import
|
|
5
|
+
from dodal.devices.b07 import Grating, LensMode
|
|
6
6
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -22,12 +22,13 @@ def synchrotron() -> Synchrotron:
|
|
|
22
22
|
|
|
23
23
|
@device_factory()
|
|
24
24
|
def pgm() -> PGM:
|
|
25
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=
|
|
25
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
30
|
-
return SpecsAnalyserDriverIO(
|
|
31
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
-
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": pgm().energy.user_readback},
|
|
33
34
|
)
|
|
@@ -2,7 +2,7 @@ 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.b07_1 import
|
|
5
|
+
from dodal.devices.b07_1 import Grating, LensMode
|
|
6
6
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -22,12 +22,13 @@ def synchrotron() -> Synchrotron:
|
|
|
22
22
|
|
|
23
23
|
@device_factory()
|
|
24
24
|
def pgm() -> PGM:
|
|
25
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=
|
|
25
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
30
|
-
return SpecsAnalyserDriverIO(
|
|
31
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
-
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": pgm().energy.user_readback},
|
|
33
34
|
)
|
|
@@ -92,7 +92,10 @@ def attenuator() -> BinaryFilterAttenuator:
|
|
|
92
92
|
"""Get the i03 attenuator device, instantiate it if it hasn't already been.
|
|
93
93
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
94
94
|
"""
|
|
95
|
-
return BinaryFilterAttenuator(
|
|
95
|
+
return BinaryFilterAttenuator(
|
|
96
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
97
|
+
num_filters=16,
|
|
98
|
+
)
|
|
96
99
|
|
|
97
100
|
|
|
98
101
|
@device_factory()
|
|
@@ -137,8 +137,8 @@ def attenuator() -> BinaryFilterAttenuator:
|
|
|
137
137
|
If this is called when already instantiated in i04, it will return the existing object.
|
|
138
138
|
"""
|
|
139
139
|
return BinaryFilterAttenuator(
|
|
140
|
-
f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
141
|
-
|
|
140
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-ATTN-01:",
|
|
141
|
+
num_filters=16,
|
|
142
142
|
)
|
|
143
143
|
|
|
144
144
|
|
|
@@ -3,7 +3,7 @@ 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.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
|
|
6
|
-
from dodal.devices.i09 import DCM,
|
|
6
|
+
from dodal.devices.i09 import DCM, Grating, LensMode
|
|
7
7
|
from dodal.devices.pgm import PGM
|
|
8
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
9
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -24,7 +24,7 @@ def synchrotron() -> Synchrotron:
|
|
|
24
24
|
def pgm() -> PGM:
|
|
25
25
|
return PGM(
|
|
26
26
|
prefix=f"{BeamlinePrefix(BL, suffix='J').beamline_prefix}-MO-PGM-01:",
|
|
27
|
-
grating=
|
|
27
|
+
grating=Grating,
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
|
|
@@ -34,11 +34,13 @@ def dcm() -> DCM:
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
@device_factory()
|
|
37
|
-
def analyser_driver() -> VGScientaAnalyserDriverIO:
|
|
37
|
+
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
|
|
38
38
|
energy_sources = {
|
|
39
39
|
"source1": pgm().energy.user_readback,
|
|
40
40
|
"source2": dcm().energy_in_ev,
|
|
41
41
|
}
|
|
42
|
-
return VGScientaAnalyserDriverIO(
|
|
43
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
42
|
+
return VGScientaAnalyserDriverIO[LensMode](
|
|
43
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
44
|
+
lens_mode_type=LensMode,
|
|
45
|
+
energy_sources=energy_sources,
|
|
44
46
|
)
|
|
@@ -4,6 +4,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
5
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
6
6
|
from dodal.devices.i09.dcm import DCM
|
|
7
|
+
from dodal.devices.i09_1 import LensMode
|
|
7
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
8
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
9
10
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
@@ -25,7 +26,9 @@ def dcm() -> DCM:
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
@device_factory()
|
|
28
|
-
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
29
|
-
return SpecsAnalyserDriverIO(
|
|
30
|
-
f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
29
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
+
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-02:CAM:",
|
|
32
|
+
lens_mode_type=LensMode,
|
|
33
|
+
energy_sources={"source1": dcm().energy_in_ev},
|
|
31
34
|
)
|
|
@@ -2,7 +2,7 @@ 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.i09.
|
|
5
|
+
from dodal.devices.i09.enums import Grating
|
|
6
6
|
from dodal.devices.pgm import PGM
|
|
7
7
|
from dodal.devices.synchrotron import Synchrotron
|
|
8
8
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -21,4 +21,4 @@ def synchrotron() -> Synchrotron:
|
|
|
21
21
|
|
|
22
22
|
@device_factory()
|
|
23
23
|
def pgm() -> PGM:
|
|
24
|
-
return PGM(prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:", grating=
|
|
24
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-MO-PGM-01:", grating=Grating)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
from ophyd_async.epics.adaravis import AravisDetector
|
|
4
|
+
from ophyd_async.epics.adcore import NDPluginStatsIO
|
|
4
5
|
from ophyd_async.epics.adpilatus import PilatusDetector
|
|
5
6
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
6
7
|
|
|
@@ -101,6 +102,11 @@ def i0() -> TetrammDetector:
|
|
|
101
102
|
prefix=f"{PREFIX.beamline_prefix}-EA-XBPM-02:",
|
|
102
103
|
path_provider=get_path_provider(),
|
|
103
104
|
type="Cividec Diamond XBPM",
|
|
105
|
+
plugins={
|
|
106
|
+
"stats": NDPluginStatsIO(
|
|
107
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-XBPM-02:SumAll:"
|
|
108
|
+
)
|
|
109
|
+
},
|
|
104
110
|
)
|
|
105
111
|
|
|
106
112
|
|
|
@@ -110,6 +116,11 @@ def it() -> TetrammDetector:
|
|
|
110
116
|
prefix=f"{PREFIX.beamline_prefix}-EA-TTRM-02:",
|
|
111
117
|
path_provider=get_path_provider(),
|
|
112
118
|
type="PIN Diode",
|
|
119
|
+
plugins={
|
|
120
|
+
"stats": NDPluginStatsIO(
|
|
121
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-TTRM-02:SumAll:"
|
|
122
|
+
)
|
|
123
|
+
},
|
|
113
124
|
)
|
|
114
125
|
|
|
115
126
|
|
|
@@ -32,7 +32,7 @@ ZOOM_PARAMS_FILE = (
|
|
|
32
32
|
DISPLAY_CONFIG = "/dls_sw/i24/software/gda_versions/var/display.configuration"
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
BL = get_beamline_name("
|
|
35
|
+
BL = get_beamline_name("i24")
|
|
36
36
|
set_log_beamline(BL)
|
|
37
37
|
set_utils_beamline(BL)
|
|
38
38
|
|
|
@@ -149,7 +149,7 @@ def pmac() -> PMAC:
|
|
|
149
149
|
)
|
|
150
150
|
|
|
151
151
|
|
|
152
|
-
@device_factory(
|
|
152
|
+
@device_factory()
|
|
153
153
|
def oav() -> OAVBeamCentreFile:
|
|
154
154
|
return OAVBeamCentreFile(
|
|
155
155
|
prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
@@ -3,7 +3,7 @@ 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.electron_analyser.vgscienta import VGScientaAnalyserDriverIO
|
|
6
|
-
from dodal.devices.p60 import LabXraySource, LabXraySourceReadable
|
|
6
|
+
from dodal.devices.p60 import LabXraySource, LabXraySourceReadable, LensMode
|
|
7
7
|
from dodal.log import set_beamline as set_log_beamline
|
|
8
8
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
9
9
|
|
|
@@ -24,11 +24,13 @@ def mg_kalpha_source() -> LabXraySourceReadable:
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
@device_factory()
|
|
27
|
-
def analyser_driver() -> VGScientaAnalyserDriverIO:
|
|
27
|
+
def analyser_driver() -> VGScientaAnalyserDriverIO[LensMode]:
|
|
28
28
|
energy_sources = {
|
|
29
29
|
"source1": al_kalpha_source().energy_ev,
|
|
30
30
|
"source2": mg_kalpha_source().energy_ev,
|
|
31
31
|
}
|
|
32
|
-
return VGScientaAnalyserDriverIO(
|
|
33
|
-
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
return VGScientaAnalyserDriverIO[LensMode](
|
|
33
|
+
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
34
|
+
lens_mode_type=LensMode,
|
|
35
|
+
energy_sources=energy_sources,
|
|
34
36
|
)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
from ophyd_async.epics.adandor import Andor2Detector
|
|
4
|
+
from ophyd_async.fastcs.panda import HDFPanda
|
|
4
5
|
|
|
5
6
|
from dodal.common.beamlines.beamline_utils import (
|
|
6
7
|
device_factory,
|
|
@@ -76,3 +77,16 @@ def andor2_point() -> Andor2Point:
|
|
|
76
77
|
drv_suffix=CAM_SUFFIX,
|
|
77
78
|
read_uncached={"mean": "STAT:MeanValue_RBV", "total": "STAT:Total_RBV"},
|
|
78
79
|
)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@device_factory()
|
|
83
|
+
def panda() -> HDFPanda:
|
|
84
|
+
"""
|
|
85
|
+
The Panda device is connected to two PMAC motors for position comparison under
|
|
86
|
+
the pcomp[1] and pcomp[2] blocks, which handle positive and negative directions.
|
|
87
|
+
This setup is used for triggering detectors during a flyscan.
|
|
88
|
+
"""
|
|
89
|
+
return HDFPanda(
|
|
90
|
+
f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
|
|
91
|
+
path_provider=get_path_provider(),
|
|
92
|
+
)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from asyncio import CancelledError, create_task, sleep
|
|
2
|
+
from contextlib import asynccontextmanager
|
|
3
|
+
|
|
4
|
+
from dodal.log import LOGGER
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@asynccontextmanager
|
|
8
|
+
async def periodic_reminder(
|
|
9
|
+
message: str = "Waiting",
|
|
10
|
+
schedule: tuple[tuple[int | float, int | None], ...] = ( # seconds, frequency
|
|
11
|
+
(1, 3),
|
|
12
|
+
(5, 3),
|
|
13
|
+
(60, 5),
|
|
14
|
+
(300, 5),
|
|
15
|
+
(1800, 5),
|
|
16
|
+
(3600, None),
|
|
17
|
+
),
|
|
18
|
+
):
|
|
19
|
+
"""Periodically logs a message according to a schedule with increasing delays.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
message: The message the user wants to output through logging.
|
|
23
|
+
schedule: A tuple list of tuples consisting of (int|float, int|None).
|
|
24
|
+
A sequence of (delay_seconds, count) pairs defining the logging intervals.
|
|
25
|
+
- delay_seconds is the number of seconds to wait between logs.
|
|
26
|
+
- count is how many times to log at this interval. If count is None, it logs indefinitely at that delay.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
async def _log_loop():
|
|
30
|
+
for delay, count in schedule:
|
|
31
|
+
n = 0
|
|
32
|
+
while count is None or n < count:
|
|
33
|
+
LOGGER.info(message)
|
|
34
|
+
await sleep(delay)
|
|
35
|
+
n += 1
|
|
36
|
+
|
|
37
|
+
task = create_task(_log_loop())
|
|
38
|
+
try:
|
|
39
|
+
yield
|
|
40
|
+
finally:
|
|
41
|
+
task.cancel()
|
|
42
|
+
try:
|
|
43
|
+
await task
|
|
44
|
+
except CancelledError:
|
|
45
|
+
pass
|
|
@@ -39,10 +39,12 @@ class BinaryFilterAttenuator(ReadOnlyAttenuator, Movable[float]):
|
|
|
39
39
|
Where desired_transmission is fraction e.g. 0-1. When the actual_transmission is
|
|
40
40
|
read from the device it is also fractional"""
|
|
41
41
|
|
|
42
|
-
def __init__(self, prefix: str, name: str = ""):
|
|
42
|
+
def __init__(self, prefix: str, num_filters: int, name: str = ""):
|
|
43
43
|
self._calculated_filter_states: DeviceVector[SignalR[int]] = DeviceVector(
|
|
44
44
|
{
|
|
45
|
-
int(digit,
|
|
45
|
+
int(digit, num_filters): epics_signal_r(
|
|
46
|
+
int, f"{prefix}DEC_TO_BIN.B{digit}"
|
|
47
|
+
)
|
|
46
48
|
for digit in string.hexdigits
|
|
47
49
|
if not digit.islower()
|
|
48
50
|
}
|
|
@@ -50,7 +52,7 @@ class BinaryFilterAttenuator(ReadOnlyAttenuator, Movable[float]):
|
|
|
50
52
|
self._filters_in_position: DeviceVector[SignalR[bool]] = DeviceVector(
|
|
51
53
|
{
|
|
52
54
|
i - 1: epics_signal_r(bool, f"{prefix}FILTER{i}:INLIM")
|
|
53
|
-
for i in range(1,
|
|
55
|
+
for i in range(1, num_filters + 1)
|
|
54
56
|
}
|
|
55
57
|
)
|
|
56
58
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from ophyd_async.core import StrictEnum, SupersetEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Grating(StrictEnum):
|
|
5
|
+
NI_400 = "400 l/mm Ni"
|
|
6
|
+
NI_1000 = "1000 l/mm Ni"
|
|
7
|
+
PT_600 = "BAD 600 l/mm Pt"
|
|
8
|
+
AU_600 = "600 l/mm Au"
|
|
9
|
+
NO_GRATING = "No Grating"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LensMode(SupersetEnum):
|
|
13
|
+
LARGE_AREA = "LargeArea"
|
|
14
|
+
HIGH_MAGNIFICATION = "HighMagnification"
|
|
15
|
+
MEDIUM_MAGNIFICATION = "MediumMagnification"
|
|
16
|
+
LOW_MAGNIFICATION = "LowMagnification"
|
|
17
|
+
MEDIUM_ANGULAR_DISPERSION = "MediumAngularDispersion"
|
|
18
|
+
LOW_ANGULAR_DISPERSION = "LowAngularDispersion"
|
|
19
|
+
HIGH_ANGULAR_DISPERSION = "HighAngularDispersion"
|
|
20
|
+
WIDE_ANGLE_MODE = "WideAngleMode"
|
|
21
|
+
MEDIUM_AREA = "MediumArea"
|
|
22
|
+
SMALL_AREA = "SmallArea"
|
|
23
|
+
HIGH_MAGNIFICATION2 = "HighMagnification2"
|
|
24
|
+
NOT_CONNECTED = "Not connected"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from ophyd_async.core import StrictEnum, SupersetEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Grating(StrictEnum):
|
|
5
|
+
AU_400 = "400 l/mm Au"
|
|
6
|
+
AU_600 = "600 l/mm Au"
|
|
7
|
+
PT_600 = "600 l/mm Pt"
|
|
8
|
+
AU_1200 = "1200 l/mm Au"
|
|
9
|
+
ML_1200 = "1200 l/mm ML"
|
|
10
|
+
NO_GRATING = "No Grating"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class LensMode(SupersetEnum):
|
|
14
|
+
SMALL_AREA = "SmallArea"
|
|
15
|
+
ANGLE_RESOLVED_MODE_22 = "AngleResolvedMode22"
|
|
16
|
+
ANGLE_RESOLVED_MODE_30 = "AngleResolvedMode30"
|
|
17
|
+
LARGE_AREA = "LargeArea"
|
|
18
|
+
NOT_CONNECTED = "Not connected"
|
{dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/__init__.py
RENAMED
|
@@ -8,6 +8,8 @@ from .base_region import (
|
|
|
8
8
|
AbstractBaseSequence,
|
|
9
9
|
TAbstractBaseRegion,
|
|
10
10
|
TAbstractBaseSequence,
|
|
11
|
+
TAcquisitionMode,
|
|
12
|
+
TLensMode,
|
|
11
13
|
)
|
|
12
14
|
|
|
13
15
|
__all__ = [
|
|
@@ -15,6 +17,8 @@ __all__ = [
|
|
|
15
17
|
"AbstractBaseSequence",
|
|
16
18
|
"TAbstractBaseRegion",
|
|
17
19
|
"TAbstractBaseSequence",
|
|
20
|
+
"TAcquisitionMode",
|
|
21
|
+
"TLensMode",
|
|
18
22
|
"AbstractAnalyserDriverIO",
|
|
19
23
|
"AbstractElectronAnalyserDetector",
|
|
20
24
|
"AbstractAnalyserDriverIO",
|
{dls_dodal-1.51.0 → dls_dodal-1.53.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py
RENAMED
|
@@ -11,7 +11,6 @@ from ophyd_async.core import (
|
|
|
11
11
|
SignalR,
|
|
12
12
|
StandardReadable,
|
|
13
13
|
StandardReadableFormat,
|
|
14
|
-
StrictEnum,
|
|
15
14
|
derived_signal_r,
|
|
16
15
|
soft_signal_rw,
|
|
17
16
|
)
|
|
@@ -20,6 +19,8 @@ from ophyd_async.epics.core import epics_signal_r, epics_signal_rw
|
|
|
20
19
|
|
|
21
20
|
from dodal.devices.electron_analyser.abstract.base_region import (
|
|
22
21
|
TAbstractBaseRegion,
|
|
22
|
+
TAcquisitionMode,
|
|
23
|
+
TLensMode,
|
|
23
24
|
)
|
|
24
25
|
from dodal.devices.electron_analyser.enums import EnergyMode
|
|
25
26
|
from dodal.devices.electron_analyser.util import to_binding_energy, to_kinetic_energy
|
|
@@ -30,7 +31,7 @@ class AbstractAnalyserDriverIO(
|
|
|
30
31
|
StandardReadable,
|
|
31
32
|
ADBaseIO,
|
|
32
33
|
Movable[TAbstractBaseRegion],
|
|
33
|
-
Generic[TAbstractBaseRegion],
|
|
34
|
+
Generic[TAbstractBaseRegion, TAcquisitionMode, TLensMode],
|
|
34
35
|
):
|
|
35
36
|
"""
|
|
36
37
|
Generic device to configure electron analyser with new region settings.
|
|
@@ -40,11 +41,27 @@ class AbstractAnalyserDriverIO(
|
|
|
40
41
|
def __init__(
|
|
41
42
|
self,
|
|
42
43
|
prefix: str,
|
|
43
|
-
acquisition_mode_type: type[
|
|
44
|
+
acquisition_mode_type: type[TAcquisitionMode],
|
|
45
|
+
lens_mode_type: type[TLensMode],
|
|
44
46
|
energy_sources: Mapping[str, SignalR[float]],
|
|
45
47
|
name: str = "",
|
|
46
48
|
) -> None:
|
|
49
|
+
"""
|
|
50
|
+
Constructor method for setting up electron analyser.
|
|
51
|
+
|
|
52
|
+
Args:
|
|
53
|
+
prefix: Base PV to connect to EPICS for this device.
|
|
54
|
+
acquisition_mode_type: Enum that determines the available acquisition modes
|
|
55
|
+
for this device.
|
|
56
|
+
lens_mode_type: Enum that determines the available lens mode for this
|
|
57
|
+
device.
|
|
58
|
+
energy_sources: Map that pairs a source name to an energy value signal
|
|
59
|
+
(in eV).
|
|
60
|
+
name: Name of the device.
|
|
61
|
+
"""
|
|
47
62
|
self.energy_sources = energy_sources
|
|
63
|
+
self.acquisition_mode_type = acquisition_mode_type
|
|
64
|
+
self.lens_mode_type = lens_mode_type
|
|
48
65
|
|
|
49
66
|
with self.add_children_as_readables():
|
|
50
67
|
self.image = epics_signal_r(Array1D[np.float64], prefix + "IMAGE")
|
|
@@ -63,7 +80,7 @@ class AbstractAnalyserDriverIO(
|
|
|
63
80
|
self.low_energy = epics_signal_rw(float, prefix + "LOW_ENERGY")
|
|
64
81
|
self.high_energy = epics_signal_rw(float, prefix + "HIGH_ENERGY")
|
|
65
82
|
self.slices = epics_signal_rw(int, prefix + "SLICES")
|
|
66
|
-
self.lens_mode = epics_signal_rw(
|
|
83
|
+
self.lens_mode = epics_signal_rw(lens_mode_type, prefix + "LENS_MODE")
|
|
67
84
|
self.pass_energy = epics_signal_rw(
|
|
68
85
|
self.pass_energy_type, prefix + "PASS_ENERGY"
|
|
69
86
|
)
|