dls-dodal 1.53.0__tar.gz → 1.55.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.53.0 → dls_dodal-1.55.0}/.github/workflows/_release.yml +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_test.yml +2 -1
- dls_dodal-1.55.0/.talismanrc +10 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/PKG-INFO +4 -6
- dls_dodal-1.55.0/docs/assets/where-to-put-dodal-logic.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/create-beamline.rst +8 -14
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/create-device.md +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/dev-install.md +5 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/device-standards.rst +36 -7
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/standards.rst +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/pyproject.toml +18 -8
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/PKG-INFO +4 -6
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/SOURCES.txt +12 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/requires.txt +2 -4
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/_version.py +16 -3
- dls_dodal-1.55.0/src/dodal/beamline_specific_utils/i05_shared.py +11 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/__init__.py +1 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/aithre.py +2 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b01_1.py +2 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b07.py +6 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b07_1.py +17 -6
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b16.py +0 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b21.py +4 -6
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i03.py +10 -31
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i04.py +19 -45
- dls_dodal-1.55.0/src/dodal/beamlines/i05.py +22 -0
- dls_dodal-1.55.0/src/dodal/beamlines/i05_1.py +22 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09.py +7 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09_1.py +6 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i13_1.py +0 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_1.py +1 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_2.py +0 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i19_optics.py +1 -4
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i20_1.py +38 -9
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i23.py +1 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i24.py +0 -12
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p60.py +13 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/beamline_parameters.py +1 -1
- dls_dodal-1.55.0/src/dodal/common/beamlines/device_helpers.py +4 -0
- dls_dodal-1.55.0/src/dodal/devices/aithre_lasershaping/goniometer.py +25 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +2 -2
- dls_dodal-1.55.0/src/dodal/devices/b07/__init__.py +3 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b07/enums.py +15 -0
- dls_dodal-1.55.0/src/dodal/devices/b07_1/__init__.py +12 -0
- dls_dodal-1.55.0/src/dodal/devices/b07_1/ccmc.py +79 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b07_1/enums.py +3 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +25 -48
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +9 -11
- dls_dodal-1.55.0/src/dodal/devices/electron_analyser/abstract/types.py +12 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/detector.py +9 -9
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +54 -21
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/region.py +13 -8
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/types.py +15 -6
- dls_dodal-1.55.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +47 -0
- dls_dodal-1.55.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +114 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +33 -16
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/focusing_mirror.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/undulator_dcm.py +8 -3
- dls_dodal-1.55.0/src/dodal/devices/i05/__init__.py +3 -0
- dls_dodal-1.55.0/src/dodal/devices/i05/enums.py +8 -0
- dls_dodal-1.55.0/src/dodal/devices/i09/__init__.py +4 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09/enums.py +16 -0
- dls_dodal-1.55.0/src/dodal/devices/i09_1/__init__.py +3 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09_1/enums.py +13 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/mirrors.py +2 -6
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i13_1/merlin_controller.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/beamstop.py +2 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/aperture.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/motors.py +75 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +1 -2
- dls_dodal-1.55.0/src/dodal/devices/p60/__init__.py +10 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p60/enums.py +16 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/robot.py +7 -4
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/tetramm.py +1 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/webcam.py +2 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/__init__.py +2 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_results.py +16 -26
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/utils.py +3 -10
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_adsim.py +4 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i04/test_transfocator.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i13_1/test_merlin.py +5 -3
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i18/test_kb_mirror.py +7 -19
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i19/test_shutter.py +3 -7
- dls_dodal-1.55.0/tests/devices/i22/test_dcm.py +128 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i22/test_fswitch.py +2 -4
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/test_diamond_filter.py +2 -4
- dls_dodal-1.55.0/tests/devices/test_motors.py +170 -0
- dls_dodal-1.55.0/tests/devices/unit_tests/b07_1/test_ccmc.py +111 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +15 -6
- dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +93 -0
- dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py +85 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/conftest.py +10 -36
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +11 -4
- dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +240 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +33 -51
- dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/util.py +86 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +12 -4
- dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +253 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +54 -60
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i03/test_undulator_dcm.py +12 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_pmac.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +12 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_aperture_scatterguard.py +26 -36
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_apple2_undulator.py +8 -16
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_attenuator.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_backlight.py +3 -7
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_bart_robot.py +51 -28
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_baton.py +3 -7
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_focusing_mirror.py +0 -5
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_gridscan.py +2 -3
- dls_dodal-1.55.0/tests/devices/unit_tests/test_motors.py +84 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_pressure_jump_cell.py +65 -91
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_qbpm.py +2 -4
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_slits.py +5 -13
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_turbo_slit.py +4 -10
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_undulator.py +10 -27
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +6 -10
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_webcam.py +2 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_xspress3.py +2 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zocalo_results.py +37 -112
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/conftest.py +2 -2
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +4 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/electron_analyser/specs_sequence.seq +18 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/electron_analyser/vgscienta_sequence.seq +24 -0
- dls_dodal-1.55.0/tests/unit_tests/__init__.py +0 -0
- dls_dodal-1.53.0/src/dodal/common/beamlines/device_helpers.py +0 -37
- dls_dodal-1.53.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -48
- dls_dodal-1.53.0/src/dodal/devices/b07/__init__.py +0 -3
- dls_dodal-1.53.0/src/dodal/devices/b07_1/__init__.py +0 -3
- dls_dodal-1.53.0/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -37
- dls_dodal-1.53.0/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -76
- dls_dodal-1.53.0/src/dodal/devices/i09/__init__.py +0 -4
- dls_dodal-1.53.0/src/dodal/devices/i09_1/__init__.py +0 -3
- dls_dodal-1.53.0/src/dodal/devices/p60/__init__.py +0 -4
- dls_dodal-1.53.0/tests/common/beamlines/test_device_helpers.py +0 -23
- dls_dodal-1.53.0/tests/devices/i22/test_dcm.py +0 -217
- dls_dodal-1.53.0/tests/devices/test_motors.py +0 -153
- dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +0 -221
- dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +0 -134
- dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/util.py +0 -84
- dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +0 -139
- dls_dodal-1.53.0/tests/devices/unit_tests/test_motors.py +0 -40
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.copier-answers.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.devcontainer/devcontainer.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/CONTRIBUTING.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/actions/install_requirements/action.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/dependabot.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/pages/index.html +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/scripts/check_test_durations.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_dist.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_docs.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/_tox.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/ci.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.github/workflows/periodic.yml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.gitignore +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.pre-commit-config.yaml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/extensions.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/launch.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/settings.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/.vscode/tasks.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/Dockerfile +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/LICENSE +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/README.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/catalog-info.yaml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/conftest.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/conf.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/explanations.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/genindex.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/build-docs.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/coverage.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/lint.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/lock-requirements.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/move-code.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/run-tests.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/static-analysis.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/write-tests.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to/zocalo.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/how-to.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/index.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference/api.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/reference.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials/get_started.rst +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials/installation.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/docs/tutorials.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/pull_request_template.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/setup.cfg +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/adsim.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i02_1.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i09_2.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i10.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i18.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/i22.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p38.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p45.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/p99.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/beamlines/training_rig.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/cli.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/coordination.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/crystal_metadata.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/device_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/maths.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/udc_directory_provider.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/common/visit.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/CTAB.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/__init__.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/b16 → dls_dodal-1.55.0/src/dodal/devices/aithre_lasershaping}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aperture.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/aperturescatterguard.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/apple2_undulator.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/filter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/i10 → dls_dodal-1.55.0/src/dodal/devices/b16}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/b16/detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/bimorph_mirror.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/common_dcm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/cryostream.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/det_resolution.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/detector/detector_motion.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/diamond_filter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/eiger.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/eiger_odin.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/util.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/fast_grid_scan.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/flux.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/hutch_shutter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i03/dcm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/constants.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/murko_results.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i04/transfocator.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i09/dcm.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/i13_1 → dls_dodal-1.55.0/src/dodal/devices/i10}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/diagnostics.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/i10_apple2.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i10/slits.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/i19 → dls_dodal-1.55.0/src/dodal/devices/i13_1}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i13_1/merlin.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i18/KBMirror.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i18/diode.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/i20_1 → dls_dodal-1.55.0/src/dodal/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/hutch_access.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i19/shutter.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/i24 → dls_dodal-1.55.0/src/dodal/devices/i20_1}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/dcm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/fswitch.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i22/nxsas.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/oav → dls_dodal-1.55.0/src/dodal/devices/i24}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/beam_center.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/beamstop.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/dcm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/pmac.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/i24/vgonio.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/ipin.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/linkam3.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/p99 → dls_dodal-1.55.0/src/dodal/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_detector.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +1 -1
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/oav/utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p45.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/util → dls_dodal-1.55.0/src/dodal/devices/p99}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p99/andor2_point.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/p99/sample_stage.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/pgm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/qbpm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/slits.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/smargon.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/turbo_slit.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/undulator.py +0 -0
- {dls_dodal-1.53.0/src/dodal/devices/zebra → dls_dodal-1.55.0/src/dodal/devices/util}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/epics_util.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/lookup_tables.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/util/test_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xbpm_feedback.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
- {dls_dodal-1.53.0/src/dodal/plan_stubs → dls_dodal-1.55.0/src/dodal/devices/zebra}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/log.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
- {dls_dodal-1.53.0/src/dodal/plans/preprocessors → dls_dodal-1.55.0/src/dodal/plan_stubs}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/check_topup.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/data_session.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plan_stubs/wrapped.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/bimorph.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.53.0/system_tests → dls_dodal-1.55.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/scanspec.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/src/dodal/plans/wrapped.py +0 -0
- {dls_dodal-1.53.0/tests → dls_dodal-1.55.0/system_tests}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_cli.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.53.0/tests/beamlines → dls_dodal-1.55.0/tests}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/beamlines/unit_tests → dls_dodal-1.55.0/tests/beamlines}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/common → dls_dodal-1.55.0/tests/beamlines/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_b16.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_i03.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_i24.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/beamlines/unit_tests/test_mapping.py +0 -0
- {dls_dodal-1.53.0/tests/common/beamlines → dls_dodal-1.55.0/tests/common}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/devices → dls_dodal-1.55.0/tests/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_maths.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/conftest.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/constants.py +0 -0
- {dls_dodal-1.53.0/tests/devices/i03 → dls_dodal-1.55.0/tests/devices}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
- {dls_dodal-1.53.0/tests/devices/i04 → dls_dodal-1.55.0/tests/devices/i03}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/devices/i19 → dls_dodal-1.55.0/tests/devices/i04}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i04/test_murko_results.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i10/test_i10Apple2.py +0 -0
- {dls_dodal-1.53.0/tests/devices/mx_phase1 → dls_dodal-1.55.0/tests/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i19/test_beamstop.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/i22/test_metadataholder.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests → dls_dodal-1.55.0/tests/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser → dls_dodal-1.55.0/tests/devices/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/detector/test_detector.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/abstract → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/specs → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/abstract}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/electron_analyser/vgscienta → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/specs}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/i03 → dls_dodal-1.55.0/tests/devices/unit_tests/electron_analyser/vgscienta}/__init__.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/i09 → dls_dodal-1.55.0/tests/devices/unit_tests/i03}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/i24 → dls_dodal-1.55.0/tests/devices/unit_tests/i09}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i09/test_dcm.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/oav → dls_dodal-1.55.0/tests/devices/unit_tests/i24}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/i24/test_vgonio.py +0 -0
- {dls_dodal-1.53.0/tests/devices/unit_tests/util → dls_dodal-1.55.0/tests/devices/unit_tests/oav}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/conftest.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_oav_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/p60/test_lab_xray_source.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_aperture.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_beam_converter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_display.configuration +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_eiger.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_odin.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_positioner.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_smargon.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_status.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_synchrotron.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_tetramm.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_thawer.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_xbpm_feedback.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
- {dls_dodal-1.53.0/tests/fake_zocalo → dls_dodal-1.55.0/tests/devices/unit_tests/util}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.53.0/tests/unit_tests → dls_dodal-1.55.0/tests/fake_zocalo}/__init__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/__main__.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_compliance.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_scanspec.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/plans/test_wrapped.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/test_utils.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/unit_tests/test_cli.py +0 -0
- {dls_dodal-1.53.0 → dls_dodal-1.55.0}/tests/unit_tests/test_log.py +0 -0
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
- name: Create GitHub Release
|
|
24
24
|
# We pin to the SHA, not the tag, for security reasons.
|
|
25
25
|
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
|
|
26
|
-
uses: softprops/action-gh-release@
|
|
26
|
+
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
|
27
27
|
with:
|
|
28
28
|
prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
|
|
29
29
|
files: "*"
|
|
@@ -62,9 +62,10 @@ jobs:
|
|
|
62
62
|
with:
|
|
63
63
|
repository: epics-containers/example-services
|
|
64
64
|
path: example-services
|
|
65
|
+
ref: '2025.8.1'
|
|
65
66
|
|
|
66
67
|
- name: Run docker compose
|
|
67
|
-
uses: hoverkraft-tech/compose-action@v2.
|
|
68
|
+
uses: hoverkraft-tech/compose-action@v2.3.0
|
|
68
69
|
with:
|
|
69
70
|
compose-file: "./example-services/compose.yaml"
|
|
70
71
|
services: |
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.55.0
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
|
-
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
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
|
|
7
7
|
Version 2.0, January 2004
|
|
8
8
|
http://www.apache.org/licenses/
|
|
@@ -215,8 +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>=0.
|
|
219
|
-
Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
|
|
218
|
+
Requires-Dist: ophyd-async[ca,pva]>=0.12.3
|
|
220
219
|
Requires-Dist: bluesky
|
|
221
220
|
Requires-Dist: pyepics
|
|
222
221
|
Requires-Dist: dataclasses-json
|
|
@@ -226,8 +225,6 @@ Requires-Dist: requests
|
|
|
226
225
|
Requires-Dist: graypy
|
|
227
226
|
Requires-Dist: pydantic>=2.0
|
|
228
227
|
Requires-Dist: opencv-python-headless
|
|
229
|
-
Requires-Dist: aioca
|
|
230
|
-
Requires-Dist: p4p
|
|
231
228
|
Requires-Dist: numpy
|
|
232
229
|
Requires-Dist: aiofiles
|
|
233
230
|
Requires-Dist: aiohttp
|
|
@@ -235,6 +232,7 @@ Requires-Dist: redis
|
|
|
235
232
|
Requires-Dist: scanspec>=0.7.3
|
|
236
233
|
Requires-Dist: event-model>=1.23
|
|
237
234
|
Requires-Dist: pyzmq==26.3.0
|
|
235
|
+
Requires-Dist: deepdiff
|
|
238
236
|
Provides-Extra: dev
|
|
239
237
|
Requires-Dist: black; extra == "dev"
|
|
240
238
|
Requires-Dist: diff-cover; extra == "dev"
|
|
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
|
=========================
|
|
@@ -8,16 +8,20 @@ First clone the repository locally using [Git](https://git-scm.com/downloads). T
|
|
|
8
8
|
|
|
9
9
|
## Install dependencies
|
|
10
10
|
|
|
11
|
-
You can choose to either develop on the host machine using a `venv` (which requires python 3.
|
|
11
|
+
You can choose to either develop on the host machine using a `venv` (which requires python 3.11 or later) or to run
|
|
12
12
|
in a container under [VSCode](https://code.visualstudio.com/)
|
|
13
13
|
|
|
14
14
|
<!-- https://sphinx-design.readthedocs.io/en/latest/tabs.html# -->
|
|
15
15
|
::::{tab-set}
|
|
16
16
|
|
|
17
17
|
:::{tab-item} Local virtualenv
|
|
18
|
+
|
|
19
|
+
If on a DLS machine make sure you have python >3.11 running by doing `module load python/3.11`
|
|
20
|
+
|
|
18
21
|
```
|
|
19
22
|
python3 -m venv venv
|
|
20
23
|
source venv/bin/activate
|
|
24
|
+
pip install --upgrade pip
|
|
21
25
|
pip install -e '.[dev]'
|
|
22
26
|
```
|
|
23
27
|
|
|
@@ -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
|
|
|
@@ -29,7 +29,7 @@ Supported Python Versions
|
|
|
29
29
|
As a standard for the python versions to support, we should be matching the deprecation policy at
|
|
30
30
|
https://numpy.org/neps/nep-0029-deprecation_policy.html.
|
|
31
31
|
|
|
32
|
-
Currently supported versions are: 3.
|
|
32
|
+
Currently supported versions are: 3.11, 3.12. (As of the last edit of this document.)
|
|
33
33
|
|
|
34
34
|
.. _documentation_standards:
|
|
35
35
|
|
|
@@ -14,8 +14,7 @@ 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.
|
|
18
|
-
"epicscorelibs<=7.0.7.99.1.2a1", # Pending https://github.com/epics-base/epicscorelibs/issues/41
|
|
17
|
+
"ophyd-async[ca,pva]>=0.12.3",
|
|
19
18
|
"bluesky",
|
|
20
19
|
"pyepics",
|
|
21
20
|
"dataclasses-json",
|
|
@@ -24,16 +23,15 @@ dependencies = [
|
|
|
24
23
|
"requests",
|
|
25
24
|
"graypy",
|
|
26
25
|
"pydantic>=2.0",
|
|
27
|
-
"opencv-python-headless",
|
|
28
|
-
"aioca", # Required for CA support with ophyd-async.
|
|
29
|
-
"p4p", # Required for PVA support with ophyd-async.
|
|
26
|
+
"opencv-python-headless", # For pin-tip detection.
|
|
30
27
|
"numpy",
|
|
31
28
|
"aiofiles",
|
|
32
29
|
"aiohttp",
|
|
33
30
|
"redis",
|
|
34
31
|
"scanspec>=0.7.3",
|
|
35
|
-
"event-model>=1.23",
|
|
36
|
-
"pyzmq==26.3.0",
|
|
32
|
+
"event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
|
|
33
|
+
"pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
|
|
34
|
+
"deepdiff",
|
|
37
35
|
]
|
|
38
36
|
|
|
39
37
|
dynamic = ["version"]
|
|
@@ -83,10 +81,22 @@ save-panda = "dodal.devices.util.save_panda:main"
|
|
|
83
81
|
[project.urls]
|
|
84
82
|
GitHub = "https://github.com/DiamondLightSource/dodal"
|
|
85
83
|
|
|
86
|
-
[[project.authors]]
|
|
84
|
+
[[project.authors]]
|
|
87
85
|
email = "dominic.oram@diamond.ac.uk"
|
|
88
86
|
name = "Dominic Oram"
|
|
89
87
|
|
|
88
|
+
[[project.authors]]
|
|
89
|
+
email = "joseph.ware@diamond.ac.uk"
|
|
90
|
+
name = "Joseph Ware"
|
|
91
|
+
|
|
92
|
+
[[project.authors]]
|
|
93
|
+
email = "Oliver.Silvester@diamond.ac.uk"
|
|
94
|
+
name = "Oliver Silvester"
|
|
95
|
+
|
|
96
|
+
[[project.authors]]
|
|
97
|
+
email = "noemi.frisina@diamond.ac.uk"
|
|
98
|
+
name = "Noemi Frisina"
|
|
99
|
+
|
|
90
100
|
[tool.setuptools.packages.find]
|
|
91
101
|
where = ["src"]
|
|
92
102
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.55.0
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
|
-
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
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
|
|
7
7
|
Version 2.0, January 2004
|
|
8
8
|
http://www.apache.org/licenses/
|
|
@@ -215,8 +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>=0.
|
|
219
|
-
Requires-Dist: epicscorelibs<=7.0.7.99.1.2a1
|
|
218
|
+
Requires-Dist: ophyd-async[ca,pva]>=0.12.3
|
|
220
219
|
Requires-Dist: bluesky
|
|
221
220
|
Requires-Dist: pyepics
|
|
222
221
|
Requires-Dist: dataclasses-json
|
|
@@ -226,8 +225,6 @@ Requires-Dist: requests
|
|
|
226
225
|
Requires-Dist: graypy
|
|
227
226
|
Requires-Dist: pydantic>=2.0
|
|
228
227
|
Requires-Dist: opencv-python-headless
|
|
229
|
-
Requires-Dist: aioca
|
|
230
|
-
Requires-Dist: p4p
|
|
231
228
|
Requires-Dist: numpy
|
|
232
229
|
Requires-Dist: aiofiles
|
|
233
230
|
Requires-Dist: aiohttp
|
|
@@ -235,6 +232,7 @@ Requires-Dist: redis
|
|
|
235
232
|
Requires-Dist: scanspec>=0.7.3
|
|
236
233
|
Requires-Dist: event-model>=1.23
|
|
237
234
|
Requires-Dist: pyzmq==26.3.0
|
|
235
|
+
Requires-Dist: deepdiff
|
|
238
236
|
Provides-Extra: dev
|
|
239
237
|
Requires-Dist: black; extra == "dev"
|
|
240
238
|
Requires-Dist: diff-cover; extra == "dev"
|
|
@@ -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
|
|
@@ -103,6 +106,8 @@ src/dodal/beamlines/b21.py
|
|
|
103
106
|
src/dodal/beamlines/i02_1.py
|
|
104
107
|
src/dodal/beamlines/i03.py
|
|
105
108
|
src/dodal/beamlines/i04.py
|
|
109
|
+
src/dodal/beamlines/i05.py
|
|
110
|
+
src/dodal/beamlines/i05_1.py
|
|
106
111
|
src/dodal/beamlines/i09.py
|
|
107
112
|
src/dodal/beamlines/i09_1.py
|
|
108
113
|
src/dodal/beamlines/i09_2.py
|
|
@@ -175,6 +180,7 @@ src/dodal/devices/undulator.py
|
|
|
175
180
|
src/dodal/devices/watsonmarlow323_pump.py
|
|
176
181
|
src/dodal/devices/webcam.py
|
|
177
182
|
src/dodal/devices/xbpm_feedback.py
|
|
183
|
+
src/dodal/devices/aithre_lasershaping/__init__.py
|
|
178
184
|
src/dodal/devices/aithre_lasershaping/goniometer.py
|
|
179
185
|
src/dodal/devices/aithre_lasershaping/laser_robot.py
|
|
180
186
|
src/dodal/devices/areadetector/plugins/CAM.py
|
|
@@ -185,6 +191,7 @@ src/dodal/devices/attenuator/filter_selections.py
|
|
|
185
191
|
src/dodal/devices/b07/__init__.py
|
|
186
192
|
src/dodal/devices/b07/enums.py
|
|
187
193
|
src/dodal/devices/b07_1/__init__.py
|
|
194
|
+
src/dodal/devices/b07_1/ccmc.py
|
|
188
195
|
src/dodal/devices/b07_1/enums.py
|
|
189
196
|
src/dodal/devices/b16/__init__.py
|
|
190
197
|
src/dodal/devices/b16/detector.py
|
|
@@ -209,6 +216,7 @@ src/dodal/devices/electron_analyser/abstract/__init__.py
|
|
|
209
216
|
src/dodal/devices/electron_analyser/abstract/base_detector.py
|
|
210
217
|
src/dodal/devices/electron_analyser/abstract/base_driver_io.py
|
|
211
218
|
src/dodal/devices/electron_analyser/abstract/base_region.py
|
|
219
|
+
src/dodal/devices/electron_analyser/abstract/types.py
|
|
212
220
|
src/dodal/devices/electron_analyser/specs/__init__.py
|
|
213
221
|
src/dodal/devices/electron_analyser/specs/detector.py
|
|
214
222
|
src/dodal/devices/electron_analyser/specs/driver_io.py
|
|
@@ -226,6 +234,8 @@ src/dodal/devices/i04/__init__.py
|
|
|
226
234
|
src/dodal/devices/i04/constants.py
|
|
227
235
|
src/dodal/devices/i04/murko_results.py
|
|
228
236
|
src/dodal/devices/i04/transfocator.py
|
|
237
|
+
src/dodal/devices/i05/__init__.py
|
|
238
|
+
src/dodal/devices/i05/enums.py
|
|
229
239
|
src/dodal/devices/i09/__init__.py
|
|
230
240
|
src/dodal/devices/i09/dcm.py
|
|
231
241
|
src/dodal/devices/i09/enums.py
|
|
@@ -346,7 +356,6 @@ tests/common/test_visit.py
|
|
|
346
356
|
tests/common/beamlines/__init__.py
|
|
347
357
|
tests/common/beamlines/test_beamline_parameters.py
|
|
348
358
|
tests/common/beamlines/test_beamline_utils.py
|
|
349
|
-
tests/common/beamlines/test_device_helpers.py
|
|
350
359
|
tests/common/beamlines/test_device_instantiation.py
|
|
351
360
|
tests/devices/__init__.py
|
|
352
361
|
tests/devices/test_common_dcm.py
|
|
@@ -417,6 +426,7 @@ tests/devices/unit_tests/test_zebra_constants_mapping.py
|
|
|
417
426
|
tests/devices/unit_tests/test_zebra_shutter.py
|
|
418
427
|
tests/devices/unit_tests/test_zocalo_interaction.py
|
|
419
428
|
tests/devices/unit_tests/test_zocalo_results.py
|
|
429
|
+
tests/devices/unit_tests/b07_1/test_ccmc.py
|
|
420
430
|
tests/devices/unit_tests/current_amplifier/test_femto.py
|
|
421
431
|
tests/devices/unit_tests/current_amplifier/test_sr570.py
|
|
422
432
|
tests/devices/unit_tests/detector/test_det_dim_constants.py
|
|
@@ -429,6 +439,7 @@ tests/devices/unit_tests/electron_analyser/util.py
|
|
|
429
439
|
tests/devices/unit_tests/electron_analyser/abstract/__init__.py
|
|
430
440
|
tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py
|
|
431
441
|
tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py
|
|
442
|
+
tests/devices/unit_tests/electron_analyser/abstract/test_base_region.py
|
|
432
443
|
tests/devices/unit_tests/electron_analyser/specs/__init__.py
|
|
433
444
|
tests/devices/unit_tests/electron_analyser/specs/test_detector.py
|
|
434
445
|
tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
click
|
|
2
2
|
ophyd
|
|
3
|
-
ophyd-async>=0.
|
|
4
|
-
epicscorelibs<=7.0.7.99.1.2a1
|
|
3
|
+
ophyd-async[ca,pva]>=0.12.3
|
|
5
4
|
bluesky
|
|
6
5
|
pyepics
|
|
7
6
|
dataclasses-json
|
|
@@ -11,8 +10,6 @@ requests
|
|
|
11
10
|
graypy
|
|
12
11
|
pydantic>=2.0
|
|
13
12
|
opencv-python-headless
|
|
14
|
-
aioca
|
|
15
|
-
p4p
|
|
16
13
|
numpy
|
|
17
14
|
aiofiles
|
|
18
15
|
aiohttp
|
|
@@ -20,6 +17,7 @@ redis
|
|
|
20
17
|
scanspec>=0.7.3
|
|
21
18
|
event-model>=1.23
|
|
22
19
|
pyzmq==26.3.0
|
|
20
|
+
deepdiff
|
|
23
21
|
|
|
24
22
|
[dev]
|
|
25
23
|
black
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
3
|
|
|
4
|
-
__all__ = [
|
|
4
|
+
__all__ = [
|
|
5
|
+
"__version__",
|
|
6
|
+
"__version_tuple__",
|
|
7
|
+
"version",
|
|
8
|
+
"version_tuple",
|
|
9
|
+
"__commit_id__",
|
|
10
|
+
"commit_id",
|
|
11
|
+
]
|
|
5
12
|
|
|
6
13
|
TYPE_CHECKING = False
|
|
7
14
|
if TYPE_CHECKING:
|
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
|
9
16
|
from typing import Union
|
|
10
17
|
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
+
COMMIT_ID = Union[str, None]
|
|
12
20
|
else:
|
|
13
21
|
VERSION_TUPLE = object
|
|
22
|
+
COMMIT_ID = object
|
|
14
23
|
|
|
15
24
|
version: str
|
|
16
25
|
__version__: str
|
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
|
18
27
|
version_tuple: VERSION_TUPLE
|
|
28
|
+
commit_id: COMMIT_ID
|
|
29
|
+
__commit_id__: COMMIT_ID
|
|
19
30
|
|
|
20
|
-
__version__ = version = '1.
|
|
21
|
-
__version_tuple__ = version_tuple = (1,
|
|
31
|
+
__version__ = version = '1.55.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 55, 0)
|
|
33
|
+
|
|
34
|
+
__commit_id__ = commit_id = 'g9d6ec5bbb'
|
|
@@ -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)
|
|
@@ -9,6 +9,7 @@ from pathlib import Path
|
|
|
9
9
|
# module name. Add any new beamlines whose name differs from their module name to this
|
|
10
10
|
# dictionary, which maps ${BEAMLINE} to dodal.beamlines.<MODULE NAME>
|
|
11
11
|
_BEAMLINE_NAME_OVERRIDES = {
|
|
12
|
+
"i05-1": "i05_1",
|
|
12
13
|
"b07-1": "b07_1",
|
|
13
14
|
"i09-1": "i09_1",
|
|
14
15
|
"i13-1": "i13_1",
|
|
@@ -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
|
)
|
|
@@ -59,7 +59,7 @@ def synchrotron() -> Synchrotron:
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
@device_factory()
|
|
62
|
-
def
|
|
62
|
+
def spectroscopy_detector() -> AravisDetector:
|
|
63
63
|
"""The Manta camera for the spectroscopy experiment.
|
|
64
64
|
|
|
65
65
|
Looks at the spectroscopy screen and visualises light
|
|
@@ -78,7 +78,7 @@ def oav() -> AravisDetector:
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
@device_factory()
|
|
81
|
-
def
|
|
81
|
+
def imaging_detector() -> AravisDetector:
|
|
82
82
|
"""The Mako camera for the imaging experiment.
|
|
83
83
|
|
|
84
84
|
Looks at the on-axis viewing screen.
|
|
@@ -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 Grating, LensMode
|
|
5
|
+
from dodal.devices.b07 import Grating, LensMode, PsuMode
|
|
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
|
|
@@ -25,10 +25,13 @@ def pgm() -> PGM:
|
|
|
25
25
|
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
# Connect will work again after this work completed
|
|
29
|
+
# https://jira.diamond.ac.uk/browse/B07-1104
|
|
28
30
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
-
return SpecsAnalyserDriverIO[LensMode](
|
|
31
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
|
|
32
|
+
return SpecsAnalyserDriverIO[LensMode, PsuMode](
|
|
31
33
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
34
|
lens_mode_type=LensMode,
|
|
35
|
+
psu_mode_type=PsuMode,
|
|
33
36
|
energy_sources={"source1": pgm().energy.user_readback},
|
|
34
37
|
)
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
from dodal.common.beamlines.beamline_utils import
|
|
2
|
-
device_factory,
|
|
3
|
-
)
|
|
1
|
+
from dodal.common.beamlines.beamline_utils import device_factory
|
|
4
2
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
-
from dodal.devices.
|
|
3
|
+
from dodal.devices.b07 import PsuMode
|
|
4
|
+
from dodal.devices.b07_1 import (
|
|
5
|
+
ChannelCutMonochromator,
|
|
6
|
+
Grating,
|
|
7
|
+
LensMode,
|
|
8
|
+
)
|
|
6
9
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
10
|
from dodal.devices.pgm import PGM
|
|
8
11
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -25,10 +28,18 @@ def pgm() -> PGM:
|
|
|
25
28
|
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
|
|
26
29
|
|
|
27
30
|
|
|
31
|
+
# Connect will work again after this work completed
|
|
32
|
+
# https://jira.diamond.ac.uk/browse/B07-1104
|
|
33
|
+
@device_factory()
|
|
34
|
+
def ccmc() -> ChannelCutMonochromator:
|
|
35
|
+
return ChannelCutMonochromator(prefix=f"{PREFIX.beamline_prefix}-OP-CCM-01:")
|
|
36
|
+
|
|
37
|
+
|
|
28
38
|
@device_factory()
|
|
29
|
-
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode]:
|
|
30
|
-
return SpecsAnalyserDriverIO[LensMode](
|
|
39
|
+
def analyser_driver() -> SpecsAnalyserDriverIO[LensMode, PsuMode]:
|
|
40
|
+
return SpecsAnalyserDriverIO[LensMode, PsuMode](
|
|
31
41
|
prefix=f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
42
|
lens_mode_type=LensMode,
|
|
43
|
+
psu_mode_type=PsuMode,
|
|
33
44
|
energy_sources={"source1": pgm().energy.user_readback},
|
|
34
45
|
)
|
|
@@ -41,25 +41,25 @@ set_path_provider(
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
@device_factory(
|
|
44
|
+
@device_factory()
|
|
45
45
|
def saxs() -> EigerDetector:
|
|
46
46
|
return EigerDetector(
|
|
47
47
|
prefix=PREFIX.beamline_prefix,
|
|
48
48
|
path_provider=get_path_provider(),
|
|
49
49
|
drv_suffix="-EA-EIGER-01:",
|
|
50
50
|
hdf_suffix="-EA-EIGER-01:OD:",
|
|
51
|
-
|
|
51
|
+
odin_nodes=1,
|
|
52
52
|
)
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
@device_factory(
|
|
55
|
+
@device_factory()
|
|
56
56
|
def waxs() -> EigerDetector:
|
|
57
57
|
return EigerDetector(
|
|
58
58
|
prefix=PREFIX.beamline_prefix,
|
|
59
59
|
path_provider=get_path_provider(),
|
|
60
60
|
drv_suffix="-EA-EIGER-02:",
|
|
61
61
|
hdf_suffix="-EA-EIGER-02:OD:",
|
|
62
|
-
|
|
62
|
+
odin_nodes=1,
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
|
|
@@ -116,8 +116,6 @@ def slits_7() -> Slits:
|
|
|
116
116
|
prefix=f"{PREFIX.beamline_prefix}-AL-SLITS-07:",
|
|
117
117
|
x_gap="X:GAP",
|
|
118
118
|
y_gap="Y:GAP",
|
|
119
|
-
x_centre="X:CENTRE",
|
|
120
|
-
y_centre="Y:CENTRE",
|
|
121
119
|
)
|
|
122
120
|
|
|
123
121
|
|