dls-dodal 1.54.0__tar.gz → 1.55.1__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.54.0 → dls_dodal-1.55.1}/.github/workflows/_test.yml +1 -0
- dls_dodal-1.55.1/.talismanrc +10 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/PKG-INFO +2 -2
- dls_dodal-1.55.1/docs/assets/where-to-put-dodal-logic.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/create-beamline.rst +8 -14
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/create-device.md +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/reference/device-standards.rst +36 -7
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/pyproject.toml +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/PKG-INFO +2 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/SOURCES.txt +4 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/requires.txt +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/_version.py +2 -2
- dls_dodal-1.55.1/src/dodal/beamline_specific_utils/i05_shared.py +11 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/aithre.py +2 -3
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b01_1.py +0 -12
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b16.py +0 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b21.py +0 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i03.py +10 -31
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i04.py +7 -38
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i05.py +2 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i05_1.py +8 -3
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i13_1.py +0 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i19_1.py +0 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i19_2.py +0 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i19_optics.py +1 -4
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i23.py +1 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i24.py +0 -12
- dls_dodal-1.55.1/src/dodal/common/beamlines/device_helpers.py +4 -0
- dls_dodal-1.55.1/src/dodal/devices/aithre_lasershaping/goniometer.py +25 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/aithre_lasershaping/laser_robot.py +2 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/attenuator/attenuator.py +3 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/focusing_mirror.py +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i03/undulator_dcm.py +8 -3
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/mirrors.py +2 -6
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/motors.py +75 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/robot.py +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/tetramm.py +13 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/util/test_utils.py +19 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/webcam.py +2 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zebra/zebra.py +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zebra/zebra_controlled_shutter.py +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zocalo/__init__.py +2 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zocalo/zocalo_results.py +16 -26
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/system_tests/test_adsim.py +2 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/aithre_lasershaping/test_goniometer.py +2 -4
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/test_motors.py +54 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i03/test_undulator_dcm.py +12 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i24/test_pmac.py +2 -6
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i24/test_vgonio.py +2 -2
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_oav_utils.py +5 -6
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_aperture_scatterguard.py +28 -41
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_attenuator.py +12 -6
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_gridscan.py +3 -5
- dls_dodal-1.55.1/tests/devices/unit_tests/test_motors.py +82 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_smargon.py +5 -9
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_tetramm.py +1 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_webcam.py +2 -1
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_zocalo_results.py +37 -112
- dls_dodal-1.55.1/tests/unit_tests/__init__.py +0 -0
- dls_dodal-1.54.0/src/dodal/common/beamlines/device_helpers.py +0 -37
- dls_dodal-1.54.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -48
- dls_dodal-1.54.0/tests/common/beamlines/test_device_helpers.py +0 -23
- dls_dodal-1.54.0/tests/devices/unit_tests/test_motors.py +0 -28
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.copier-answers.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.devcontainer/devcontainer.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/CONTRIBUTING.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/actions/install_requirements/action.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/dependabot.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/pages/index.html +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/scripts/check_test_durations.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/_dist.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/_docs.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/_release.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/_tox.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/ci.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.github/workflows/periodic.yml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.gitignore +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.pre-commit-config.yaml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.vscode/extensions.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.vscode/launch.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.vscode/settings.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/.vscode/tasks.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/Dockerfile +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/LICENSE +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/README.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/catalog-info.yaml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/conftest.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/conf.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/explanations.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/genindex.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/build-docs.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/coverage.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/dev-install.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/lint.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/lock-requirements.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/move-code.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/run-tests.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/static-analysis.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/write-tests.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to/zocalo.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/how-to.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/index.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/reference/api.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/reference/standards.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/reference.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/tutorials/get_started.rst +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/tutorials/installation.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/docs/tutorials.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/pull_request_template.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/setup.cfg +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamline_specific_utils/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamline_specific_utils/i03.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/adsim.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b07.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b07_1.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i02_1.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i09.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i09_1.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i09_2.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i10.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i18.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i20_1.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/i22.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/p38.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/p45.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/p60.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/p99.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/beamlines/training_rig.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/cli.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/beamlines/beamline_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/coordination.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/crystal_metadata.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/device_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/maths.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/udc_directory_provider.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/common/visit.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/CTAB.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/__init__.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/b16 → dls_dodal-1.55.1/src/dodal/devices/aithre_lasershaping}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/aperture.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/aperturescatterguard.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/apple2_undulator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/attenuator/filter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/attenuator/filter_selections.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b07/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b07/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b07_1/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b07_1/ccmc.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b07_1/enums.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/i10 → dls_dodal-1.55.1/src/dodal/devices/b16}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/b16/detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/bimorph_mirror.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/common_dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/cryostream.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/femto.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/det_resolution.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/detector/detector_motion.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/diamond_filter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/eiger.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/eiger_odin.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/specs/detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/specs/driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/types.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/util.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/fast_grid_scan.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/flux.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/hutch_shutter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i03/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i03/dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i04/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i04/constants.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i04/murko_results.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i04/transfocator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i05/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i05/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i09/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i09/dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i09/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i09_1/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i09_1/enums.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/i13_1 → dls_dodal-1.55.1/src/dodal/devices/i10}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/diagnostics.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/i10_apple2.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i10/slits.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/i19 → dls_dodal-1.55.1/src/dodal/devices/i13_1}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i13_1/merlin.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i18/KBMirror.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i18/diode.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/i20_1 → dls_dodal-1.55.1/src/dodal/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i19/beamstop.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i19/blueapi_device.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i19/hutch_access.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i19/shutter.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/i24 → dls_dodal-1.55.1/src/dodal/devices/i20_1}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i22/dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i22/fswitch.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i22/nxsas.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/oav → dls_dodal-1.55.1/src/dodal/devices/i24}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/aperture.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/beam_center.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/beamstop.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/dual_backlight.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/pmac.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/i24/vgonio.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/ipin.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/linkam3.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/p99 → dls_dodal-1.55.1/src/dodal/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/oav_calculations.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/oav_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/oav_parameters.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/oav/utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p45.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p60/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p60/enums.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p60/lab_xray_source.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/util → dls_dodal-1.55.1/src/dodal/devices/p99}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p99/andor2_point.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/p99/sample_stage.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/pgm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/pressure_jump_cell.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/qbpm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/s4_slit_gaps.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/slits.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/smargon.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/turbo_slit.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/undulator.py +0 -0
- {dls_dodal-1.54.0/src/dodal/devices/zebra → dls_dodal-1.55.1/src/dodal/devices/util}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/util/adjuster_plans.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/util/epics_util.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/util/lookup_tables.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/xbpm_feedback.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/xspress3/xspress3.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
- {dls_dodal-1.54.0/src/dodal/plan_stubs → dls_dodal-1.55.1/src/dodal/devices/zebra}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/log.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/parameters/experiment_parameter_base.py +0 -0
- {dls_dodal-1.54.0/src/dodal/plans/preprocessors → dls_dodal-1.55.1/src/dodal/plan_stubs}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plan_stubs/check_topup.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plan_stubs/data_session.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plan_stubs/motor_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plan_stubs/wrapped.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/bimorph.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.54.0/system_tests → dls_dodal-1.55.1/src/dodal/plans/preprocessors}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/scanspec.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/verify_undulator_gap.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/plans/wrapped.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/src/dodal/utils.py +0 -0
- {dls_dodal-1.54.0/tests → dls_dodal-1.55.1/system_tests}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/system_tests/test_cli.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.54.0/tests/beamlines → dls_dodal-1.55.1/tests}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/beamlines/unit_tests → dls_dodal-1.55.1/tests/beamlines}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/common → dls_dodal-1.55.1/tests/beamlines/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/beamlines/unit_tests/test_b16.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/beamlines/unit_tests/test_i03.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/beamlines/unit_tests/test_i24.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/beamlines/unit_tests/test_mapping.py +0 -0
- {dls_dodal-1.54.0/tests/common/beamlines → dls_dodal-1.55.1/tests/common}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/devices → dls_dodal-1.55.1/tests/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/beamlines/test_beamline_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/beamlines/test_device_instantiation.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/test_maths.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/conftest.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/constants.py +0 -0
- {dls_dodal-1.54.0/tests/devices/i03 → dls_dodal-1.55.1/tests/devices}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/devices/i04 → dls_dodal-1.55.1/tests/devices/i03}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/devices/i19 → dls_dodal-1.55.1/tests/devices/i04}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i04/test_murko_results.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i04/test_transfocator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i10/test_i10Apple2.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i13_1/test_merlin.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i18/test_kb_mirror.py +0 -0
- {dls_dodal-1.54.0/tests/devices/mx_phase1 → dls_dodal-1.55.1/tests/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i19/test_beamstop.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i19/test_shutter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i22/test_dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i22/test_fswitch.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/i22/test_metadataholder.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests → dls_dodal-1.55.1/tests/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/mx_phase1/test_beamstop.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/test_diamond_filter.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser → dls_dodal-1.55.1/tests/devices/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/b07_1/test_ccmc.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/detector/test_detector.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/abstract → dls_dodal-1.55.1/tests/devices/unit_tests/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/specs → dls_dodal-1.55.1/tests/devices/unit_tests/electron_analyser/abstract}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/conftest.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/electron_analyser/vgscienta → dls_dodal-1.55.1/tests/devices/unit_tests/electron_analyser/specs}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/util.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/i03 → dls_dodal-1.55.1/tests/devices/unit_tests/electron_analyser/vgscienta}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/i09 → dls_dodal-1.55.1/tests/devices/unit_tests/i03}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/i24 → dls_dodal-1.55.1/tests/devices/unit_tests/i09}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i09/test_dcm.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/oav → dls_dodal-1.55.1/tests/devices/unit_tests/i24}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
- {dls_dodal-1.54.0/tests/devices/unit_tests/util → dls_dodal-1.55.1/tests/devices/unit_tests/oav}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/conftest.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_oav.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/p60/test_lab_xray_source.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_aperture.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_apple2_undulator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_backlight.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_bart_robot.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_baton.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_beam_converter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_display.configuration +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_eiger.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_focusing_mirror.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_odin.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_positioner.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_pressure_jump_cell.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_qbpm.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_slits.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_status.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_synchrotron.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_thawer.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_turbo_slit.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_undulator.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_xbpm_feedback.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_xspress3.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_zebra.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
- {dls_dodal-1.54.0/tests/fake_zocalo → dls_dodal-1.55.1/tests/devices/unit_tests/util}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_misbehaving_builtins.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.54.0/tests/unit_tests → dls_dodal-1.55.1/tests/fake_zocalo}/__init__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_zocalo/__main__.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/conftest.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_compliance.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_scanspec.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/plans/test_wrapped.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/electron_analyser/specs_sequence.seq +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/electron_analyser/vgscienta_sequence.seq +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/test_utils.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/tests/unit_tests/test_cli.py +0 -0
- {dls_dodal-1.54.0 → dls_dodal-1.55.1}/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.55.1
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -215,7 +215,7 @@ Description-Content-Type: text/markdown
|
|
|
215
215
|
License-File: LICENSE
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
|
-
Requires-Dist: ophyd-async[ca,pva]>=0.
|
|
218
|
+
Requires-Dist: ophyd-async[ca,pva]>=0.13.0
|
|
219
219
|
Requires-Dist: bluesky
|
|
220
220
|
Requires-Dist: pyepics
|
|
221
221
|
Requires-Dist: dataclasses-json
|
|
Binary file
|
|
@@ -63,14 +63,14 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
|
|
|
63
63
|
"""
|
|
64
64
|
|
|
65
65
|
"""
|
|
66
|
-
|
|
67
|
-
- may be instantiated automatically, selectively on live beamline
|
|
68
|
-
-
|
|
69
|
-
- automatically names the device
|
|
70
|
-
- may be skipped when make_all_devices is called on this module
|
|
71
|
-
- must be explicitly connected (may be automated by tools)
|
|
72
|
-
- when connected may connect to a simulated backend
|
|
73
|
-
- may be connected concurrently (when automated by tools)
|
|
66
|
+
This decorator gives extra desirable behaviour to this factory function:
|
|
67
|
+
- it may be instantiated automatically, selectively on live beamline
|
|
68
|
+
- caching and re-using the result for subsequent calls
|
|
69
|
+
- it automatically names the device if no name is explicitly set
|
|
70
|
+
- it may be skipped when make_all_devices is called on this module
|
|
71
|
+
- it must be explicitly connected (which may be automated by tools)
|
|
72
|
+
- when connected it may connect to a simulated backend
|
|
73
|
+
- it may be connected concurrently (when automated by tools)
|
|
74
74
|
""""
|
|
75
75
|
@device_factory(skip = BL == "s41")
|
|
76
76
|
def synchrotron() -> Synchrotron:
|
|
@@ -85,9 +85,3 @@ The following example creates a fictitious beamline ``w41``, with a simulated tw
|
|
|
85
85
|
drv_suffix=CAM_SUFFIX,
|
|
86
86
|
fileio_suffix=HDF5_SUFFIX,
|
|
87
87
|
)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
``w41`` should also be added to the list of ``ALL_BEAMLINES`` in ``tests/beamlines/test_device_instantiation``.
|
|
91
|
-
This test checks that the function returns a type that conforms to Bluesky protocols,
|
|
92
|
-
that it always returns the same instance of the device and that the arguments passed
|
|
93
|
-
into the Device class constructor are valid.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Creating a new device
|
|
2
2
|
---------------------
|
|
3
3
|
|
|
4
|
-
Devices are written using the ophyd-async framework, the hardware abstraction library at Diamond.
|
|
4
|
+
Devices are written using the ophyd-async framework, the hardware abstraction library at Diamond. Before creating your device, you should [consider where the new code should live](../reference/device-standards.rst#where_to_put_devices).
|
|
5
5
|
|
|
6
6
|
Reusing an existing class
|
|
7
7
|
=========================
|
|
@@ -7,6 +7,9 @@ Some devices have been written in ``ophyd`` for historic reasons. However, all n
|
|
|
7
7
|
``ophyd-async`` and any old ``ophyd`` devices undergoing a large re-write should be considered for
|
|
8
8
|
conversion to ``ophyd-async``.
|
|
9
9
|
|
|
10
|
+
|
|
11
|
+
.. _where_to_put_devices:
|
|
12
|
+
|
|
10
13
|
Where to put devices
|
|
11
14
|
--------------------
|
|
12
15
|
|
|
@@ -19,7 +22,11 @@ should think about where to place them in the following order:
|
|
|
19
22
|
complex device (e.g. multiple files) it should have a folder of its own e.g. ``oav``
|
|
20
23
|
#. A device that is very specific to a particular beamline should go in the ``devices/ixx`` folder
|
|
21
24
|
|
|
22
|
-
This is in an effort to avoid duplication across facilities/beamlines.
|
|
25
|
+
This is in an effort to avoid duplication across facilities/beamlines. You should also consider whether it is best for a piece of logic is better suited to the control system or a bluesky plan - see `ophyd-async's guide <https://blueskyproject.io/ophyd-async/main/explanations/where-device-logic.html>`_ on that.
|
|
26
|
+
|
|
27
|
+
Determining where in dodal a device should live can be summarised below:
|
|
28
|
+
|
|
29
|
+
.. image:: ../assets/where-to-put-dodal-logic.png
|
|
23
30
|
|
|
24
31
|
Device Best Practices
|
|
25
32
|
----------------------------
|
|
@@ -27,10 +34,33 @@ Device Best Practices
|
|
|
27
34
|
Ophyd-async directory contains a flowchart_ for a simplified decision tree about what interfaces
|
|
28
35
|
should a given device implement. In addition to this the following guidelines are strongly recommended:
|
|
29
36
|
|
|
37
|
+
#. Device should have their name as an optional str parameter with a default of ""- this allows ophyd-async to automatically name the device
|
|
30
38
|
#. Devices should contain only the PV suffixes that are generic for any instance of the device. See `PV Suffixes`_
|
|
31
39
|
#. Anything in a device that is expected to be set externally should be a signal. See `Use of signals`_
|
|
32
40
|
#. Devices should not hold state, when they are read they should read the hardware. See `Holding State`_
|
|
33
41
|
|
|
42
|
+
Defaulting Names
|
|
43
|
+
----------------
|
|
44
|
+
|
|
45
|
+
Device should provide the ability to override their name while maintaining a default name of ""-
|
|
46
|
+
this allows the device to be named on connection from the name of its factory function when using
|
|
47
|
+
the device_factory decorator.
|
|
48
|
+
|
|
49
|
+
When a device is named in this way, all of its child devices are named appropriately.
|
|
50
|
+
|
|
51
|
+
.. code-block:: python
|
|
52
|
+
class MyDevice(Device):
|
|
53
|
+
def __init__(self, prefix: str, name: str = "")
|
|
54
|
+
x = Motor(prefix + "X")
|
|
55
|
+
super().__init__(name)
|
|
56
|
+
|
|
57
|
+
@device_factory()
|
|
58
|
+
def foo() -> MyDevice:
|
|
59
|
+
return MyDevice("FOO:")
|
|
60
|
+
|
|
61
|
+
f = foo()
|
|
62
|
+
f.name == "foo"
|
|
63
|
+
f.x.name == "foo-x"
|
|
34
64
|
|
|
35
65
|
PV Suffixes
|
|
36
66
|
-----------
|
|
@@ -40,23 +70,22 @@ In general devices should contain only the PV suffixes that are generic for any
|
|
|
40
70
|
.. code-block:: python
|
|
41
71
|
|
|
42
72
|
class MyDevice(Device):
|
|
43
|
-
def __init__(self,
|
|
73
|
+
def __init__(self, prefix: str, name: str = "")
|
|
44
74
|
self.bragg = Motor(prefix + "BRAGG")
|
|
45
|
-
super().__init__(name)
|
|
46
|
-
|
|
47
|
-
device_instantiation(MyDevice, "dcm", "-MO-DCM-01:")
|
|
75
|
+
super().__init__(name)
|
|
48
76
|
|
|
77
|
+
MyDevice("BLXXI-MO-DCM-01:")
|
|
49
78
|
|
|
50
79
|
is preferred over
|
|
51
80
|
|
|
52
81
|
.. code-block:: python
|
|
53
82
|
|
|
54
83
|
class MyDevice(Device):
|
|
55
|
-
def __init__(self,
|
|
84
|
+
def __init__(self, prefix: str, name: str = "")
|
|
56
85
|
self.bragg = Motor(prefix + "-MO-DCM-01:BRAGG")
|
|
57
86
|
super().__init__(name)
|
|
58
87
|
|
|
59
|
-
|
|
88
|
+
MyDevice("BLXXI")
|
|
60
89
|
|
|
61
90
|
This is so that a new device on say ``-MO-DCM-02`` can be easily created.
|
|
62
91
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.55.1
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -215,7 +215,7 @@ Description-Content-Type: text/markdown
|
|
|
215
215
|
License-File: LICENSE
|
|
216
216
|
Requires-Dist: click
|
|
217
217
|
Requires-Dist: ophyd
|
|
218
|
-
Requires-Dist: ophyd-async[ca,pva]>=0.
|
|
218
|
+
Requires-Dist: ophyd-async[ca,pva]>=0.13.0
|
|
219
219
|
Requires-Dist: bluesky
|
|
220
220
|
Requires-Dist: pyepics
|
|
221
221
|
Requires-Dist: dataclasses-json
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
.copier-answers.yml
|
|
2
2
|
.gitignore
|
|
3
3
|
.pre-commit-config.yaml
|
|
4
|
+
.talismanrc
|
|
4
5
|
Dockerfile
|
|
5
6
|
LICENSE
|
|
6
7
|
README.md
|
|
@@ -39,6 +40,7 @@ docs/tutorials.md
|
|
|
39
40
|
docs/_templates/custom-module-template.rst
|
|
40
41
|
docs/_templates/autosummary/class.rst
|
|
41
42
|
docs/_templates/autosummary/module.rst
|
|
43
|
+
docs/assets/where-to-put-dodal-logic.png
|
|
42
44
|
docs/assets/zocalo.png
|
|
43
45
|
docs/explanations/decisions.md
|
|
44
46
|
docs/explanations/reviews.md
|
|
@@ -90,6 +92,7 @@ src/dodal/log.py
|
|
|
90
92
|
src/dodal/utils.py
|
|
91
93
|
src/dodal/beamline_specific_utils/__init__.py
|
|
92
94
|
src/dodal/beamline_specific_utils/i03.py
|
|
95
|
+
src/dodal/beamline_specific_utils/i05_shared.py
|
|
93
96
|
src/dodal/beamlines/README.md
|
|
94
97
|
src/dodal/beamlines/__init__.py
|
|
95
98
|
src/dodal/beamlines/adsim.py
|
|
@@ -177,6 +180,7 @@ src/dodal/devices/undulator.py
|
|
|
177
180
|
src/dodal/devices/watsonmarlow323_pump.py
|
|
178
181
|
src/dodal/devices/webcam.py
|
|
179
182
|
src/dodal/devices/xbpm_feedback.py
|
|
183
|
+
src/dodal/devices/aithre_lasershaping/__init__.py
|
|
180
184
|
src/dodal/devices/aithre_lasershaping/goniometer.py
|
|
181
185
|
src/dodal/devices/aithre_lasershaping/laser_robot.py
|
|
182
186
|
src/dodal/devices/areadetector/plugins/CAM.py
|
|
@@ -352,7 +356,6 @@ tests/common/test_visit.py
|
|
|
352
356
|
tests/common/beamlines/__init__.py
|
|
353
357
|
tests/common/beamlines/test_beamline_parameters.py
|
|
354
358
|
tests/common/beamlines/test_beamline_utils.py
|
|
355
|
-
tests/common/beamlines/test_device_helpers.py
|
|
356
359
|
tests/common/beamlines/test_device_instantiation.py
|
|
357
360
|
tests/devices/__init__.py
|
|
358
361
|
tests/devices/test_common_dcm.py
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from dodal.common.beamlines.beamline_utils import device_factory
|
|
2
|
+
from dodal.devices.i05.enums import Grating
|
|
3
|
+
from dodal.devices.pgm import PGM
|
|
4
|
+
from dodal.utils import BeamlinePrefix
|
|
5
|
+
|
|
6
|
+
PREFIX = BeamlinePrefix("i05", "I")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@device_factory()
|
|
10
|
+
def pgm() -> PGM:
|
|
11
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
@@ -12,12 +12,12 @@ PREFIX = "LA18L"
|
|
|
12
12
|
|
|
13
13
|
@device_factory()
|
|
14
14
|
def goniometer() -> Goniometer:
|
|
15
|
-
return Goniometer(f"{PREFIX}-MO-LSR-01:"
|
|
15
|
+
return Goniometer(f"{PREFIX}-MO-LSR-01:")
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
@device_factory()
|
|
19
19
|
def robot() -> LaserRobot:
|
|
20
|
-
return LaserRobot(
|
|
20
|
+
return LaserRobot(f"{PREFIX}-MO-ROBOT-01:")
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
@device_factory()
|
|
@@ -25,6 +25,5 @@ def oav(params: OAVConfigBeamCentre | None = None) -> OAVBeamCentreFile:
|
|
|
25
25
|
return OAVBeamCentreFile(
|
|
26
26
|
prefix=f"{PREFIX}-DI-OAV-01:",
|
|
27
27
|
config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
|
|
28
|
-
name="oav",
|
|
29
28
|
zoom_controller=NullZoomController(),
|
|
30
29
|
)
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
1
|
from ophyd_async.epics.adaravis import AravisDetector
|
|
4
2
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
5
3
|
|
|
6
4
|
from dodal.common.beamlines.beamline_utils import (
|
|
7
5
|
device_factory,
|
|
8
6
|
get_path_provider,
|
|
9
|
-
set_path_provider,
|
|
10
7
|
)
|
|
11
8
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
12
9
|
from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
|
|
13
|
-
from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
|
|
14
10
|
from dodal.devices.motors import XYZStage
|
|
15
11
|
from dodal.devices.synchrotron import Synchrotron
|
|
16
12
|
from dodal.log import set_beamline as set_log_beamline
|
|
@@ -21,14 +17,6 @@ PREFIX = BeamlinePrefix(BL)
|
|
|
21
17
|
set_log_beamline(BL)
|
|
22
18
|
set_utils_beamline(BL)
|
|
23
19
|
|
|
24
|
-
set_path_provider(
|
|
25
|
-
StaticVisitPathProvider(
|
|
26
|
-
BL,
|
|
27
|
-
Path("/dls/b01-1/data/2025/cm40661-1/"),
|
|
28
|
-
client=LocalDirectoryServiceClient(),
|
|
29
|
-
)
|
|
30
|
-
)
|
|
31
|
-
|
|
32
20
|
"""
|
|
33
21
|
NOTE: Due to ArgoCD and the k8s cluster configuration those PVs are not available remotely.
|
|
34
22
|
You need to be on the beamline-local network to access them.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from ophyd_async.fastcs.eiger import EigerDetector as FastEiger
|
|
2
2
|
from ophyd_async.fastcs.panda import HDFPanda
|
|
3
|
+
from yarl import URL
|
|
3
4
|
|
|
4
5
|
from dodal.common.beamlines.beamline_parameters import get_beamline_parameters
|
|
5
6
|
from dodal.common.beamlines.beamline_utils import (
|
|
@@ -49,7 +50,7 @@ from dodal.devices.zebra.zebra_constants_mapping import (
|
|
|
49
50
|
ZebraTTLOutputs,
|
|
50
51
|
)
|
|
51
52
|
from dodal.devices.zebra.zebra_controlled_shutter import ZebraShutter
|
|
52
|
-
from dodal.devices.zocalo import ZocaloResults
|
|
53
|
+
from dodal.devices.zocalo import ZocaloResults, ZocaloSource
|
|
53
54
|
from dodal.log import set_beamline as set_log_beamline
|
|
54
55
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
55
56
|
|
|
@@ -105,7 +106,6 @@ def beamstop() -> Beamstop:
|
|
|
105
106
|
"""
|
|
106
107
|
return Beamstop(
|
|
107
108
|
prefix=f"{PREFIX.beamline_prefix}-MO-BS-01:",
|
|
108
|
-
name="beamstop",
|
|
109
109
|
beamline_parameters=get_beamline_parameters(),
|
|
110
110
|
)
|
|
111
111
|
|
|
@@ -117,7 +117,6 @@ def dcm() -> DCM:
|
|
|
117
117
|
"""
|
|
118
118
|
return DCM(
|
|
119
119
|
prefix=f"{PREFIX.beamline_prefix}-MO-DCM-01:",
|
|
120
|
-
name="dcm",
|
|
121
120
|
)
|
|
122
121
|
|
|
123
122
|
|
|
@@ -125,7 +124,6 @@ def dcm() -> DCM:
|
|
|
125
124
|
def vfm() -> FocusingMirrorWithStripes:
|
|
126
125
|
return FocusingMirrorWithStripes(
|
|
127
126
|
prefix=f"{PREFIX.beamline_prefix}-OP-VFM-01:",
|
|
128
|
-
name="vfm",
|
|
129
127
|
bragg_to_lat_lut_path=DAQ_CONFIGURATION_PATH
|
|
130
128
|
+ "/lookup/BeamLineEnergy_DCM_VFM_x_converter.txt",
|
|
131
129
|
x_suffix="LAT",
|
|
@@ -136,7 +134,6 @@ def vfm() -> FocusingMirrorWithStripes:
|
|
|
136
134
|
@device_factory()
|
|
137
135
|
def mirror_voltages() -> MirrorVoltages:
|
|
138
136
|
return MirrorVoltages(
|
|
139
|
-
name="mirror_voltages",
|
|
140
137
|
prefix=f"{PREFIX.beamline_prefix}-MO-PSU-01:",
|
|
141
138
|
daq_configuration_path=DAQ_CONFIGURATION_PATH,
|
|
142
139
|
)
|
|
@@ -147,7 +144,7 @@ def backlight() -> Backlight:
|
|
|
147
144
|
"""Get the i03 backlight device, instantiate it if it hasn't already been.
|
|
148
145
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
149
146
|
"""
|
|
150
|
-
return Backlight(prefix=PREFIX.beamline_prefix
|
|
147
|
+
return Backlight(prefix=PREFIX.beamline_prefix)
|
|
151
148
|
|
|
152
149
|
|
|
153
150
|
@device_factory()
|
|
@@ -157,7 +154,6 @@ def detector_motion() -> DetectorMotion:
|
|
|
157
154
|
"""
|
|
158
155
|
return DetectorMotion(
|
|
159
156
|
prefix=PREFIX.beamline_prefix,
|
|
160
|
-
name="detector_motion",
|
|
161
157
|
)
|
|
162
158
|
|
|
163
159
|
|
|
@@ -197,7 +193,6 @@ def zebra_fast_grid_scan() -> ZebraFastGridScan:
|
|
|
197
193
|
"""
|
|
198
194
|
return ZebraFastGridScan(
|
|
199
195
|
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
200
|
-
name="zebra_fast_grid_scan",
|
|
201
196
|
)
|
|
202
197
|
|
|
203
198
|
|
|
@@ -209,7 +204,6 @@ def panda_fast_grid_scan() -> PandAFastGridScan:
|
|
|
209
204
|
"""
|
|
210
205
|
return PandAFastGridScan(
|
|
211
206
|
prefix=f"{PREFIX.beamline_prefix}-MO-SGON-01:",
|
|
212
|
-
name="panda_fast_grid_scan",
|
|
213
207
|
)
|
|
214
208
|
|
|
215
209
|
|
|
@@ -222,7 +216,6 @@ def oav(
|
|
|
222
216
|
"""
|
|
223
217
|
return OAVBeamCentreFile(
|
|
224
218
|
prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
225
|
-
name="oav",
|
|
226
219
|
config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
|
|
227
220
|
)
|
|
228
221
|
|
|
@@ -234,7 +227,6 @@ def pin_tip_detection() -> PinTipDetection:
|
|
|
234
227
|
"""
|
|
235
228
|
return PinTipDetection(
|
|
236
229
|
f"{PREFIX.beamline_prefix}-DI-OAV-01:",
|
|
237
|
-
"pin_tip_detection",
|
|
238
230
|
)
|
|
239
231
|
|
|
240
232
|
|
|
@@ -243,7 +235,7 @@ def smargon() -> Smargon:
|
|
|
243
235
|
"""Get the i03 Smargon device, instantiate it if it hasn't already been.
|
|
244
236
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
245
237
|
"""
|
|
246
|
-
return Smargon(f"{PREFIX.beamline_prefix}-MO-SGON-01:"
|
|
238
|
+
return Smargon(f"{PREFIX.beamline_prefix}-MO-SGON-01:")
|
|
247
239
|
|
|
248
240
|
|
|
249
241
|
@device_factory()
|
|
@@ -253,7 +245,6 @@ def s4_slit_gaps() -> S4SlitGaps:
|
|
|
253
245
|
"""
|
|
254
246
|
return S4SlitGaps(
|
|
255
247
|
f"{PREFIX.beamline_prefix}-AL-SLITS-04:",
|
|
256
|
-
"s4_slit_gaps",
|
|
257
248
|
)
|
|
258
249
|
|
|
259
250
|
|
|
@@ -262,7 +253,7 @@ def synchrotron() -> Synchrotron:
|
|
|
262
253
|
"""Get the i03 synchrotron device, instantiate it if it hasn't already been.
|
|
263
254
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
264
255
|
"""
|
|
265
|
-
return Synchrotron(
|
|
256
|
+
return Synchrotron()
|
|
266
257
|
|
|
267
258
|
|
|
268
259
|
@device_factory()
|
|
@@ -272,7 +263,6 @@ def undulator(daq_configuration_path: str | None = None) -> Undulator:
|
|
|
272
263
|
"""
|
|
273
264
|
return Undulator(
|
|
274
265
|
f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
|
|
275
|
-
name="undulator",
|
|
276
266
|
# evaluate here not as parameter default to enable post-import mocking
|
|
277
267
|
id_gap_lookup_table_path=f"{daq_configuration_path or DAQ_CONFIGURATION_PATH}/lookup/BeamLine_Undulator_toGap.txt",
|
|
278
268
|
)
|
|
@@ -290,7 +280,6 @@ def undulator_dcm(daq_configuration_path: str | None = None) -> UndulatorDCM:
|
|
|
290
280
|
else undulator()
|
|
291
281
|
)
|
|
292
282
|
return UndulatorDCM(
|
|
293
|
-
name="undulator_dcm",
|
|
294
283
|
prefix=PREFIX.beamline_prefix,
|
|
295
284
|
undulator=undulator_singleton,
|
|
296
285
|
dcm=dcm(),
|
|
@@ -304,7 +293,6 @@ def zebra() -> Zebra:
|
|
|
304
293
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
305
294
|
"""
|
|
306
295
|
return Zebra(
|
|
307
|
-
name="zebra",
|
|
308
296
|
prefix=f"{PREFIX.beamline_prefix}-EA-ZEBRA-01:",
|
|
309
297
|
mapping=I03_ZEBRA_MAPPING,
|
|
310
298
|
)
|
|
@@ -317,7 +305,6 @@ def xspress3mini() -> Xspress3:
|
|
|
317
305
|
"""
|
|
318
306
|
return Xspress3(
|
|
319
307
|
f"{PREFIX.beamline_prefix}-EA-XSP3-01:",
|
|
320
|
-
"xspress3mini",
|
|
321
308
|
)
|
|
322
309
|
|
|
323
310
|
|
|
@@ -329,7 +316,6 @@ def panda() -> HDFPanda:
|
|
|
329
316
|
return HDFPanda(
|
|
330
317
|
f"{PREFIX.beamline_prefix}-EA-PANDA-01:",
|
|
331
318
|
path_provider=get_path_provider(),
|
|
332
|
-
name="panda",
|
|
333
319
|
)
|
|
334
320
|
|
|
335
321
|
|
|
@@ -340,7 +326,6 @@ def sample_shutter() -> ZebraShutter:
|
|
|
340
326
|
"""
|
|
341
327
|
return ZebraShutter(
|
|
342
328
|
f"{PREFIX.beamline_prefix}-EA-SHTR-01:",
|
|
343
|
-
"sample_shutter",
|
|
344
329
|
)
|
|
345
330
|
|
|
346
331
|
|
|
@@ -351,7 +336,6 @@ def flux() -> Flux:
|
|
|
351
336
|
"""
|
|
352
337
|
return Flux(
|
|
353
338
|
f"{PREFIX.beamline_prefix}-MO-FLUX-01:",
|
|
354
|
-
"flux",
|
|
355
339
|
)
|
|
356
340
|
|
|
357
341
|
|
|
@@ -362,7 +346,6 @@ def xbpm_feedback() -> XBPMFeedback:
|
|
|
362
346
|
"""
|
|
363
347
|
return XBPMFeedback(
|
|
364
348
|
PREFIX.beamline_prefix,
|
|
365
|
-
"xbpm_feedback",
|
|
366
349
|
)
|
|
367
350
|
|
|
368
351
|
|
|
@@ -371,7 +354,10 @@ def zocalo() -> ZocaloResults:
|
|
|
371
354
|
"""Get the i03 ZocaloResults device, instantiate it if it hasn't already been.
|
|
372
355
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
373
356
|
"""
|
|
374
|
-
return ZocaloResults(
|
|
357
|
+
return ZocaloResults(
|
|
358
|
+
prefix=PREFIX.beamline_prefix,
|
|
359
|
+
results_source=ZocaloSource.GPU,
|
|
360
|
+
)
|
|
375
361
|
|
|
376
362
|
|
|
377
363
|
@device_factory()
|
|
@@ -380,7 +366,6 @@ def robot() -> BartRobot:
|
|
|
380
366
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
381
367
|
"""
|
|
382
368
|
return BartRobot(
|
|
383
|
-
"robot",
|
|
384
369
|
f"{PREFIX.beamline_prefix}-MO-ROBOT-01:",
|
|
385
370
|
)
|
|
386
371
|
|
|
@@ -391,9 +376,7 @@ def webcam() -> Webcam:
|
|
|
391
376
|
If this is called when already instantiated in i03, it will return the existing object.
|
|
392
377
|
"""
|
|
393
378
|
return Webcam(
|
|
394
|
-
"
|
|
395
|
-
PREFIX.beamline_prefix,
|
|
396
|
-
url="http://i03-webcam1/axis-cgi/jpg/image.cgi",
|
|
379
|
+
url=URL("http://i03-webcam1/axis-cgi/jpg/image.cgi"),
|
|
397
380
|
)
|
|
398
381
|
|
|
399
382
|
|
|
@@ -404,7 +387,6 @@ def thawer() -> Thawer:
|
|
|
404
387
|
"""
|
|
405
388
|
return Thawer(
|
|
406
389
|
f"{PREFIX.beamline_prefix}-EA-THAW-01",
|
|
407
|
-
"thawer",
|
|
408
390
|
)
|
|
409
391
|
|
|
410
392
|
|
|
@@ -415,7 +397,6 @@ def lower_gonio() -> XYZStage:
|
|
|
415
397
|
"""
|
|
416
398
|
return XYZStage(
|
|
417
399
|
f"{PREFIX.beamline_prefix}-MO-GONP-01:",
|
|
418
|
-
"lower_gonio",
|
|
419
400
|
)
|
|
420
401
|
|
|
421
402
|
|
|
@@ -426,7 +407,6 @@ def cryo_stream() -> CryoStream:
|
|
|
426
407
|
"""
|
|
427
408
|
return CryoStream(
|
|
428
409
|
PREFIX.beamline_prefix,
|
|
429
|
-
"cryo_stream",
|
|
430
410
|
)
|
|
431
411
|
|
|
432
412
|
|
|
@@ -447,7 +427,6 @@ def qbpm() -> QBPM:
|
|
|
447
427
|
"""
|
|
448
428
|
return QBPM(
|
|
449
429
|
f"{PREFIX.beamline_prefix}-DI-QBPM-01:",
|
|
450
|
-
"qbpm",
|
|
451
430
|
)
|
|
452
431
|
|
|
453
432
|
|