.copier-answers.yml
.gitignore
.gitleaks.toml
.pre-commit-config.yaml
.python-version
Dockerfile
LICENSE
README.md
catalog-info.yaml
pull_request_template.md
pyproject.toml
renovate.json
uv.lock
.devcontainer/devcontainer.json
.github/CODEOWNERS
.github/CONTRIBUTING.md
.github/ISSUE_TEMPLATE/issue_template.md
.github/pages/index.html
.github/pages/make_switcher.py
.github/workflows/_dist.yml
.github/workflows/_docs.yml
.github/workflows/_pypi.yml
.github/workflows/_release.yml
.github/workflows/_test.yml
.github/workflows/_tox.yml
.github/workflows/ci.yml
.github/workflows/periodic.yml
.vscode/extensions.json
.vscode/launch.json
.vscode/settings.json
.vscode/tasks.json
docs/conf.py
docs/explanations.md
docs/genindex.md
docs/how-to.md
docs/index.md
docs/reference.md
docs/tutorials.md
docs/_templates/custom-module-template.rst
docs/_templates/autosummary/class.rst
docs/_templates/autosummary/module.rst
docs/assets/where-to-put-dodal-logic.png
docs/assets/zocalo.png
docs/explanations/decisions.md
docs/explanations/reviews.md
docs/explanations/decisions/0001-record-architecture-decisions.md
docs/explanations/decisions/0002-switched-to-python-copier-template.md
docs/explanations/decisions/0003-codeowners.md
docs/explanations/decisions/0004-make-devices-factory.md
docs/explanations/decisions/0005-standardise-devices-at-epics-level.md
docs/explanations/decisions/0006-devices-shared-between-endstations.md
docs/explanations/decisions/COPYME
docs/explanations/umls/apple2_design.png
docs/explanations/umls/i10_id_design.png
docs/how-to/build-docs.md
docs/how-to/contribute.md
docs/how-to/convert-beamline-to-device-manager.md
docs/how-to/coverage.md
docs/how-to/create-beamline.md
docs/how-to/create-device.md
docs/how-to/dev-install.md
docs/how-to/excalidraw.md
docs/how-to/external-io-devices.md
docs/how-to/lint.md
docs/how-to/lock-requirements.md
docs/how-to/make-release.md
docs/how-to/move-code.md
docs/how-to/pypi.md
docs/how-to/run-tests.md
docs/how-to/static-analysis.md
docs/how-to/tidy-docs.md
docs/how-to/update-template.md
docs/how-to/write-tests.md
docs/how-to/zocalo.md
docs/images/dls-logo.svg
docs/images/excalidraw-example.svg
docs/reference/api.md
docs/reference/device-standards.md
docs/reference/glossary.md
docs/reference/standards.md
docs/reference/style-guide.md
docs/tutorials/get_started.md
docs/tutorials/installation.md
src/__init__.py
src/dls_dodal.egg-info/PKG-INFO
src/dls_dodal.egg-info/SOURCES.txt
src/dls_dodal.egg-info/dependency_links.txt
src/dls_dodal.egg-info/entry_points.txt
src/dls_dodal.egg-info/requires.txt
src/dls_dodal.egg-info/top_level.txt
src/dodal/__init__.py
src/dodal/__main__.py
src/dodal/_version.py
src/dodal/cli.py
src/dodal/device_manager.py
src/dodal/log.py
src/dodal/utils.py
src/dodal/beamlines/README.md
src/dodal/beamlines/__init__.py
src/dodal/beamlines/adsim.py
src/dodal/beamlines/aithre.py
src/dodal/beamlines/b01_1.py
src/dodal/beamlines/b07.py
src/dodal/beamlines/b07_1.py
src/dodal/beamlines/b07_shared.py
src/dodal/beamlines/b16.py
src/dodal/beamlines/b18.py
src/dodal/beamlines/b21.py
src/dodal/beamlines/i02_1.py
src/dodal/beamlines/i02_2.py
src/dodal/beamlines/i03.py
src/dodal/beamlines/i03_supervisor.py
src/dodal/beamlines/i04.py
src/dodal/beamlines/i05.py
src/dodal/beamlines/i05_1.py
src/dodal/beamlines/i05_shared.py
src/dodal/beamlines/i06.py
src/dodal/beamlines/i06_1.py
src/dodal/beamlines/i06_2.py
src/dodal/beamlines/i06_shared.py
src/dodal/beamlines/i07.py
src/dodal/beamlines/i09.py
src/dodal/beamlines/i09_1.py
src/dodal/beamlines/i09_1_shared.py
src/dodal/beamlines/i09_2.py
src/dodal/beamlines/i09_2_shared.py
src/dodal/beamlines/i10.py
src/dodal/beamlines/i10_1.py
src/dodal/beamlines/i10_shared.py
src/dodal/beamlines/i11.py
src/dodal/beamlines/i13_1.py
src/dodal/beamlines/i15.py
src/dodal/beamlines/i15_1.py
src/dodal/beamlines/i16.py
src/dodal/beamlines/i17.py
src/dodal/beamlines/i18.py
src/dodal/beamlines/i19_1.py
src/dodal/beamlines/i19_2.py
src/dodal/beamlines/i19_optics.py
src/dodal/beamlines/i21.py
src/dodal/beamlines/i22.py
src/dodal/beamlines/i23.py
src/dodal/beamlines/i24.py
src/dodal/beamlines/k07.py
src/dodal/beamlines/k11.py
src/dodal/beamlines/p38.py
src/dodal/beamlines/p45.py
src/dodal/beamlines/p51.py
src/dodal/beamlines/p60.py
src/dodal/beamlines/p99.py
src/dodal/beamlines/training_rig.py
src/dodal/common/__init__.py
src/dodal/common/coordination.py
src/dodal/common/crystal_metadata.py
src/dodal/common/data_util.py
src/dodal/common/device_utils.py
src/dodal/common/enums.py
src/dodal/common/maths.py
src/dodal/common/types.py
src/dodal/common/udc_directory_provider.py
src/dodal/common/visit.py
src/dodal/common/watcher_utils.py
src/dodal/common/beamlines/__init__.py
src/dodal/common/beamlines/beamline_parameters.py
src/dodal/common/beamlines/beamline_utils.py
src/dodal/common/beamlines/commissioning_mode.py
src/dodal/common/beamlines/device_helpers.py
src/dodal/devices/__init__.py
src/dodal/devices/aperture.py
src/dodal/devices/aperturescatterguard.py
src/dodal/devices/backlight.py
src/dodal/devices/baton.py
src/dodal/devices/bimorph_mirror.py
src/dodal/devices/collimation_table.py
src/dodal/devices/common_dcm.py
src/dodal/devices/common_mirror.py
src/dodal/devices/controllers.py
src/dodal/devices/cryostream.py
src/dodal/devices/diamond_filter.py
src/dodal/devices/eiger.py
src/dodal/devices/eiger_odin.py
src/dodal/devices/eurotherm.py
src/dodal/devices/fast_grid_scan.py
src/dodal/devices/fast_shutter.py
src/dodal/devices/fluorescence_detector_motion.py
src/dodal/devices/flux.py
src/dodal/devices/focusing_mirror.py
src/dodal/devices/hutch_shutter.py
src/dodal/devices/ipin.py
src/dodal/devices/linkam3.py
src/dodal/devices/motors.py
src/dodal/devices/pgm.py
src/dodal/devices/positioner.py
src/dodal/devices/pressure_jump_cell.py
src/dodal/devices/qbpm.py
src/dodal/devices/robot.py
src/dodal/devices/s4_slit_gaps.py
src/dodal/devices/scintillator.py
src/dodal/devices/selectable_source.py
src/dodal/devices/slits.py
src/dodal/devices/smargon.py
src/dodal/devices/status.py
src/dodal/devices/synchrotron.py
src/dodal/devices/tetramm.py
src/dodal/devices/thawer.py
src/dodal/devices/turbo_slit.py
src/dodal/devices/undulator.py
src/dodal/devices/v2f.py
src/dodal/devices/watsonmarlow323_pump.py
src/dodal/devices/webcam.py
src/dodal/devices/wrapped_axis.py
src/dodal/devices/xbpm_feedback.py
src/dodal/devices/aithre_lasershaping/__init__.py
src/dodal/devices/aithre_lasershaping/goniometer.py
src/dodal/devices/aithre_lasershaping/laser_robot.py
src/dodal/devices/areadetector/__init__.py
src/dodal/devices/areadetector/plugins/__init__.py
src/dodal/devices/areadetector/plugins/cam.py
src/dodal/devices/areadetector/plugins/mjpg.py
src/dodal/devices/attenuator/__init__.py
src/dodal/devices/attenuator/attenuator.py
src/dodal/devices/attenuator/filter.py
src/dodal/devices/attenuator/filter_selections.py
src/dodal/devices/beamlines/__init__.py
src/dodal/devices/beamlines/b07/__init__.py
src/dodal/devices/beamlines/b07/b07_motors.py
src/dodal/devices/beamlines/b07/enums.py
src/dodal/devices/beamlines/b07_1/__init__.py
src/dodal/devices/beamlines/b07_1/ccmc.py
src/dodal/devices/beamlines/b07_1/enums.py
src/dodal/devices/beamlines/b07_shared/__init__.py
src/dodal/devices/beamlines/b07_shared/enums.py
src/dodal/devices/beamlines/b16/__init__.py
src/dodal/devices/beamlines/b16/detector.py
src/dodal/devices/beamlines/b21/__init__.py
src/dodal/devices/beamlines/b21/vici_valves.py
src/dodal/devices/beamlines/i02_1/__init__.py
src/dodal/devices/beamlines/i02_1/fast_grid_scan.py
src/dodal/devices/beamlines/i02_1/sample_motors.py
src/dodal/devices/beamlines/i02_2/__init__.py
src/dodal/devices/beamlines/i03/__init__.py
src/dodal/devices/beamlines/i03/beamsize.py
src/dodal/devices/beamlines/i03/constants.py
src/dodal/devices/beamlines/i03/dcm.py
src/dodal/devices/beamlines/i03/undulator_dcm.py
src/dodal/devices/beamlines/i04/__init__.py
src/dodal/devices/beamlines/i04/beam_centre.py
src/dodal/devices/beamlines/i04/beamsize.py
src/dodal/devices/beamlines/i04/constants.py
src/dodal/devices/beamlines/i04/max_pixel.py
src/dodal/devices/beamlines/i04/murko_results.py
src/dodal/devices/beamlines/i04/transfocator.py
src/dodal/devices/beamlines/i05/__init__.py
src/dodal/devices/beamlines/i05/i05_motors.py
src/dodal/devices/beamlines/i05_1/__init__.py
src/dodal/devices/beamlines/i05_1/i05_1_motors.py
src/dodal/devices/beamlines/i05_shared/__init__.py
src/dodal/devices/beamlines/i05_shared/apple_knot_constants.py
src/dodal/devices/beamlines/i05_shared/compound_motors.py
src/dodal/devices/beamlines/i05_shared/enums.py
src/dodal/devices/beamlines/i06_1/__init__.py
src/dodal/devices/beamlines/i06_1/led_light.py
src/dodal/devices/beamlines/i06_1/motors.py
src/dodal/devices/beamlines/i06_2/__init__.py
src/dodal/devices/beamlines/i06_2/motors.py
src/dodal/devices/beamlines/i06_shared/__init__.py
src/dodal/devices/beamlines/i06_shared/i06_enum.py
src/dodal/devices/beamlines/i07/__init__.py
src/dodal/devices/beamlines/i07/dcm.py
src/dodal/devices/beamlines/i07/id.py
src/dodal/devices/beamlines/i09/__init__.py
src/dodal/devices/beamlines/i09/enums.py
src/dodal/devices/beamlines/i09_1/__init__.py
src/dodal/devices/beamlines/i09_1/enums.py
src/dodal/devices/beamlines/i09_1_shared/__init__.py
src/dodal/devices/beamlines/i09_1_shared/hard_energy.py
src/dodal/devices/beamlines/i09_1_shared/hard_undulator_functions.py
src/dodal/devices/beamlines/i09_2_shared/__init__.py
src/dodal/devices/beamlines/i09_2_shared/i09_apple2.py
src/dodal/devices/beamlines/i10/__init__.py
src/dodal/devices/beamlines/i10/diagnostics.py
src/dodal/devices/beamlines/i10/i10_apple2.py
src/dodal/devices/beamlines/i10/i10_setting_data.py
src/dodal/devices/beamlines/i10/slits.py
src/dodal/devices/beamlines/i10/rasor/__init__.py
src/dodal/devices/beamlines/i10/rasor/rasor_current_amp.py
src/dodal/devices/beamlines/i10/rasor/rasor_motors.py
src/dodal/devices/beamlines/i10/rasor/rasor_scaler_cards.py
src/dodal/devices/beamlines/i10_1/__init__.py
src/dodal/devices/beamlines/i10_1/scaler_cards.py
src/dodal/devices/beamlines/i10_1/electromagnet/__init__.py
src/dodal/devices/beamlines/i10_1/electromagnet/magnet.py
src/dodal/devices/beamlines/i10_1/electromagnet/stages.py
src/dodal/devices/beamlines/i11/__init__.py
src/dodal/devices/beamlines/i11/cyberstar_blower.py
src/dodal/devices/beamlines/i11/dcm.py
src/dodal/devices/beamlines/i11/diff_stages.py
src/dodal/devices/beamlines/i11/mythen.py
src/dodal/devices/beamlines/i11/nx100robot.py
src/dodal/devices/beamlines/i11/spinner.py
src/dodal/devices/beamlines/i13_1/__init__.py
src/dodal/devices/beamlines/i13_1/merlin.py
src/dodal/devices/beamlines/i13_1/merlin_controller.py
src/dodal/devices/beamlines/i15/__init__.py
src/dodal/devices/beamlines/i15/dcm.py
src/dodal/devices/beamlines/i15/focussing_mirror.py
src/dodal/devices/beamlines/i15/jack.py
src/dodal/devices/beamlines/i15/laue.py
src/dodal/devices/beamlines/i15/motors.py
src/dodal/devices/beamlines/i15/multilayer_mirror.py
src/dodal/devices/beamlines/i15/rail.py
src/dodal/devices/beamlines/i15_1/__init__.py
src/dodal/devices/beamlines/i15_1/attenuator.py
src/dodal/devices/beamlines/i15_1/puck_detector.py
src/dodal/devices/beamlines/i15_1/robot.py
src/dodal/devices/beamlines/i17/__init__.py
src/dodal/devices/beamlines/i17/i17_apple2.py
src/dodal/devices/beamlines/i18/__init__.py
src/dodal/devices/beamlines/i18/diode.py
src/dodal/devices/beamlines/i18/kb_mirror.py
src/dodal/devices/beamlines/i19/__init__.py
src/dodal/devices/beamlines/i19/backlight.py
src/dodal/devices/beamlines/i19/beamstop.py
src/dodal/devices/beamlines/i19/diffractometer.py
src/dodal/devices/beamlines/i19/mapt_configuration.py
src/dodal/devices/beamlines/i19/pin_col_stages.py
src/dodal/devices/beamlines/i19/pin_tip.py
src/dodal/devices/beamlines/i19/access_controlled/__init__.py
src/dodal/devices/beamlines/i19/access_controlled/attenuator_motor_squad.py
src/dodal/devices/beamlines/i19/access_controlled/blueapi_device.py
src/dodal/devices/beamlines/i19/access_controlled/hutch_access.py
src/dodal/devices/beamlines/i19/access_controlled/piezo_control.py
src/dodal/devices/beamlines/i19/access_controlled/shutter.py
src/dodal/devices/beamlines/i20_1/__init__.py
src/dodal/devices/beamlines/i21/__init__.py
src/dodal/devices/beamlines/i21/enums.py
src/dodal/devices/beamlines/i21/i21_motors.py
src/dodal/devices/beamlines/i21/toolpoint_motion.py
src/dodal/devices/beamlines/i22/__init__.py
src/dodal/devices/beamlines/i22/dcm.py
src/dodal/devices/beamlines/i22/fswitch.py
src/dodal/devices/beamlines/i22/nxsas.py
src/dodal/devices/beamlines/i24/__init__.py
src/dodal/devices/beamlines/i24/aperture.py
src/dodal/devices/beamlines/i24/beam_center.py
src/dodal/devices/beamlines/i24/beamstop.py
src/dodal/devices/beamlines/i24/commissioning_jungfrau.py
src/dodal/devices/beamlines/i24/dcm.py
src/dodal/devices/beamlines/i24/dual_backlight.py
src/dodal/devices/beamlines/i24/focus_mirrors.py
src/dodal/devices/beamlines/i24/pmac.py
src/dodal/devices/beamlines/i24/vgonio.py
src/dodal/devices/beamlines/p45/__init__.py
src/dodal/devices/beamlines/p45/p45_motors.py
src/dodal/devices/beamlines/p60/__init__.py
src/dodal/devices/beamlines/p60/enums.py
src/dodal/devices/beamlines/p60/lab_xray_source.py
src/dodal/devices/beamlines/p99/__init__.py
src/dodal/devices/beamlines/p99/andor2_point.py
src/dodal/devices/beamlines/p99/sample_stage.py
src/dodal/devices/beamsize/__init__.py
src/dodal/devices/beamsize/beamsize.py
src/dodal/devices/current_amplifiers/__init__.py
src/dodal/devices/current_amplifiers/current_amplifier.py
src/dodal/devices/current_amplifiers/current_amplifier_detector.py
src/dodal/devices/current_amplifiers/femto.py
src/dodal/devices/current_amplifiers/sr570.py
src/dodal/devices/current_amplifiers/struck_scaler_counter.py
src/dodal/devices/detector/__init__.py
src/dodal/devices/detector/det_dim_constants.py
src/dodal/devices/detector/det_dist_to_beam_converter.py
src/dodal/devices/detector/det_resolution.py
src/dodal/devices/detector/detector.py
src/dodal/devices/detector/detector_motion.py
src/dodal/devices/electron_analyser/__init__.py
src/dodal/devices/electron_analyser/base/__init__.py
src/dodal/devices/electron_analyser/base/base_controller.py
src/dodal/devices/electron_analyser/base/base_detector.py
src/dodal/devices/electron_analyser/base/base_driver_io.py
src/dodal/devices/electron_analyser/base/base_enums.py
src/dodal/devices/electron_analyser/base/base_region.py
src/dodal/devices/electron_analyser/base/base_util.py
src/dodal/devices/electron_analyser/base/energy_sources.py
src/dodal/devices/electron_analyser/specs/__init__.py
src/dodal/devices/electron_analyser/specs/specs_detector.py
src/dodal/devices/electron_analyser/specs/specs_driver_io.py
src/dodal/devices/electron_analyser/specs/specs_enums.py
src/dodal/devices/electron_analyser/specs/specs_region.py
src/dodal/devices/electron_analyser/vgscienta/__init__.py
src/dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py
src/dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py
src/dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py
src/dodal/devices/electron_analyser/vgscienta/vgscienta_region.py
src/dodal/devices/insertion_device/__init__.py
src/dodal/devices/insertion_device/apple2_controller.py
src/dodal/devices/insertion_device/apple2_undulator.py
src/dodal/devices/insertion_device/apple_knot_controller.py
src/dodal/devices/insertion_device/energy.py
src/dodal/devices/insertion_device/energy_motor_lookup.py
src/dodal/devices/insertion_device/enum.py
src/dodal/devices/insertion_device/lookup_table_models.py
src/dodal/devices/insertion_device/polarisation.py
src/dodal/devices/mx_phase1/__init__.py
src/dodal/devices/mx_phase1/beamstop.py
src/dodal/devices/oav/__init__.py
src/dodal/devices/oav/oav_calculations.py
src/dodal/devices/oav/oav_detector.py
src/dodal/devices/oav/oav_parameters.py
src/dodal/devices/oav/oav_to_redis_forwarder.py
src/dodal/devices/oav/utils.py
src/dodal/devices/oav/pin_image_recognition/__init__.py
src/dodal/devices/oav/pin_image_recognition/manual_test.py
src/dodal/devices/oav/pin_image_recognition/utils.py
src/dodal/devices/oav/snapshots/__init__.py
src/dodal/devices/oav/snapshots/grid_overlay.py
src/dodal/devices/oav/snapshots/snapshot.py
src/dodal/devices/oav/snapshots/snapshot_image_processing.py
src/dodal/devices/oav/snapshots/snapshot_with_grid.py
src/dodal/devices/temperture_controller/__init__.py
src/dodal/devices/temperture_controller/lakeshore/__init__.py
src/dodal/devices/temperture_controller/lakeshore/lakeshore.py
src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py
src/dodal/devices/util/__init__.py
src/dodal/devices/util/adjuster_plans.py
src/dodal/devices/util/epics_util.py
src/dodal/devices/util/lookup_tables.py
src/dodal/devices/xspress3/__init__.py
src/dodal/devices/xspress3/xspress3.py
src/dodal/devices/xspress3/xspress3_channel.py
src/dodal/devices/zebra/__init__.py
src/dodal/devices/zebra/zebra.py
src/dodal/devices/zebra/zebra_constants_mapping.py
src/dodal/devices/zebra/zebra_controlled_shutter.py
src/dodal/devices/zocalo/__init__.py
src/dodal/devices/zocalo/zocalo_constants.py
src/dodal/devices/zocalo/zocalo_interaction.py
src/dodal/devices/zocalo/zocalo_results.py
src/dodal/parameters/__init__.py
src/dodal/parameters/experiment_parameter_base.py
src/dodal/plan_stubs/__init__.py
src/dodal/plan_stubs/check_topup.py
src/dodal/plan_stubs/data_session.py
src/dodal/plan_stubs/motor_utils.py
src/dodal/plan_stubs/pressure_jump_cell.py
src/dodal/plan_stubs/wrapped.py
src/dodal/plans/__init__.py
src/dodal/plans/bimorph.py
src/dodal/plans/configure_arm_trigger_and_disarm_detector.py
src/dodal/plans/load_panda_yaml.py
src/dodal/plans/save_panda.py
src/dodal/plans/spec_path.py
src/dodal/plans/verify_undulator_gap.py
src/dodal/plans/wrapped.py
src/dodal/plans/device_setup_plans/__init__.py
src/dodal/plans/device_setup_plans/setup_pin_tip_params.py
src/dodal/plans/preprocessors/__init__.py
src/dodal/plans/preprocessors/verify_undulator_gap.py
src/dodal/testing/__init__.py
src/dodal/testing/fixtures/__init__.py
src/dodal/testing/fixtures/config_server.py
src/dodal/testing/fixtures/run_engine.py
src/dodal/testing/fixtures/utils.py
src/dodal/testing/fixtures/devices/__init__.py
src/dodal/testing/fixtures/devices/apple2.py
src/dodal/testing/fixtures/devices/apple_knot.py
src/dodal/testing/fixtures/devices/hard_undulator.py
system_tests/__init__.py
system_tests/conftest.py
system_tests/test_adsim.py
system_tests/test_cli.py
system_tests/test_oav_system.py
system_tests/test_oav_to_redis_system.py
system_tests/test_puck_detect_system.py
tests/__init__.py
tests/conftest.py
tests/fake_beamline.py
tests/fake_beamline_all_devices_raise_exception.py
tests/fake_beamline_broken_dependency.py
tests/fake_beamline_dependencies.py
tests/fake_beamline_disordered_dependencies.py
tests/fake_beamline_misbehaving_builtins.py
tests/fake_beamline_some_devices_working.py
tests/fake_device_factory_beamline.py
tests/test_cli.py
tests/test_device_manager.py
tests/test_log.py
tests/test_utils.py
tests/beamlines/__init__.py
tests/beamlines/test_b16.py
tests/beamlines/test_i03.py
tests/beamlines/test_i24.py
tests/beamlines/test_mapping.py
tests/common/__init__.py
tests/common/test_coordination.py
tests/common/test_crystal_metadata.py
tests/common/test_data_util.py
tests/common/test_maths.py
tests/common/test_udc_directory_provider.py
tests/common/test_visit.py
tests/common/test_watcher_utils.py
tests/common/beamlines/__init__.py
tests/common/beamlines/test_beamline_parameters.py
tests/common/beamlines/test_beamline_utils.py
tests/common/beamlines/test_commissioning_mode.py
tests/common/beamlines/test_config_client.py
tests/common/beamlines/test_device_instantiation.py
tests/devices/__init__.py
tests/devices/conftest.py
tests/devices/test_aperture.py
tests/devices/test_aperture_scatterguard.py
tests/devices/test_attenuator.py
tests/devices/test_backlight.py
tests/devices/test_bart_robot.py
tests/devices/test_baton.py
tests/devices/test_beam_converter.py
tests/devices/test_bimorph_mirror.py
tests/devices/test_common_dcm.py
tests/devices/test_common_mirrors.py
tests/devices/test_controllers.py
tests/devices/test_diamond_filter.py
tests/devices/test_eiger.py
tests/devices/test_fast_shutters.py
tests/devices/test_focusing_mirror.py
tests/devices/test_gridscan.py
tests/devices/test_hutch_shutter.py
tests/devices/test_motors.py
tests/devices/test_odin.py
tests/devices/test_positioner.py
tests/devices/test_pressure_jump_cell.py
tests/devices/test_qbpm.py
tests/devices/test_scintillator.py
tests/devices/test_selectable_source.py
tests/devices/test_slits.py
tests/devices/test_smargon.py
tests/devices/test_synchrotron.py
tests/devices/test_tetramm.py
tests/devices/test_thawer.py
tests/devices/test_turbo_slit.py
tests/devices/test_undulator.py
tests/devices/test_utils.py
tests/devices/test_watsonmarlow323_pump.py
tests/devices/test_webcam.py
tests/devices/test_wrapped_axis.py
tests/devices/test_xbpm_feedback.py
tests/devices/test_xspress3.py
tests/devices/test_zebra.py
tests/devices/test_zebra_constants_mapping.py
tests/devices/test_zebra_shutter.py
tests/devices/test_zocalo_interaction.py
tests/devices/test_zocalo_results.py
tests/devices/aithre_lasershaping/__init__.py
tests/devices/aithre_lasershaping/test_goniometer.py
tests/devices/beamlines/__init__.py
tests/devices/beamlines/b07/__init__.py
tests/devices/beamlines/b07/test_b07_motors.py
tests/devices/beamlines/b07_1/__init__.py
tests/devices/beamlines/b07_1/test_ccmc.py
tests/devices/beamlines/b21/__init__.py
tests/devices/beamlines/b21/test_vici_valves.py
tests/devices/beamlines/i02_1/__init__.py
tests/devices/beamlines/i02_1/test_fast_grid_scan.py
tests/devices/beamlines/i03/__init__.py
tests/devices/beamlines/i03/conftest.py
tests/devices/beamlines/i03/test_beamsize.py
tests/devices/beamlines/i03/test_dcm.py
tests/devices/beamlines/i03/test_undulator_dcm.py
tests/devices/beamlines/i04/__init__.py
tests/devices/beamlines/i04/conftest.py
tests/devices/beamlines/i04/test_beam_centre.py
tests/devices/beamlines/i04/test_beamsize.py
tests/devices/beamlines/i04/test_max_pixel.py
tests/devices/beamlines/i04/test_murko_results.py
tests/devices/beamlines/i04/test_transfocator.py
tests/devices/beamlines/i05/__init__.py
tests/devices/beamlines/i05/test_i05_motors.py
tests/devices/beamlines/i05_1/__init__.py
tests/devices/beamlines/i05_1/test_i05_1_motors.py
tests/devices/beamlines/i05_shared/__init__.py
tests/devices/beamlines/i05_shared/rotation_signal_test_util.py
tests/devices/beamlines/i05_shared/test_compound_motor.py
tests/devices/beamlines/i06_1/__init__.py
tests/devices/beamlines/i06_1/test_led_light.py
tests/devices/beamlines/i06_1/test_motors.py
tests/devices/beamlines/i06_2/__init__.py
tests/devices/beamlines/i06_2/test_motors.py
tests/devices/beamlines/i07/IIDCalibrationTable.txt
tests/devices/beamlines/i07/__init__.py
tests/devices/beamlines/i07/test_dcm.py
tests/devices/beamlines/i07/test_id.py
tests/devices/beamlines/i09/__init__.py
tests/devices/beamlines/i09_1/__init__.py
tests/devices/beamlines/i09_1_shared/__init__.py
tests/devices/beamlines/i09_1_shared/test_hard_energy.py
tests/devices/beamlines/i09_1_shared/test_undulator_functions.py
tests/devices/beamlines/i09_1_shared/test_data/__init__.py
tests/devices/beamlines/i09_1_shared/test_data/test_lookuptable_i09_hu.txt
tests/devices/beamlines/i09_2_shared/__init__.py
tests/devices/beamlines/i09_2_shared/test_i09_apple2.py
tests/devices/beamlines/i09_2_shared/test_data/ExpectedJIDEnergy2GapCalibrations.json
tests/devices/beamlines/i09_2_shared/test_data/ExpectedJIDEnergy2PhaseCalibrations.json
tests/devices/beamlines/i09_2_shared/test_data/JIDEnergy2GapCalibrations.csv
tests/devices/beamlines/i09_2_shared/test_data/JIDEnergy2PhaseCalibrations.csv
tests/devices/beamlines/i09_2_shared/test_data/__init__.py
tests/devices/beamlines/i10/__init__.py
tests/devices/beamlines/i10/test_i10_apple2.py
tests/devices/beamlines/i10/test_data/IDEnergy2GapCalibrations.csv
tests/devices/beamlines/i10/test_data/IDEnergy2PhaseCalibrations.csv
tests/devices/beamlines/i10/test_data/__init__.py
tests/devices/beamlines/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json
tests/devices/beamlines/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json
tests/devices/beamlines/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json
tests/devices/beamlines/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json
tests/devices/beamlines/i10_1/__init__.py
tests/devices/beamlines/i10_1/test_scaler_cards.py
tests/devices/beamlines/i10_1/electromagnet/__init__.py
tests/devices/beamlines/i10_1/electromagnet/test_magnet.py
tests/devices/beamlines/i10_1/electromagnet/test_stages.py
tests/devices/beamlines/i11/__init__.py
tests/devices/beamlines/i11/test_i11_dcm.py
tests/devices/beamlines/i11/test_i11devices.py
tests/devices/beamlines/i11/test_mythen.py
tests/devices/beamlines/i13_1/__init__.py
tests/devices/beamlines/i13_1/test_merlin.py
tests/devices/beamlines/i15/__init__.py
tests/devices/beamlines/i15_1/__init__.py
tests/devices/beamlines/i15_1/test_attenuator.py
tests/devices/beamlines/i15_1/test_puck_detector.py
tests/devices/beamlines/i15_1/test_robot.py
tests/devices/beamlines/i17/__init__.py
tests/devices/beamlines/i17/test_i17_apple2.py
tests/devices/beamlines/i18/__init__.py
tests/devices/beamlines/i18/test_kb_mirror.py
tests/devices/beamlines/i19/__init__.py
tests/devices/beamlines/i19/test_backlight.py
tests/devices/beamlines/i19/test_beamstop.py
tests/devices/beamlines/i19/test_diffractometer.py
tests/devices/beamlines/i19/test_mapt.py
tests/devices/beamlines/i19/test_pin_col.py
tests/devices/beamlines/i19/access_controlled/__init__.py
tests/devices/beamlines/i19/access_controlled/test_attenuator_motor_squad.py
tests/devices/beamlines/i19/access_controlled/test_attenuator_position_demand.py
tests/devices/beamlines/i19/access_controlled/test_piezo_control.py
tests/devices/beamlines/i19/access_controlled/test_shutter.py
tests/devices/beamlines/i21/__init__.py
tests/devices/beamlines/i21/test_i21_motors.py
tests/devices/beamlines/i21/test_toolpoint_motion.py
tests/devices/beamlines/i22/__init__.py
tests/devices/beamlines/i22/test_dcm.py
tests/devices/beamlines/i22/test_fswitch.py
tests/devices/beamlines/i22/test_metadataholder.py
tests/devices/beamlines/i24/__init__.py
tests/devices/beamlines/i24/test_commissioning_jungfrau.py
tests/devices/beamlines/i24/test_dual_backlight.py
tests/devices/beamlines/i24/test_focus_mirrors.py
tests/devices/beamlines/i24/test_pmac.py
tests/devices/beamlines/i24/test_vgonio.py
tests/devices/beamlines/p60/__init__.py
tests/devices/beamlines/p60/test_lab_xray_source.py
tests/devices/beamlines/p99/__init__.py
tests/devices/beamlines/p99/test_p99_stage.py
tests/devices/current_amplifier/__init__.py
tests/devices/current_amplifier/test_femto.py
tests/devices/current_amplifier/test_sr570.py
tests/devices/detector/__init__.py
tests/devices/detector/test_det_dim_constants.py
tests/devices/detector/test_det_resolution.py
tests/devices/detector/test_detector.py
tests/devices/detector/test_data/__init__.py
tests/devices/detector/test_data/test_det_dist_converter.txt
tests/devices/electron_analyser/__init__.py
tests/devices/electron_analyser/conftest.py
tests/devices/electron_analyser/base/__init__.py
tests/devices/electron_analyser/base/conftest.py
tests/devices/electron_analyser/base/test_base_controller.py
tests/devices/electron_analyser/base/test_base_detector.py
tests/devices/electron_analyser/base/test_base_driver_io.py
tests/devices/electron_analyser/base/test_base_region.py
tests/devices/electron_analyser/base/test_base_util.py
tests/devices/electron_analyser/base/test_energy_sources.py
tests/devices/electron_analyser/helper_util/__init__.py
tests/devices/electron_analyser/helper_util/assert_func.py
tests/devices/electron_analyser/helper_util/sequence.py
tests/devices/electron_analyser/specs/__init__.py
tests/devices/electron_analyser/specs/test_specs_detector.py
tests/devices/electron_analyser/specs/test_specs_driver_io.py
tests/devices/electron_analyser/specs/test_specs_region.py
tests/devices/electron_analyser/test_data/__init__.py
tests/devices/electron_analyser/test_data/specs_sequence.seq
tests/devices/electron_analyser/test_data/vgscienta_sequence.seq
tests/devices/electron_analyser/vgscienta/__init__.py
tests/devices/electron_analyser/vgscienta/test_vgscienta_detector.py
tests/devices/electron_analyser/vgscienta/test_vgscienta_driver_io.py
tests/devices/electron_analyser/vgscienta/test_vgsicenta_region.py
tests/devices/insertion_device/__init__.py
tests/devices/insertion_device/conftest.py
tests/devices/insertion_device/test_apple2_controller.py
tests/devices/insertion_device/test_apple2_undulator.py
tests/devices/insertion_device/test_apple_knot_path_finder.py
tests/devices/insertion_device/test_apple_knot_undulator.py
tests/devices/insertion_device/test_energy.py
tests/devices/insertion_device/test_energy_motor_lookup.py
tests/devices/insertion_device/test_lookup_tables_models.py
tests/devices/insertion_device/test_polarisation.py
tests/devices/insertion_device/util.py
tests/devices/mx_phase1/__init__.py
tests/devices/mx_phase1/test_beamstop.py
tests/devices/oav/__init__.py
tests/devices/oav/conftest.py
tests/devices/oav/test_grid_overlay.py
tests/devices/oav/test_oav.py
tests/devices/oav/test_oav_parameters.py
tests/devices/oav/test_oav_to_redis_forwarder.py
tests/devices/oav/test_oav_utils.py
tests/devices/oav/test_snapshot_image_processing.py
tests/devices/oav/test_snapshots.py
tests/devices/oav/image_recognition/__init__.py
tests/devices/oav/image_recognition/test_pin_tip_detect.py
tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py
tests/devices/oav/test_data/__init__.py
tests/devices/oav/test_data/jCameraManZoomLevels.json
tests/devices/oav/test_data/oav_snapshot_expected.png
tests/devices/oav/test_data/oav_snapshot_test.png
tests/devices/oav/test_data/test_OAVCentring.json
tests/devices/oav/test_data/test_display.configuration
tests/devices/temperature_controller/__init__.py
tests/devices/temperature_controller/lakeshore/__init__.py
tests/devices/temperature_controller/lakeshore/test_lakeshore.py
tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py
tests/devices/test_daq_configuration/__init__.py
tests/devices/test_daq_configuration/domain/__init__.py
tests/devices/test_daq_configuration/domain/beamlineParameters
tests/devices/test_daq_configuration/json/mirrorFocus.json
tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt
tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt
tests/devices/test_daq_configuration/lookup/__init__.py
tests/devices/test_data/__init__.py
tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt
tests/devices/test_data/test_lookup_table.txt
tests/devices/util/__init__.py
tests/devices/util/test_adjuster_plans.py
tests/devices/util/test_lookup_tables.py
tests/devices/util/test_data/__init__.py
tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt
tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt
tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt
tests/fake_zocalo/README.rst
tests/fake_zocalo/__init__.py
tests/fake_zocalo/__main__.py
tests/fake_zocalo/dls_start_fake_zocalo.sh
tests/plan_stubs/__init__.py
tests/plan_stubs/test_data_session.py
tests/plan_stubs/test_motor_util_plans.py
tests/plan_stubs/test_pressure_jump_cell_stubs.py
tests/plan_stubs/test_topup_plan.py
tests/plan_stubs/test_wrapped_stubs.py
tests/plan_stubs/test_data/__init__.py
tests/plan_stubs/test_data/topup_long_delay.txt
tests/plan_stubs/test_data/topup_short_params.txt
tests/plans/__init__.py
tests/plans/conftest.py
tests/plans/test_bimorph.py
tests/plans/test_compliance.py
tests/plans/test_configure_arm_trigger_and_disarm_detector.py
tests/plans/test_load_panda_yaml.py
tests/plans/test_save_panda.py
tests/plans/test_scanspec.py
tests/plans/test_verify_undulator_gap_plan.py
tests/plans/test_wrapped.py
tests/plans/device_setup_plans/__init__.py
tests/plans/device_setup_plans/test_setup_pin_tip.py
tests/plans/test_preprocessors/__init__.py
tests/plans/test_preprocessors/test_verify_undulator_gap.py
tests/preprocessors/__init__.py
tests/preprocessors/test_filesystem_metadata.py
tests/test_data/__init__.py
tests/test_data/bad_beamlineParameters
tests/test_data/i04_beamlineParameters
tests/test_data/scintillator_with_beam.jpg
tests/test_data/test_beamline_parameters.txt
tests/testing/__init__.py
tests/testing/fixtures/__init__.py
tests/testing/fixtures/test_run_engine.py