dls-dodal 1.29.4__py3-none-any.whl → 1.30.0__py3-none-any.whl
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.29.4.dist-info → dls_dodal-1.30.0.dist-info}/METADATA +27 -42
- dls_dodal-1.30.0.dist-info/RECORD +132 -0
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/WHEEL +1 -1
- dls_dodal-1.30.0.dist-info/entry_points.txt +3 -0
- dodal/__init__.py +1 -4
- dodal/_version.py +2 -2
- dodal/beamlines/__init__.py +3 -1
- dodal/beamlines/i03.py +28 -23
- dodal/beamlines/i04.py +34 -12
- dodal/beamlines/i13_1.py +66 -0
- dodal/beamlines/i22.py +5 -5
- dodal/beamlines/i24.py +1 -1
- dodal/beamlines/p38.py +7 -7
- dodal/beamlines/p45.py +7 -5
- dodal/beamlines/p99.py +61 -0
- dodal/cli.py +6 -3
- dodal/common/beamlines/beamline_parameters.py +2 -2
- dodal/common/beamlines/beamline_utils.py +6 -5
- dodal/common/maths.py +1 -3
- dodal/common/types.py +2 -3
- dodal/common/udc_directory_provider.py +14 -3
- dodal/common/visit.py +2 -3
- dodal/devices/CTAB.py +22 -17
- dodal/devices/aperturescatterguard.py +114 -136
- dodal/devices/areadetector/adaravis.py +8 -6
- dodal/devices/areadetector/adsim.py +2 -3
- dodal/devices/areadetector/adutils.py +20 -12
- dodal/devices/cryostream.py +19 -7
- dodal/devices/detector/__init__.py +13 -2
- dodal/devices/detector/det_dim_constants.py +2 -2
- dodal/devices/detector/det_dist_to_beam_converter.py +1 -1
- dodal/devices/detector/detector.py +5 -5
- dodal/devices/detector/detector_motion.py +38 -31
- dodal/devices/eiger.py +11 -15
- dodal/devices/eiger_odin.py +9 -10
- dodal/devices/fast_grid_scan.py +4 -3
- dodal/devices/fluorescence_detector_motion.py +13 -4
- dodal/devices/focusing_mirror.py +4 -4
- dodal/devices/hutch_shutter.py +4 -4
- dodal/devices/i22/dcm.py +4 -3
- dodal/devices/i22/fswitch.py +4 -4
- dodal/devices/i22/nxsas.py +23 -32
- dodal/devices/i24/pmac.py +47 -8
- dodal/devices/ipin.py +7 -4
- dodal/devices/linkam3.py +11 -5
- dodal/devices/logging_ophyd_device.py +1 -1
- dodal/devices/motors.py +31 -5
- dodal/devices/oav/grid_overlay.py +1 -0
- dodal/devices/oav/microns_for_zoom_levels.json +1 -1
- dodal/devices/oav/oav_detector.py +2 -1
- dodal/devices/oav/oav_parameters.py +18 -10
- dodal/devices/oav/oav_to_redis_forwarder.py +100 -0
- dodal/devices/oav/pin_image_recognition/__init__.py +6 -6
- dodal/devices/oav/pin_image_recognition/utils.py +5 -6
- dodal/devices/oav/utils.py +2 -2
- dodal/devices/p99/__init__.py +0 -0
- dodal/devices/p99/sample_stage.py +43 -0
- dodal/devices/robot.py +30 -18
- dodal/devices/scintillator.py +8 -5
- dodal/devices/smargon.py +3 -3
- dodal/devices/status.py +2 -31
- dodal/devices/tetramm.py +4 -4
- dodal/devices/thawer.py +5 -3
- dodal/devices/undulator_dcm.py +6 -8
- dodal/devices/util/adjuster_plans.py +2 -2
- dodal/devices/util/epics_util.py +5 -7
- dodal/devices/util/lookup_tables.py +2 -3
- dodal/devices/util/save_panda.py +87 -0
- dodal/devices/util/test_utils.py +17 -0
- dodal/devices/webcam.py +3 -3
- dodal/devices/xbpm_feedback.py +0 -23
- dodal/devices/zebra.py +10 -10
- dodal/devices/zebra_controlled_shutter.py +3 -3
- dodal/devices/zocalo/zocalo_interaction.py +10 -2
- dodal/devices/zocalo/zocalo_results.py +31 -18
- dodal/log.py +14 -5
- dodal/plans/data_session_metadata.py +1 -0
- dodal/plans/motor_util_plans.py +117 -0
- dodal/utils.py +65 -22
- dls_dodal-1.29.4.dist-info/RECORD +0 -125
- dls_dodal-1.29.4.dist-info/entry_points.txt +0 -2
- dodal/devices/qbpm1.py +0 -8
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/LICENSE +0 -0
- {dls_dodal-1.29.4.dist-info → dls_dodal-1.30.0.dist-info}/top_level.txt +0 -0
- /dodal/devices/i24/{I24_detector_motion.py → i24_detector_motion.py} +0 -0
dodal/utils.py
CHANGED
|
@@ -4,6 +4,7 @@ import os
|
|
|
4
4
|
import re
|
|
5
5
|
import socket
|
|
6
6
|
import string
|
|
7
|
+
from collections.abc import Callable, Iterable, Mapping
|
|
7
8
|
from dataclasses import dataclass
|
|
8
9
|
from functools import wraps
|
|
9
10
|
from importlib import import_module
|
|
@@ -12,13 +13,6 @@ from os import environ
|
|
|
12
13
|
from types import ModuleType
|
|
13
14
|
from typing import (
|
|
14
15
|
Any,
|
|
15
|
-
Callable,
|
|
16
|
-
Dict,
|
|
17
|
-
Iterable,
|
|
18
|
-
List,
|
|
19
|
-
Mapping,
|
|
20
|
-
Tuple,
|
|
21
|
-
Type,
|
|
22
16
|
TypeVar,
|
|
23
17
|
)
|
|
24
18
|
|
|
@@ -46,7 +40,7 @@ import dodal.log
|
|
|
46
40
|
try:
|
|
47
41
|
from typing import TypeAlias
|
|
48
42
|
except ImportError:
|
|
49
|
-
from
|
|
43
|
+
from typing import TypeAlias
|
|
50
44
|
|
|
51
45
|
|
|
52
46
|
#: Protocols defining interface to hardware
|
|
@@ -108,9 +102,35 @@ def skip_device(precondition=lambda: True):
|
|
|
108
102
|
return decorator
|
|
109
103
|
|
|
110
104
|
|
|
105
|
+
def make_device(
|
|
106
|
+
module: str | ModuleType,
|
|
107
|
+
device_name: str,
|
|
108
|
+
**kwargs,
|
|
109
|
+
) -> dict[str, AnyDevice]:
|
|
110
|
+
"""Make a single named device and its dependencies from the given beamline module.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
module (str | ModuleType): The module to make devices from.
|
|
114
|
+
device_name: Name of the device to construct
|
|
115
|
+
**kwargs: Arguments passed on to every device factory
|
|
116
|
+
|
|
117
|
+
Returns:
|
|
118
|
+
dict[str, AnyDevice]: A dict mapping device names to the constructed devices
|
|
119
|
+
"""
|
|
120
|
+
if isinstance(module, str):
|
|
121
|
+
module = import_module(module)
|
|
122
|
+
|
|
123
|
+
device_collector = {}
|
|
124
|
+
factories = collect_factories(module)
|
|
125
|
+
device_collector[device_name] = _make_one_device(
|
|
126
|
+
module, device_name, device_collector, factories, **kwargs
|
|
127
|
+
)
|
|
128
|
+
return device_collector
|
|
129
|
+
|
|
130
|
+
|
|
111
131
|
def make_all_devices(
|
|
112
132
|
module: str | ModuleType | None = None, include_skipped: bool = False, **kwargs
|
|
113
|
-
) ->
|
|
133
|
+
) -> tuple[dict[str, AnyDevice], dict[str, Exception]]:
|
|
114
134
|
"""Makes all devices in the given beamline module.
|
|
115
135
|
|
|
116
136
|
In cases of device interdependencies it ensures a device is created before any which
|
|
@@ -129,7 +149,7 @@ def make_all_devices(
|
|
|
129
149
|
if isinstance(module, str) or module is None:
|
|
130
150
|
module = import_module(module or __name__)
|
|
131
151
|
factories = collect_factories(module, include_skipped)
|
|
132
|
-
devices:
|
|
152
|
+
devices: tuple[dict[str, AnyDevice], dict[str, Exception]] = invoke_factories(
|
|
133
153
|
factories, **kwargs
|
|
134
154
|
)
|
|
135
155
|
|
|
@@ -139,7 +159,7 @@ def make_all_devices(
|
|
|
139
159
|
def invoke_factories(
|
|
140
160
|
factories: Mapping[str, AnyDeviceFactory],
|
|
141
161
|
**kwargs,
|
|
142
|
-
) ->
|
|
162
|
+
) -> tuple[dict[str, AnyDevice], dict[str, Exception]]:
|
|
143
163
|
"""Call device factory functions in the correct order to resolve dependencies.
|
|
144
164
|
Inspect function signatures to work out dependencies and execute functions in
|
|
145
165
|
correct order.
|
|
@@ -259,15 +279,13 @@ def is_any_device_factory(func: Callable) -> bool:
|
|
|
259
279
|
return is_v1_device_factory(func) or is_v2_device_factory(func)
|
|
260
280
|
|
|
261
281
|
|
|
262
|
-
def is_v2_device_type(obj:
|
|
263
|
-
return inspect.isclass(obj) and
|
|
282
|
+
def is_v2_device_type(obj: type[Any]) -> bool:
|
|
283
|
+
return inspect.isclass(obj) and isinstance(obj, OphydV2Device)
|
|
264
284
|
|
|
265
285
|
|
|
266
|
-
def is_v1_device_type(obj:
|
|
286
|
+
def is_v1_device_type(obj: type[Any]) -> bool:
|
|
267
287
|
is_class = inspect.isclass(obj)
|
|
268
|
-
follows_protocols = any(
|
|
269
|
-
(isinstance(obj, protocol) for protocol in BLUESKY_PROTOCOLS)
|
|
270
|
-
)
|
|
288
|
+
follows_protocols = any(isinstance(obj, protocol) for protocol in BLUESKY_PROTOCOLS)
|
|
271
289
|
return is_class and follows_protocols and not is_v2_device_type(obj)
|
|
272
290
|
|
|
273
291
|
|
|
@@ -292,13 +310,11 @@ def get_beamline_based_on_environment_variable() -> ModuleType:
|
|
|
292
310
|
or any(c not in valid_characters for c in beamline)
|
|
293
311
|
):
|
|
294
312
|
raise ValueError(
|
|
295
|
-
"Invalid BEAMLINE variable - module name is not a permissible python module name, got '{}'"
|
|
296
|
-
beamline
|
|
297
|
-
)
|
|
313
|
+
f"Invalid BEAMLINE variable - module name is not a permissible python module name, got '{beamline}'"
|
|
298
314
|
)
|
|
299
315
|
|
|
300
316
|
try:
|
|
301
|
-
return importlib.import_module("dodal.beamlines.{}"
|
|
317
|
+
return importlib.import_module(f"dodal.beamlines.{beamline}")
|
|
302
318
|
except ImportError as e:
|
|
303
319
|
raise ValueError(
|
|
304
320
|
f"Failed to import beamline-specific dodal module 'dodal.beamlines.{beamline}'."
|
|
@@ -306,7 +322,7 @@ def get_beamline_based_on_environment_variable() -> ModuleType:
|
|
|
306
322
|
) from e
|
|
307
323
|
|
|
308
324
|
|
|
309
|
-
def _find_next_run_number_from_files(file_names:
|
|
325
|
+
def _find_next_run_number_from_files(file_names: list[str]) -> int:
|
|
310
326
|
valid_numbers = []
|
|
311
327
|
|
|
312
328
|
for file_name in file_names:
|
|
@@ -336,3 +352,30 @@ def get_run_number(directory: str, prefix: str = "") -> int:
|
|
|
336
352
|
return 1
|
|
337
353
|
else:
|
|
338
354
|
return _find_next_run_number_from_files(nexus_file_names)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
def _make_one_device(
|
|
358
|
+
module: ModuleType,
|
|
359
|
+
device_name: str,
|
|
360
|
+
devices: dict[str, AnyDevice],
|
|
361
|
+
factories: dict[str, AnyDeviceFactory],
|
|
362
|
+
**kwargs,
|
|
363
|
+
) -> AnyDevice:
|
|
364
|
+
factory = factories.get(device_name)
|
|
365
|
+
if not factory:
|
|
366
|
+
raise ValueError(f"Unable to find factory for {device_name}")
|
|
367
|
+
|
|
368
|
+
dependencies = list(extract_dependencies(factories, device_name))
|
|
369
|
+
for dependency_name in dependencies:
|
|
370
|
+
if dependency_name not in devices:
|
|
371
|
+
try:
|
|
372
|
+
devices[dependency_name] = _make_one_device(
|
|
373
|
+
module, dependency_name, devices, factories, **kwargs
|
|
374
|
+
)
|
|
375
|
+
except Exception as e:
|
|
376
|
+
raise RuntimeError(
|
|
377
|
+
f"Unable to construct device {dependency_name}"
|
|
378
|
+
) from e
|
|
379
|
+
|
|
380
|
+
params = {name: devices[name] for name in dependencies}
|
|
381
|
+
return factory(**params, **kwargs)
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
dodal/__init__.py,sha256=y-VRpfiX-Lm5nchB9N0VfMy_6dwFqVxpSn5SiAQql9I,114
|
|
2
|
-
dodal/__main__.py,sha256=kP2S2RPitnOWpNGokjZ1Yq-1umOtp5sNOZk2B3tBPLM,111
|
|
3
|
-
dodal/_version.py,sha256=dGQcJRhmSkKpwrkZVgo13Sd0AVHTIBb9i0csee9mzMo,413
|
|
4
|
-
dodal/adsim.py,sha256=OW2dcS7ciD4Yq9WFw4PN_c5Bwccrmu7R-zr-u6ZCbQM,497
|
|
5
|
-
dodal/cli.py,sha256=z0UBESrNrq6Kq4rttp4uHcwS1fnOnRkKBRDHSriPpGY,2058
|
|
6
|
-
dodal/log.py,sha256=dfo1rfYrGG8oIm2HkNxaa_ldVs4vJKtgWSoKe1Z_Xno,8533
|
|
7
|
-
dodal/utils.py,sha256=SFDmUOLtxLe5OdNdVgS_EftNpX0ihxduBwq6tufw8s4,10174
|
|
8
|
-
dodal/beamline_specific_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
dodal/beamline_specific_utils/i03.py,sha256=Ixe1anFQl-kwRJubmQx28TIW4Zw8qDxpElNNNapWQHI,396
|
|
10
|
-
dodal/beamlines/README.md,sha256=K9MkL_GomxlsoTB7Mz-_dJA5NNSbmCfMiutchGg3C8o,404
|
|
11
|
-
dodal/beamlines/__init__.py,sha256=U0dQYFEUloCdQOs24zyfpPTncJXOO4cDcfHSevVOAw4,2890
|
|
12
|
-
dodal/beamlines/i03.py,sha256=J-4GawTxAhrYDQZh87n11L9ehTgObEQ1Lz2PueXCWbc,16892
|
|
13
|
-
dodal/beamlines/i04.py,sha256=JOyNcUnC3wva4no2MHKp6b8gOKAcQXL_c4cBo7oneVs,13034
|
|
14
|
-
dodal/beamlines/i04_1.py,sha256=KDxSUQNhIs_NFiRaLY-Jiory0DeN7Y0ErvGuoTrwCDU,4731
|
|
15
|
-
dodal/beamlines/i20_1.py,sha256=MaPgONHqpoZuBtkiKEzYtViJnKBM2_ekeP4OdbmuXHE,1158
|
|
16
|
-
dodal/beamlines/i22.py,sha256=3VFdA4Wc7O40-64lwUtUBIN23fH4JVNbLKJ1JLjy9as,9870
|
|
17
|
-
dodal/beamlines/i23.py,sha256=2j5qLoqE_hg9ETHqNkOVu7LLkVB8qalgXeORnVYKN_I,1075
|
|
18
|
-
dodal/beamlines/i24.py,sha256=tPSrWArwRd0fb59HyHFRGR1FdscM7t9_hNPk0edhh4o,6583
|
|
19
|
-
dodal/beamlines/p38.py,sha256=TC78u4GwEnj6X0r5cnHhqNdBbbDRnh8lY8pEucBZjEU,8006
|
|
20
|
-
dodal/beamlines/p45.py,sha256=TNIkC-SBfj0ayZtlLLXW9xCSi5CzJkO8XpAMIo8fjao,2957
|
|
21
|
-
dodal/common/__init__.py,sha256=ZC4ICKUDB0BDxRaVy8nmqclVmDBne-dPtk6UJsoFq6I,258
|
|
22
|
-
dodal/common/coordination.py,sha256=OxIjDiO1-9A9KESRPFtzwkvvQlavbgA5RHemlbubBPg,1168
|
|
23
|
-
dodal/common/maths.py,sha256=JRSBhbMzwlicKp1_Bsfu9gA79JJA_Dgq9EpbExFH65M,1829
|
|
24
|
-
dodal/common/types.py,sha256=M0gZs9F7--gREF8VYJn-Y1Mt9mIEgp1aLY3oUpUkSno,546
|
|
25
|
-
dodal/common/udc_directory_provider.py,sha256=zNlt_VgdAlyBtVN7neTHk_0tWBbI4pPUL7q9WQOzXvo,1260
|
|
26
|
-
dodal/common/visit.py,sha256=MhrFbLptMG0Wvd2nHubBwQ44qAzoP4Bf4_z_-wO8rh0,6063
|
|
27
|
-
dodal/common/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
dodal/common/beamlines/beamline_parameters.py,sha256=N22dtDLw3Hlo7EUmGxe4qFGcu7OnldwCz_mU7yK2rd0,3577
|
|
29
|
-
dodal/common/beamlines/beamline_utils.py,sha256=AgmH9wpnFQ4DHAA7_Yo0COa2piX2ksFxukFt2_600kA,4488
|
|
30
|
-
dodal/common/beamlines/device_helpers.py,sha256=s79js7no9k8JMfG7NvdmFomSP5m5VDQ6th_Hsbx1znA,939
|
|
31
|
-
dodal/devices/CTAB.py,sha256=_MfL_KH4uDPxq_RuHFEZ9HVXOpUnQb5be3csoz9DdAs,1630
|
|
32
|
-
dodal/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
dodal/devices/adsim.py,sha256=dMU0TKIuiODHYFHQOH4_5UvB8iJtaJEtjqaEDGjcU-w,311
|
|
34
|
-
dodal/devices/aperture.py,sha256=0MtTzKMDZ5DVAz0DE0kXI0M76VCp0y9vFsrMggEMpxk,586
|
|
35
|
-
dodal/devices/aperturescatterguard.py,sha256=2JJsEPJGJHrI0ztv1cSaP7H5T6qdzDfUcN-VEQ39B8o,11012
|
|
36
|
-
dodal/devices/attenuator.py,sha256=viK1iccNekX6ZvR_ZmSwj5JdM1j2B8pcTg8qWDdmzhQ,2584
|
|
37
|
-
dodal/devices/backlight.py,sha256=vsNGZB4C_mVMafllvJlOTghsfv6UqALMKUMLXu3WZ5k,1115
|
|
38
|
-
dodal/devices/beamstop.py,sha256=8L3qhlk-3ZBOp10xK1i8qZqYTGOXX1mVF1MgXoN0dfg,215
|
|
39
|
-
dodal/devices/cryostream.py,sha256=6MU4rXIOL33C-8F3DVfAtv0ZnwiysTtawjkeePd5IrQ,332
|
|
40
|
-
dodal/devices/dcm.py,sha256=vfyGYDzfSwTiNqlzkfNjkrL-Q1hNVSgJddvJ5Un_lvg,1610
|
|
41
|
-
dodal/devices/eiger.py,sha256=HpZIZ6Y8iffo9GxmuFJmnyRCa5Tl0BKSKU2_wVccHDo,14069
|
|
42
|
-
dodal/devices/eiger_odin.py,sha256=zKNu5OaIQ9HkflfxKCi87Yr1kEG2gXfxzj0KPv0XzCk,6960
|
|
43
|
-
dodal/devices/fast_grid_scan.py,sha256=BEj96j78r60JPPJoOMP-XXG-_9yURFTuu-pp2LcqQmY,12452
|
|
44
|
-
dodal/devices/fluorescence_detector_motion.py,sha256=RrXfPmJzWnAjcjp9u0AnJEfjvWPMKburVTySB2hxYbw,181
|
|
45
|
-
dodal/devices/flux.py,sha256=RtPStHw7Mad0igVKntKWVZfuZn2clokVJqH14HLix6M,198
|
|
46
|
-
dodal/devices/focusing_mirror.py,sha256=v6TPglvmHiv9H05Lssv1LY5Nr9RBHQISLzL4SJ_QIbk,5890
|
|
47
|
-
dodal/devices/hutch_shutter.py,sha256=nZ3gRbYIVJsXLlpZMWT4UEYUFFQP1MwMe8Oy304QsqE,3360
|
|
48
|
-
dodal/devices/ipin.py,sha256=OGMXwAE4KDDonZRPFkUmR9Vsk6X4Ox-hEvPT5drP-mQ,208
|
|
49
|
-
dodal/devices/linkam3.py,sha256=TPhiQ1D9i_HIlKHAlfnVfX7H6aPOAeXPEJLdmvwdKWQ,3776
|
|
50
|
-
dodal/devices/logging_ophyd_device.py,sha256=xw4lbyqq5_ehESGterVEfubJsBiJTWvBp5b9k62gSkg,666
|
|
51
|
-
dodal/devices/motors.py,sha256=16ID2jFJ35h6ZrFp76nJG_oQg6uDrupgcbvcbmjlc7c,300
|
|
52
|
-
dodal/devices/p45.py,sha256=jzBW2fGRhIbGzSRs5Fgupxro6aqE611n1RTcrTTG-yY,1047
|
|
53
|
-
dodal/devices/qbpm1.py,sha256=OY7-WbdxMiLGUK8Z57ezwqSXbHxoPP-y3GvBgj9kgMA,220
|
|
54
|
-
dodal/devices/robot.py,sha256=5WQ9kF5m8xhHhipBycsycDV0-_2IBNBkcwuSWP-9-1I,4337
|
|
55
|
-
dodal/devices/s4_slit_gaps.py,sha256=j3kgF9WfGFaU9xdUuiAh-QqI5u_vhiAftaDVINt91SM,243
|
|
56
|
-
dodal/devices/scatterguard.py,sha256=0qnvhoo3RjLsrxVgIoDJpryqunlgMVgaTsoyKRC2g4Y,331
|
|
57
|
-
dodal/devices/scintillator.py,sha256=4Dej1a6HRom9GRwTDsaTKGfvloP20POUqIeHqsI8-R8,184
|
|
58
|
-
dodal/devices/slits.py,sha256=URru9VN2N19KqeUPDZaBmyKYn0_JJiE0Vko4sZpfsl8,601
|
|
59
|
-
dodal/devices/smargon.py,sha256=Ds8QFqK3ljbTxalqkQ6clpArj4u4hu9d4vrt97Fzdf4,4693
|
|
60
|
-
dodal/devices/status.py,sha256=TuUGidZ4Ar-WCRc_sX0wn58DmL6brj1pMr8rNF5Z6VU,1198
|
|
61
|
-
dodal/devices/synchrotron.py,sha256=QtTufJA_fCaBawHougSc7nxwu240oX46_y0P-4qIW8o,1960
|
|
62
|
-
dodal/devices/tetramm.py,sha256=XriN-zBFVnHxhnTbphSPIZcxEbdWBTbw2g_ulUBl4bw,8538
|
|
63
|
-
dodal/devices/thawer.py,sha256=hIdZOzCNloY7CtSvdE2gk4vCMMoOtaIA4dPH_k0OwFg,1527
|
|
64
|
-
dodal/devices/turbo_slit.py,sha256=W3ZRIqDhq4iMhr5GcIiWvl2U1GaPtGanqkL7upQOZTY,1132
|
|
65
|
-
dodal/devices/undulator.py,sha256=kn84MQpuBHtQj7H7HeBoAYKXu5buGKvTgs3tf2gdEdw,2074
|
|
66
|
-
dodal/devices/undulator_dcm.py,sha256=TC9fO55r1YIG_88PPbGGtzfjcRJcaoC2ny51JiDOEX4,5199
|
|
67
|
-
dodal/devices/webcam.py,sha256=dvNWJ6hHQR7BUsMRC9TH4XiCCofVhlgZ8HYfVCvd2og,1367
|
|
68
|
-
dodal/devices/xbpm_feedback.py,sha256=8QHYKHo9ksZo30olbFM-tHpCHcJRFozgHKVJijv3Gck,1986
|
|
69
|
-
dodal/devices/zebra.py,sha256=9Zkq5I3-gcP6qfDBnPEAtFU4QJ-VJyp7cHvB79ZfLHk,9186
|
|
70
|
-
dodal/devices/zebra_controlled_shutter.py,sha256=MqX4KE6w0FliZRDBltswcLCNSsp6vQrD_iBY640IljI,1094
|
|
71
|
-
dodal/devices/areadetector/__init__.py,sha256=8IwLxuZMW0MOJpJp_ZDdlaE20hrtsH_PXWGaKgMiYs4,240
|
|
72
|
-
dodal/devices/areadetector/adaravis.py,sha256=pwbmmnakarjhD59XoyAIXJdakS-nqDG09Xmwq17AVw4,3787
|
|
73
|
-
dodal/devices/areadetector/adsim.py,sha256=3U7kS93RM3Xeh-XWKjeuw5jXbIGWAbrs59LfxtvB7OU,1907
|
|
74
|
-
dodal/devices/areadetector/adutils.py,sha256=JIx1_sYlehpLtEXcwOEuzVoMplsLdKVW7OWv5eiJqgE,2576
|
|
75
|
-
dodal/devices/areadetector/plugins/MJPG.py,sha256=2ISGUg9JxJYzEH640WUIsvFwKolSTywkTyPy9wz6f_k,4064
|
|
76
|
-
dodal/devices/detector/__init__.py,sha256=XEwjopgTtBq93RRuFthVVVI9DT1jUvpOJzWOHantJpU,104
|
|
77
|
-
dodal/devices/detector/det_dim_constants.py,sha256=MZ4w2nsTKzj4eN7yGsSs1pqKWIuU4vc6UzcSll02uWg,2305
|
|
78
|
-
dodal/devices/detector/det_dist_to_beam_converter.py,sha256=f6JFp-eEB2v8NzZg27UrN0VDP5CMjRnaPU6BTA7_n_s,1937
|
|
79
|
-
dodal/devices/detector/det_resolution.py,sha256=aQkKp24LpRGiwzPAQM3wLVa4ANw32HdrKc2kftHfKQA,3253
|
|
80
|
-
dodal/devices/detector/detector.py,sha256=7IYhndhT9CYCft0MrN1mAnopHqKYbaCRPRGLic76srw,4740
|
|
81
|
-
dodal/devices/detector/detector_motion.py,sha256=REREva2kyPcIzOZmahN9rT0jDSuUbV0qUDl4IcBnutA,1221
|
|
82
|
-
dodal/devices/i03/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
-
dodal/devices/i04/transfocator.py,sha256=uieByXIj0JRbmvMB_om5NOAEbEJkzfkCD24bl2aEo1g,3154
|
|
84
|
-
dodal/devices/i20_1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
-
dodal/devices/i22/dcm.py,sha256=Kzyd_qFg8KVhRsgfTQVOpghESE8yIOgACKa0Fv9NaZI,6270
|
|
86
|
-
dodal/devices/i22/fswitch.py,sha256=AdYtnkCBuhivyJGZqelg_7sjB2pHN7vl1JTtlO4vHo4,3061
|
|
87
|
-
dodal/devices/i22/nxsas.py,sha256=ky7v9UZ1UQFsm5hI0wD9OXG-fTKFLj2wJjB7wADxKpw,5655
|
|
88
|
-
dodal/devices/i24/I24_detector_motion.py,sha256=Joqr1orgeNvRS7n01bjaO-4Yu4obb8fnKaWHQfjPX14,365
|
|
89
|
-
dodal/devices/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
|
-
dodal/devices/i24/aperture.py,sha256=kKfHli5oKp-j-qZhZoXTRK81SAUNyhpI6VRvtw0SkZA,850
|
|
91
|
-
dodal/devices/i24/beamstop.py,sha256=28hQowTvgN5Zw38tkDh32h2ceyN-2GE8bAaGPvDOt5U,1234
|
|
92
|
-
dodal/devices/i24/dcm.py,sha256=Hx5pQ-SHEQ_bLCOnpQYDm6-t-it7nNDmUvopGyiGA2w,1991
|
|
93
|
-
dodal/devices/i24/dual_backlight.py,sha256=Th-RKr28aFxE8LCT_mdN9KkRIVw0BHLGKkI0ienfRZU,2049
|
|
94
|
-
dodal/devices/i24/i24_vgonio.py,sha256=Igqs7687z6lyhGVeJEDtDmPachYxU48MUH2BF0RpK9Q,461
|
|
95
|
-
dodal/devices/i24/pmac.py,sha256=pN54myYvzqPl7iW0Vsp59J1EiV_gtn0xQGwbsKJpiYE,3876
|
|
96
|
-
dodal/devices/oav/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
|
-
dodal/devices/oav/grid_overlay.py,sha256=FRtjcFd420XY8MEQ9sWedL0i4pK-KUJOSxh2C5zM3PA,5232
|
|
98
|
-
dodal/devices/oav/microns_for_zoom_levels.json,sha256=5PA71RzldFTp0eTUGPmov0MjxHe583mzvfor5f3thXI,1208
|
|
99
|
-
dodal/devices/oav/oav_calculations.py,sha256=wt71vFcyQrr98FvX8oyUM2n5vmKi3K7PyOTuWp0gq5w,1665
|
|
100
|
-
dodal/devices/oav/oav_detector.py,sha256=PlRIuMYSk46o6Aywel9tMZYh1WzMaBhfn3_GWqCas7w,3681
|
|
101
|
-
dodal/devices/oav/oav_errors.py,sha256=cc4mGnaTiAc5WIlOt_BIYOc7CRSkrCdnBaavfAJ0pXY,754
|
|
102
|
-
dodal/devices/oav/oav_parameters.py,sha256=4XybkhKeG7IEjPRfx0PVM9KNenuyN0rAGWBZG7H3zvQ,7941
|
|
103
|
-
dodal/devices/oav/utils.py,sha256=BkTk0aTqqhIHCZInhcUAYjCRPxumPOlTg9m21skncTc,3018
|
|
104
|
-
dodal/devices/oav/pin_image_recognition/__init__.py,sha256=Eve6oY9EYGOSw1x-N--xjgyIEzbZE7TTwGR-Q2NZprQ,6441
|
|
105
|
-
dodal/devices/oav/pin_image_recognition/manual_test.py,sha256=h1Rto6ZDCB3jWhjSy9N8ECxRN583iYDJr9LxrTJ8kfE,903
|
|
106
|
-
dodal/devices/oav/pin_image_recognition/utils.py,sha256=-7-Zs-331UVTq_AZrfdF-zwZdmMn7eitTkBSqnBrxnk,8620
|
|
107
|
-
dodal/devices/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
|
-
dodal/devices/util/adjuster_plans.py,sha256=2AYaywQP_LbA2KJ6Op3cok8GoRtj696utrSSDfaJtBY,875
|
|
109
|
-
dodal/devices/util/epics_util.py,sha256=4AOGqYjF0ITzs4c7PTZZnHge81Zheg4gZbFonVW7Lko,4728
|
|
110
|
-
dodal/devices/util/lookup_tables.py,sha256=Up-0BlARt79TIEM76SkDyn9LtTFLxPUcaEPZv6D6bws,2141
|
|
111
|
-
dodal/devices/util/motor_utils.py,sha256=pNY-aUk9LxaIWeDr5rpMS6udiB9j19wcCXkNDLp1uA0,257
|
|
112
|
-
dodal/devices/xspress3/xspress3.py,sha256=29elzI3JtceryKeMWXhcP9nWl0tlSdnTZhltCitet6A,4668
|
|
113
|
-
dodal/devices/xspress3/xspress3_channel.py,sha256=yJRwseLmtkW2Vv6GB8sLdOFuBn3e4c9Q8fgPacMgl5w,1638
|
|
114
|
-
dodal/devices/zocalo/__init__.py,sha256=oPhjFB39yf2NWkGD-MMcPFnnOVZ_RtdyBt2OLYn-Xa4,505
|
|
115
|
-
dodal/devices/zocalo/zocalo_interaction.py,sha256=B6TBTDwUlluksLTwC4TiEEgfFzWLOmwgG8xM5Xd4Wik,3132
|
|
116
|
-
dodal/devices/zocalo/zocalo_results.py,sha256=U4Vk4OF-eL8w0BR-fbw3k4jyRo6G3Ywaf8NMAkjr4Hs,9658
|
|
117
|
-
dodal/parameters/experiment_parameter_base.py,sha256=O7JamfuJ5cYHkPf9tsHJPqn-OMHTAGouigvM1cDFehE,313
|
|
118
|
-
dodal/plans/check_topup.py,sha256=Pj6Eu8fa6nvoW4awrMxvzE_ftpLfYz8bN0QDLRw0Yuk,2989
|
|
119
|
-
dodal/plans/data_session_metadata.py,sha256=QNx9rb1EfGBHb21eFekIi7KjNhC0PL-SVKBCggDuNeg,1650
|
|
120
|
-
dls_dodal-1.29.4.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
121
|
-
dls_dodal-1.29.4.dist-info/METADATA,sha256=biJK1f1BESw8LgPh4Rl0GrxC9cMJ2WCYxP5NqGPBzak,16950
|
|
122
|
-
dls_dodal-1.29.4.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
|
|
123
|
-
dls_dodal-1.29.4.dist-info/entry_points.txt,sha256=wpzz9FsTiYxI8OBwLKX9V9ResLwThBSmtRMcPwII0FA,46
|
|
124
|
-
dls_dodal-1.29.4.dist-info/top_level.txt,sha256=xIozdmZk_wmMV4wugpq9-6eZs0vgADNUKz3j2UAwlhc,6
|
|
125
|
-
dls_dodal-1.29.4.dist-info/RECORD,,
|
dodal/devices/qbpm1.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|