ophyd-async 0.10.0a2__py3-none-any.whl → 0.10.0a4__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.
- ophyd_async/_version.py +2 -2
- ophyd_async/core/__init__.py +4 -2
- ophyd_async/core/_derived_signal.py +42 -14
- ophyd_async/core/_derived_signal_backend.py +4 -4
- ophyd_async/core/_detector.py +71 -57
- ophyd_async/core/_device.py +3 -3
- ophyd_async/core/_hdf_dataset.py +1 -5
- ophyd_async/core/_providers.py +0 -8
- ophyd_async/core/_readable.py +13 -1
- ophyd_async/core/_signal.py +21 -5
- ophyd_async/core/_signal_backend.py +18 -8
- ophyd_async/core/_utils.py +31 -14
- ophyd_async/epics/adandor/_andor_controller.py +1 -1
- ophyd_async/epics/adaravis/_aravis_controller.py +2 -2
- ophyd_async/epics/adcore/_core_detector.py +2 -2
- ophyd_async/epics/adcore/_core_io.py +3 -3
- ophyd_async/epics/adcore/_core_logic.py +3 -3
- ophyd_async/epics/adcore/_core_writer.py +22 -29
- ophyd_async/epics/adcore/_hdf_writer.py +17 -15
- ophyd_async/epics/adcore/_jpeg_writer.py +1 -3
- ophyd_async/epics/adcore/_tiff_writer.py +1 -3
- ophyd_async/epics/adcore/_utils.py +11 -2
- ophyd_async/epics/adkinetix/_kinetix_controller.py +1 -1
- ophyd_async/epics/adpilatus/_pilatus.py +1 -1
- ophyd_async/epics/adpilatus/_pilatus_controller.py +6 -13
- ophyd_async/epics/adpilatus/_pilatus_io.py +1 -1
- ophyd_async/epics/advimba/_vimba_controller.py +1 -1
- ophyd_async/epics/core/_aioca.py +2 -2
- ophyd_async/epics/core/_p4p.py +1 -1
- ophyd_async/epics/core/_pvi_connector.py +5 -3
- ophyd_async/epics/core/_util.py +21 -13
- ophyd_async/epics/eiger/__init__.py +2 -4
- ophyd_async/epics/eiger/_odin_io.py +58 -36
- ophyd_async/epics/motor.py +3 -2
- ophyd_async/epics/testing/_example_ioc.py +1 -0
- ophyd_async/epics/testing/test_records.db +5 -0
- ophyd_async/fastcs/eiger/__init__.py +13 -0
- ophyd_async/{epics → fastcs}/eiger/_eiger.py +15 -6
- ophyd_async/{epics → fastcs}/eiger/_eiger_controller.py +17 -27
- ophyd_async/fastcs/eiger/_eiger_io.py +54 -0
- ophyd_async/fastcs/panda/_block.py +2 -0
- ophyd_async/fastcs/panda/_hdf_panda.py +0 -1
- ophyd_async/fastcs/panda/_writer.py +23 -22
- ophyd_async/plan_stubs/_fly.py +2 -2
- ophyd_async/sim/_blob_detector.py +0 -1
- ophyd_async/sim/_blob_detector_controller.py +1 -1
- ophyd_async/sim/_blob_detector_writer.py +15 -19
- ophyd_async/sim/_motor.py +2 -2
- ophyd_async/sim/_pattern_generator.py +2 -0
- ophyd_async/tango/core/_base_device.py +2 -1
- ophyd_async/tango/core/_converters.py +2 -6
- ophyd_async/tango/core/_signal.py +8 -8
- ophyd_async/tango/core/_tango_transport.py +12 -12
- ophyd_async/tango/demo/_tango/_servers.py +0 -1
- ophyd_async/tango/testing/_one_of_everything.py +2 -2
- {ophyd_async-0.10.0a2.dist-info → ophyd_async-0.10.0a4.dist-info}/METADATA +1 -1
- {ophyd_async-0.10.0a2.dist-info → ophyd_async-0.10.0a4.dist-info}/RECORD +60 -59
- {ophyd_async-0.10.0a2.dist-info → ophyd_async-0.10.0a4.dist-info}/WHEEL +1 -1
- ophyd_async/epics/eiger/_eiger_io.py +0 -42
- {ophyd_async-0.10.0a2.dist-info → ophyd_async-0.10.0a4.dist-info}/licenses/LICENSE +0 -0
- {ophyd_async-0.10.0a2.dist-info → ophyd_async-0.10.0a4.dist-info}/top_level.txt +0 -0
|
@@ -30,7 +30,7 @@ class BlobDetectorController(DetectorController):
|
|
|
30
30
|
coro = self.pattern_generator.write_images_to_file(
|
|
31
31
|
exposure=livetime,
|
|
32
32
|
period=livetime + self.trigger_info.deadtime,
|
|
33
|
-
number_of_frames=self.trigger_info.
|
|
33
|
+
number_of_frames=self.trigger_info.total_number_of_exposures,
|
|
34
34
|
)
|
|
35
35
|
self.task = asyncio.create_task(coro)
|
|
36
36
|
|
|
@@ -9,7 +9,6 @@ from ophyd_async.core import (
|
|
|
9
9
|
DetectorWriter,
|
|
10
10
|
HDFDatasetDescription,
|
|
11
11
|
HDFDocumentComposer,
|
|
12
|
-
NameProvider,
|
|
13
12
|
PathProvider,
|
|
14
13
|
)
|
|
15
14
|
|
|
@@ -24,69 +23,66 @@ class BlobDetectorWriter(DetectorWriter):
|
|
|
24
23
|
self,
|
|
25
24
|
pattern_generator: PatternGenerator,
|
|
26
25
|
path_provider: PathProvider,
|
|
27
|
-
name_provider: NameProvider,
|
|
28
26
|
) -> None:
|
|
29
27
|
self.pattern_generator = pattern_generator
|
|
30
28
|
self.path_provider = path_provider
|
|
31
|
-
self.name_provider = name_provider
|
|
32
29
|
self.path: Path | None = None
|
|
33
30
|
self.composer: HDFDocumentComposer | None = None
|
|
34
31
|
self.datasets: list[HDFDatasetDescription] = []
|
|
35
32
|
|
|
36
|
-
async def open(self,
|
|
37
|
-
name = self.name_provider()
|
|
33
|
+
async def open(self, name: str, exposures_per_event: int = 1) -> dict[str, DataKey]:
|
|
38
34
|
path_info = self.path_provider(name)
|
|
39
35
|
self.path = path_info.directory_path / f"{path_info.filename}.h5"
|
|
40
36
|
self.pattern_generator.open_file(self.path, WIDTH, HEIGHT)
|
|
37
|
+
self.exposures_per_event = exposures_per_event
|
|
41
38
|
# We know it will write data and sum, so emit those
|
|
42
39
|
self.datasets = [
|
|
43
40
|
HDFDatasetDescription(
|
|
44
41
|
data_key=name,
|
|
45
42
|
dataset=DATA_PATH,
|
|
46
|
-
shape=(HEIGHT, WIDTH),
|
|
43
|
+
shape=(exposures_per_event, HEIGHT, WIDTH),
|
|
47
44
|
dtype_numpy=np.dtype(np.uint8).str,
|
|
48
|
-
chunk_shape=(
|
|
49
|
-
multiplier=multiplier,
|
|
45
|
+
chunk_shape=(1024,),
|
|
50
46
|
),
|
|
51
47
|
HDFDatasetDescription(
|
|
52
48
|
data_key=f"{name}-sum",
|
|
53
49
|
dataset=SUM_PATH,
|
|
54
|
-
shape=(),
|
|
50
|
+
shape=(exposures_per_event,) if exposures_per_event > 1 else (),
|
|
55
51
|
dtype_numpy=np.dtype(np.int64).str,
|
|
56
|
-
multiplier=multiplier,
|
|
57
52
|
chunk_shape=(1024,),
|
|
58
53
|
),
|
|
59
54
|
]
|
|
60
55
|
self.composer = None
|
|
61
|
-
outer_shape = (multiplier,) if multiplier > 1 else ()
|
|
62
56
|
describe = {
|
|
63
57
|
ds.data_key: DataKey(
|
|
64
58
|
source="sim://pattern-generator-hdf-file",
|
|
65
|
-
shape=list(
|
|
66
|
-
dtype="array"
|
|
59
|
+
shape=list(ds.shape),
|
|
60
|
+
dtype="array"
|
|
61
|
+
if exposures_per_event > 1 or len(ds.shape) > 1
|
|
62
|
+
else "number",
|
|
63
|
+
dtype_numpy=ds.dtype_numpy,
|
|
67
64
|
external="STREAM:",
|
|
68
65
|
)
|
|
69
66
|
for ds in self.datasets
|
|
70
67
|
}
|
|
71
68
|
return describe
|
|
72
69
|
|
|
73
|
-
|
|
74
|
-
def hints(self) -> Hints:
|
|
70
|
+
def get_hints(self, name: str) -> Hints:
|
|
75
71
|
"""The hints to be used for the detector."""
|
|
76
|
-
return {"fields": [
|
|
72
|
+
return {"fields": [name]}
|
|
77
73
|
|
|
78
74
|
async def get_indices_written(self) -> int:
|
|
79
|
-
return self.pattern_generator.get_last_index()
|
|
75
|
+
return self.pattern_generator.get_last_index() // self.exposures_per_event
|
|
80
76
|
|
|
81
77
|
async def observe_indices_written(
|
|
82
78
|
self, timeout: float
|
|
83
79
|
) -> AsyncGenerator[int, None]:
|
|
84
80
|
while True:
|
|
85
|
-
yield self.pattern_generator.get_last_index()
|
|
81
|
+
yield self.pattern_generator.get_last_index() // self.exposures_per_event
|
|
86
82
|
await self.pattern_generator.wait_for_next_index(timeout)
|
|
87
83
|
|
|
88
84
|
async def collect_stream_docs(
|
|
89
|
-
self, indices_written: int
|
|
85
|
+
self, name: str, indices_written: int
|
|
90
86
|
) -> AsyncIterator[StreamAsset]:
|
|
91
87
|
# When we have written something to the file
|
|
92
88
|
if indices_written:
|
ophyd_async/sim/_motor.py
CHANGED
|
@@ -3,7 +3,7 @@ import contextlib
|
|
|
3
3
|
import time
|
|
4
4
|
|
|
5
5
|
import numpy as np
|
|
6
|
-
from bluesky.protocols import Location, Reading, Stoppable, Subscribable
|
|
6
|
+
from bluesky.protocols import Locatable, Location, Reading, Stoppable, Subscribable
|
|
7
7
|
from pydantic import BaseModel, ConfigDict, Field
|
|
8
8
|
|
|
9
9
|
from ophyd_async.core import (
|
|
@@ -50,7 +50,7 @@ class FlySimMotorInfo(BaseModel):
|
|
|
50
50
|
return self.cv_end + acceleration_time * self.velocity / 2
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
class SimMotor(StandardReadable, Stoppable, Subscribable[float]):
|
|
53
|
+
class SimMotor(StandardReadable, Stoppable, Subscribable[float], Locatable[float]):
|
|
54
54
|
"""For usage when simulating a motor."""
|
|
55
55
|
|
|
56
56
|
def __init__(self, name="", instant=True) -> None:
|
|
@@ -45,12 +45,14 @@ class PatternFile:
|
|
|
45
45
|
shape=(0, height, width),
|
|
46
46
|
dtype=np.uint8,
|
|
47
47
|
maxshape=(None, height, width),
|
|
48
|
+
chunks=(1024, height, width),
|
|
48
49
|
)
|
|
49
50
|
self.sum = self.file.create_dataset(
|
|
50
51
|
name=SUM_PATH,
|
|
51
52
|
shape=(0,),
|
|
52
53
|
dtype=np.int64,
|
|
53
54
|
maxshape=(None,),
|
|
55
|
+
chunks=(1024,),
|
|
54
56
|
)
|
|
55
57
|
# Once datasets written, can switch the model to single writer multiple reader
|
|
56
58
|
self.file.swmr_mode = True
|
|
@@ -3,10 +3,11 @@ from __future__ import annotations
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from typing import Any, Generic, TypeVar
|
|
5
5
|
|
|
6
|
-
from ophyd_async.core import Device, DeviceConnector, DeviceFiller, LazyMock
|
|
7
6
|
from tango import DeviceProxy
|
|
8
7
|
from tango.asyncio import DeviceProxy as AsyncDeviceProxy
|
|
9
8
|
|
|
9
|
+
from ophyd_async.core import Device, DeviceConnector, DeviceFiller, LazyMock
|
|
10
|
+
|
|
10
11
|
from ._signal import TangoSignalBackend, infer_python_type, infer_signal_type
|
|
11
12
|
from ._utils import get_full_attr_trl
|
|
12
13
|
|
|
@@ -2,13 +2,9 @@ from typing import Any, Generic
|
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
from numpy.typing import NDArray
|
|
5
|
+
from tango import DevState
|
|
5
6
|
|
|
6
|
-
from ophyd_async.core import
|
|
7
|
-
SignalDatatypeT,
|
|
8
|
-
)
|
|
9
|
-
from tango import (
|
|
10
|
-
DevState,
|
|
11
|
-
)
|
|
7
|
+
from ophyd_async.core import SignalDatatypeT
|
|
12
8
|
|
|
13
9
|
from ._utils import DevStateEnum
|
|
14
10
|
|
|
@@ -6,6 +6,14 @@ import logging
|
|
|
6
6
|
from enum import Enum, IntEnum
|
|
7
7
|
|
|
8
8
|
import numpy.typing as npt
|
|
9
|
+
from tango import (
|
|
10
|
+
AttrDataFormat,
|
|
11
|
+
AttrWriteType,
|
|
12
|
+
CmdArgType,
|
|
13
|
+
DeviceProxy,
|
|
14
|
+
DevState,
|
|
15
|
+
)
|
|
16
|
+
from tango.asyncio import DeviceProxy as AsyncDeviceProxy
|
|
9
17
|
|
|
10
18
|
from ophyd_async.core import (
|
|
11
19
|
DEFAULT_TIMEOUT,
|
|
@@ -16,14 +24,6 @@ from ophyd_async.core import (
|
|
|
16
24
|
SignalW,
|
|
17
25
|
SignalX,
|
|
18
26
|
)
|
|
19
|
-
from tango import (
|
|
20
|
-
AttrDataFormat,
|
|
21
|
-
AttrWriteType,
|
|
22
|
-
CmdArgType,
|
|
23
|
-
DeviceProxy,
|
|
24
|
-
DevState,
|
|
25
|
-
)
|
|
26
|
-
from tango.asyncio import DeviceProxy as AsyncDeviceProxy
|
|
27
27
|
|
|
28
28
|
from ._tango_transport import TangoSignalBackend, get_python_type
|
|
29
29
|
from ._utils import get_device_trl_and_attr
|
|
@@ -10,18 +10,6 @@ from typing import Any, ParamSpec, TypeVar, cast
|
|
|
10
10
|
import numpy as np
|
|
11
11
|
from bluesky.protocols import Reading
|
|
12
12
|
from event_model import DataKey
|
|
13
|
-
|
|
14
|
-
from ophyd_async.core import (
|
|
15
|
-
AsyncStatus,
|
|
16
|
-
Callback,
|
|
17
|
-
NotConnected,
|
|
18
|
-
SignalBackend,
|
|
19
|
-
SignalDatatypeT,
|
|
20
|
-
StrictEnum,
|
|
21
|
-
get_dtype,
|
|
22
|
-
get_unique,
|
|
23
|
-
wait_for_connection,
|
|
24
|
-
)
|
|
25
13
|
from tango import (
|
|
26
14
|
AttrDataFormat,
|
|
27
15
|
AttributeInfoEx,
|
|
@@ -40,6 +28,18 @@ from tango.asyncio_executor import (
|
|
|
40
28
|
)
|
|
41
29
|
from tango.utils import is_array, is_binary, is_bool, is_float, is_int, is_str
|
|
42
30
|
|
|
31
|
+
from ophyd_async.core import (
|
|
32
|
+
AsyncStatus,
|
|
33
|
+
Callback,
|
|
34
|
+
NotConnected,
|
|
35
|
+
SignalBackend,
|
|
36
|
+
SignalDatatypeT,
|
|
37
|
+
StrictEnum,
|
|
38
|
+
get_dtype,
|
|
39
|
+
get_unique,
|
|
40
|
+
wait_for_connection,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
43
|
from ._converters import (
|
|
44
44
|
TangoConverter,
|
|
45
45
|
TangoDevStateArrayConverter,
|
|
@@ -3,6 +3,8 @@ from dataclasses import dataclass
|
|
|
3
3
|
from typing import Any, Generic, TypeVar
|
|
4
4
|
|
|
5
5
|
import numpy as np
|
|
6
|
+
from tango import AttrDataFormat, AttrWriteType, DevState
|
|
7
|
+
from tango.server import Device, attribute, command
|
|
6
8
|
|
|
7
9
|
from ophyd_async.core import (
|
|
8
10
|
Array1D,
|
|
@@ -10,8 +12,6 @@ from ophyd_async.core import (
|
|
|
10
12
|
StrictEnum,
|
|
11
13
|
)
|
|
12
14
|
from ophyd_async.testing import float_array_value, int_array_value
|
|
13
|
-
from tango import AttrDataFormat, AttrWriteType, DevState
|
|
14
|
-
from tango.server import Device, attribute, command
|
|
15
15
|
|
|
16
16
|
T = TypeVar("T")
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ophyd-async
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.0a4
|
|
4
4
|
Summary: Asynchronous Bluesky hardware abstraction code, compatible with control systems like EPICS and Tango
|
|
5
5
|
Author-email: Tom Cobb <tom.cobb@diamond.ac.uk>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -1,74 +1,74 @@
|
|
|
1
1
|
ophyd_async/__init__.py,sha256=dcAA3qsj1nNIMe5l-v2tlduZ_ypwBmyuHe45Lsq4k4w,206
|
|
2
2
|
ophyd_async/__main__.py,sha256=n_U4O9bgm97OuboUB_9eK7eFiwy8BZSgXJ0OzbE0DqU,481
|
|
3
3
|
ophyd_async/_docs_parser.py,sha256=gPYrigfSbYCF7QoSf2UvE-cpQu4snSssl7ZWN-kKDzI,352
|
|
4
|
-
ophyd_async/_version.py,sha256=
|
|
4
|
+
ophyd_async/_version.py,sha256=nAYruEsg-pmbrsaMZ5jXkxpaKnALiE0J3VPjge9G13A,521
|
|
5
5
|
ophyd_async/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
ophyd_async/core/__init__.py,sha256=
|
|
7
|
-
ophyd_async/core/_derived_signal.py,sha256=
|
|
8
|
-
ophyd_async/core/_derived_signal_backend.py,sha256=
|
|
9
|
-
ophyd_async/core/_detector.py,sha256=
|
|
10
|
-
ophyd_async/core/_device.py,sha256=
|
|
6
|
+
ophyd_async/core/__init__.py,sha256=mSoldXL3hou1UifwsUcos2Q3Vy_pAaNJJWdMc0VInyg,4516
|
|
7
|
+
ophyd_async/core/_derived_signal.py,sha256=sSb-nRkcZzjyo2eG_z4Rawadkt0QPZTEWtcV3a_TTBM,11439
|
|
8
|
+
ophyd_async/core/_derived_signal_backend.py,sha256=pci61vJkGnsMYxB54AZHyOr4rJECRpigNFtUZTM0P20,12211
|
|
9
|
+
ophyd_async/core/_detector.py,sha256=PbWpv7lyBvYEJV-prG9qU0DadmxhyzMhQ9oLC0N7vwQ,15193
|
|
10
|
+
ophyd_async/core/_device.py,sha256=QSOgjXkvBpPWE1VhQ21tIC8d9z4Oadr6C_1tk4J21W4,14617
|
|
11
11
|
ophyd_async/core/_device_filler.py,sha256=MDz8eQQ-eEAwo-UEMxfqPfpcBuMG01tLCGR6utwVnmE,14825
|
|
12
12
|
ophyd_async/core/_flyer.py,sha256=YPCGAokF0GofOOO2OLrsSLoZSXs_RzmmrNglBunA31o,1924
|
|
13
|
-
ophyd_async/core/_hdf_dataset.py,sha256=
|
|
13
|
+
ophyd_async/core/_hdf_dataset.py,sha256=jOYcrJUvZy9VarHCxs-eOIYME5u1yGOZK9CqccCEA6E,2868
|
|
14
14
|
ophyd_async/core/_log.py,sha256=DxKR4Nz3SgTaTzKBZWqt-w48yT8WUAr_3Qr223TEWRw,3587
|
|
15
15
|
ophyd_async/core/_mock_signal_backend.py,sha256=SPdCbVWss6-iL9C3t9u0IvR_Ln9JeDypVd18WlivdjE,3156
|
|
16
16
|
ophyd_async/core/_protocol.py,sha256=wQ_snxhTprHqEjQb1HgFwBljwolMY6A8C3xgV1PXwdU,4051
|
|
17
|
-
ophyd_async/core/_providers.py,sha256=
|
|
18
|
-
ophyd_async/core/_readable.py,sha256=
|
|
17
|
+
ophyd_async/core/_providers.py,sha256=0R--Slh_E16l4AQoNtessQZpOwIn7uBowvcnzh8jYgk,7538
|
|
18
|
+
ophyd_async/core/_readable.py,sha256=iBo1YwA5bsAbzLbznvmSnzKDWUuGkLh850Br3BXsgeU,11707
|
|
19
19
|
ophyd_async/core/_settings.py,sha256=_ZccbXKP7j5rG6-bMKk7aaLr8hChdRDAPY_YSR71XXM,4213
|
|
20
|
-
ophyd_async/core/_signal.py,sha256=
|
|
21
|
-
ophyd_async/core/_signal_backend.py,sha256=
|
|
20
|
+
ophyd_async/core/_signal.py,sha256=isPya2iextwRcWAV1SOf7CUwyL0PJloAUVH8rp1G2tE,27134
|
|
21
|
+
ophyd_async/core/_signal_backend.py,sha256=9MIzT3ArlL7BJlmWQxr4Moxc4LGQhmTclfCQfIlq4Ps,6923
|
|
22
22
|
ophyd_async/core/_soft_signal_backend.py,sha256=zrE7H2ojHY6oQBucLkFgukszrkdvbIZuavLjEUqc_xM,6227
|
|
23
23
|
ophyd_async/core/_status.py,sha256=h4TtWFM7wFtpxxyAYYSITgcVzArYZdYBHbya6qIX5t0,6553
|
|
24
24
|
ophyd_async/core/_table.py,sha256=l5GzL3La68ZkXpcOOVntnYr8ofFV8kWGr1hzY1ek83w,6897
|
|
25
|
-
ophyd_async/core/_utils.py,sha256=
|
|
25
|
+
ophyd_async/core/_utils.py,sha256=742wGL3cJD4wlDlNlS-KAbaTN5FkYDY7RXU7m6wpYaw,11737
|
|
26
26
|
ophyd_async/core/_yaml_settings.py,sha256=txy4_Igbsr8Yo132yv8jnCcsLpal8klM7DcPNow2KBs,2078
|
|
27
27
|
ophyd_async/epics/__init__.py,sha256=ou4yEaH9VZHz70e8oM614-arLMQvUfQyXhRJsnEpWn8,60
|
|
28
|
-
ophyd_async/epics/motor.py,sha256=
|
|
28
|
+
ophyd_async/epics/motor.py,sha256=OgfETz_7wCLmG4WCYDpaYyUB4TomDFyCyZzwyhW1Tiw,10549
|
|
29
29
|
ophyd_async/epics/signal.py,sha256=0A-supp9ajr63O6aD7F9oG0-Q26YmRjk-ZGh57-jo1Y,239
|
|
30
30
|
ophyd_async/epics/adandor/__init__.py,sha256=qsBoZdljSaqM-kJSvTf0uq5TNwXAih9lP3yOZpKxOFQ,204
|
|
31
31
|
ophyd_async/epics/adandor/_andor.py,sha256=SxAIP9OLefUqKcxrxhjNzil5D8-59Ps0vADdR6scO44,1281
|
|
32
|
-
ophyd_async/epics/adandor/_andor_controller.py,sha256=
|
|
32
|
+
ophyd_async/epics/adandor/_andor_controller.py,sha256=QojcPUIKpGL6RHuoqy5OCqLpBwzMsm81ciQDWp1cSCo,1758
|
|
33
33
|
ophyd_async/epics/adandor/_andor_io.py,sha256=L1HmugU6sHK3F_pT0LaN3U1hKlDkzmSwdqr6-LHieTg,1036
|
|
34
34
|
ophyd_async/epics/adaravis/__init__.py,sha256=ZQaJVQiwcQn9hUZADrYgBE1sDfFEwjhVBJRPth1_LBo,395
|
|
35
35
|
ophyd_async/epics/adaravis/_aravis.py,sha256=Ju2wuebz9_ovl-Kza39s5VQ1pV-Omt_BaIWKqP4kcGA,1315
|
|
36
|
-
ophyd_async/epics/adaravis/_aravis_controller.py,sha256=
|
|
36
|
+
ophyd_async/epics/adaravis/_aravis_controller.py,sha256=WiFR7_FAAu6_88zG-yzGLsR9YcO4L6xR73Wnjw9n0i4,1908
|
|
37
37
|
ophyd_async/epics/adaravis/_aravis_io.py,sha256=af5RxeXF2ligvAXwMNMKHA4QHTR_WmNFz-f18qD2dbg,855
|
|
38
38
|
ophyd_async/epics/adcore/__init__.py,sha256=GipuBZwaAju4g15WjvGs78S4zjGVxmbPel4E29zHFvE,1583
|
|
39
|
-
ophyd_async/epics/adcore/_core_detector.py,sha256=
|
|
40
|
-
ophyd_async/epics/adcore/_core_io.py,sha256
|
|
41
|
-
ophyd_async/epics/adcore/_core_logic.py,sha256=
|
|
42
|
-
ophyd_async/epics/adcore/_core_writer.py,sha256=
|
|
43
|
-
ophyd_async/epics/adcore/_hdf_writer.py,sha256=
|
|
44
|
-
ophyd_async/epics/adcore/_jpeg_writer.py,sha256=
|
|
39
|
+
ophyd_async/epics/adcore/_core_detector.py,sha256=mRDaHgXCTZF-MIVsU1csoQx9jObutYDpMWayugx2-jI,2631
|
|
40
|
+
ophyd_async/epics/adcore/_core_io.py,sha256=jm4gQUSq727xnPriuH6jFHqlDBZceKxr_XyBNj5F65U,7392
|
|
41
|
+
ophyd_async/epics/adcore/_core_logic.py,sha256=CjzrfC5HiwoLI1igqRKIn2SSH86T_QmAFi1-kEdyGyM,8075
|
|
42
|
+
ophyd_async/epics/adcore/_core_writer.py,sha256=S58plRmbNzig-r7gubKjDVDni_nf4CASaV1OJvudbHw,8019
|
|
43
|
+
ophyd_async/epics/adcore/_hdf_writer.py,sha256=ns7T9tb54ReGnyYs0fITg3Cb_0DSz4EDKlKtjBkmG3k,5572
|
|
44
|
+
ophyd_async/epics/adcore/_jpeg_writer.py,sha256=7XC4Twx_MaCBjeol27UA-hStOCQEjkEAb3ToVMPUlZ8,670
|
|
45
45
|
ophyd_async/epics/adcore/_single_trigger.py,sha256=tFGLT1b_rZzAvbqWP-hyCccxJMRY26T5IER-VAqKXmc,1275
|
|
46
|
-
ophyd_async/epics/adcore/_tiff_writer.py,sha256=
|
|
47
|
-
ophyd_async/epics/adcore/_utils.py,sha256=
|
|
46
|
+
ophyd_async/epics/adcore/_tiff_writer.py,sha256=Na30osfkgrq4VQhUzDcuS52Gy7FS08CzbgEmKwljTmk,671
|
|
47
|
+
ophyd_async/epics/adcore/_utils.py,sha256=jMmZnyDwRDBq-N_x8qOWjW2RMN9uw2KuoAmukPbb404,4252
|
|
48
48
|
ophyd_async/epics/adkinetix/__init__.py,sha256=A9xq3lGMrmza9lfukRixC0Up_kUDVFII8JguLr2x7Bw,308
|
|
49
49
|
ophyd_async/epics/adkinetix/_kinetix.py,sha256=zZv0JZ8i1RSx7KBDn_1HGNOY0BoIP81mRK5TKq7d4eA,1302
|
|
50
|
-
ophyd_async/epics/adkinetix/_kinetix_controller.py,sha256=
|
|
50
|
+
ophyd_async/epics/adkinetix/_kinetix_controller.py,sha256=UI-XcQpGj7jq-_e1ceoMOZkyfejwG6H5wX-Ntp_NJjg,1481
|
|
51
51
|
ophyd_async/epics/adkinetix/_kinetix_io.py,sha256=5u4TknhcoCSjyp16HQIEp_aOmvfNAKOBoGlMRJoVxuw,770
|
|
52
52
|
ophyd_async/epics/adpilatus/__init__.py,sha256=So7PrLHij7LWOqMbsHUhfqRzKp9iKtrojuWTDS1lID8,406
|
|
53
|
-
ophyd_async/epics/adpilatus/_pilatus.py,sha256=
|
|
54
|
-
ophyd_async/epics/adpilatus/_pilatus_controller.py,sha256=
|
|
55
|
-
ophyd_async/epics/adpilatus/_pilatus_io.py,sha256=
|
|
53
|
+
ophyd_async/epics/adpilatus/_pilatus.py,sha256=CaViuom2oKxYWRU4Y_GltHA-LxqguoTW9k67b76Q5SY,1538
|
|
54
|
+
ophyd_async/epics/adpilatus/_pilatus_controller.py,sha256=21NVM_xwS5De1R6Vi_4GKpbTfdxByMzmZNwU3qBV1-A,2515
|
|
55
|
+
ophyd_async/epics/adpilatus/_pilatus_io.py,sha256=EhCj--x4yYy5AtRBG6Ts3A6gsKS6Ut-LaMihAuYDvE0,819
|
|
56
56
|
ophyd_async/epics/adsimdetector/__init__.py,sha256=EQqxP5DUvZGLxpvSXPagTPy3ROwE-PikyRfcnZfD1KM,281
|
|
57
57
|
ophyd_async/epics/adsimdetector/_sim.py,sha256=r3SuBENGkOU-8X-i3zDyZljFxf0SmsUfryNPFvP1_os,1147
|
|
58
58
|
ophyd_async/epics/adsimdetector/_sim_controller.py,sha256=EmoorPTvRomEwfioA9UcrnhYaUBkvtLI2WY3zBLd4ec,476
|
|
59
59
|
ophyd_async/epics/adsimdetector/_sim_io.py,sha256=TOQcawMtb0ypwUlPcbwGfvp5ZI9jceB9OXm53WBF1_o,233
|
|
60
60
|
ophyd_async/epics/advimba/__init__.py,sha256=Onoe4N1DgjUZ0-00krm2-iJPXnNF8nPGs6I8pY9wB1g,429
|
|
61
61
|
ophyd_async/epics/advimba/_vimba.py,sha256=4XlEnsJMGDzHLuYaIDUmaxx0gtOAehn5BKBZMUAzoHQ,1241
|
|
62
|
-
ophyd_async/epics/advimba/_vimba_controller.py,sha256=
|
|
62
|
+
ophyd_async/epics/advimba/_vimba_controller.py,sha256=v0av2bGnaJ01w9Igksupt2IlkuBEFlAeRCPOVma-Xa4,1980
|
|
63
63
|
ophyd_async/epics/advimba/_vimba_io.py,sha256=cb2Nfp05fBZAcNVXpz-rqRIRS-TiZW5DPUJOmaFyAw0,1589
|
|
64
64
|
ophyd_async/epics/core/__init__.py,sha256=8NoQxEEc2Ny_L9nrD2fnGSf_2gJr1wCR1LwUeLNcIJo,588
|
|
65
|
-
ophyd_async/epics/core/_aioca.py,sha256=
|
|
65
|
+
ophyd_async/epics/core/_aioca.py,sha256=py5dM5hbT2OXah_Lzt_fAZ9RdaHhv8pdUtkOF8iOYO4,13015
|
|
66
66
|
ophyd_async/epics/core/_epics_connector.py,sha256=S4z_wbj-aogVcjqCyUgjhcq5Y4gDC7y6wXbsSz2nODY,1918
|
|
67
67
|
ophyd_async/epics/core/_epics_device.py,sha256=wGdR24I7GSPh3HmM7jsWKZhBZgt4IyLrCn4Ut7Wx_xo,510
|
|
68
|
-
ophyd_async/epics/core/_p4p.py,sha256=
|
|
69
|
-
ophyd_async/epics/core/_pvi_connector.py,sha256=
|
|
68
|
+
ophyd_async/epics/core/_p4p.py,sha256=uWh3oWPme74G4YfeJ6k8ZlHdKOwcf8Xp1J82b9aa_JI,16407
|
|
69
|
+
ophyd_async/epics/core/_pvi_connector.py,sha256=nAReSiasZA3j_0f8XhuWVO4_ck0MrusnKR9Jg-RT-ok,5584
|
|
70
70
|
ophyd_async/epics/core/_signal.py,sha256=2Cp5f5Xb2junnVigypjb3hWu4MuMmbrcHOBgPl5Mhv4,5776
|
|
71
|
-
ophyd_async/epics/core/_util.py,sha256=
|
|
71
|
+
ophyd_async/epics/core/_util.py,sha256=G2kYfwsQ5iS3EgGrGuPA8bgC_PEN_XxO28oBurIqJFQ,2522
|
|
72
72
|
ophyd_async/epics/demo/__init__.py,sha256=WR2M3D8dbHcisJW2OIU2ManZu5SWez8ytZEp4jSBfDY,416
|
|
73
73
|
ophyd_async/epics/demo/__main__.py,sha256=o6M0FSWduPHe2lN9yNEdsXb48NckSd54-XJGoLe20Pc,1116
|
|
74
74
|
ophyd_async/epics/demo/_ioc.py,sha256=UtwTReKTR-1_tPIhdGBr7OxP_Vqi6xWyCcFABd9BYPY,1040
|
|
@@ -79,29 +79,30 @@ ophyd_async/epics/demo/_stage.py,sha256=KPnwr5EX8f_0xxkNWT-70a0AqB0D9DoiTbxMmy0i
|
|
|
79
79
|
ophyd_async/epics/demo/motor.db,sha256=3xb6WTXo4crrvk-M8Y16G9pUidp27vD5vIKKBpLTUlk,1017
|
|
80
80
|
ophyd_async/epics/demo/point_detector.db,sha256=8kBa3XKpmfXCxetT4tq5_RFXa_XqS1Z2ZNzsa2AtLds,1366
|
|
81
81
|
ophyd_async/epics/demo/point_detector_channel.db,sha256=FZ9H6HjqplhcF2jgimv_dT1nn-CBlfjs7Y--iCfHp5Y,632
|
|
82
|
-
ophyd_async/epics/eiger/__init__.py,sha256=
|
|
83
|
-
ophyd_async/epics/eiger/
|
|
84
|
-
ophyd_async/epics/eiger/_eiger_controller.py,sha256=p_SdYPfSSQvQ3QXZIr7TLOSpPjC-Ce0C7azVOLfZnwY,2544
|
|
85
|
-
ophyd_async/epics/eiger/_eiger_io.py,sha256=AorI8ybAMYQqJZG8QoE3wioPode7fwzRWptNzD5Ynfo,1873
|
|
86
|
-
ophyd_async/epics/eiger/_odin_io.py,sha256=_KdvMEk-c2jrWYflx2a0k5RLDGal-6SVtlGqG10iQA8,4123
|
|
82
|
+
ophyd_async/epics/eiger/__init__.py,sha256=7kRqVzwoD8PVtp7Nj9iQWlgbLeoWE_8oiq-B0kixwTE,93
|
|
83
|
+
ophyd_async/epics/eiger/_odin_io.py,sha256=4JHHeQ2R6ukq_JROGFeWVpez1UZqKpmWP1jaDCA71gQ,5567
|
|
87
84
|
ophyd_async/epics/testing/__init__.py,sha256=aTIv4D2DYrpnGco5RQF8QuLG1SfFkIlTyM2uYEKXltA,522
|
|
88
|
-
ophyd_async/epics/testing/_example_ioc.py,sha256=
|
|
85
|
+
ophyd_async/epics/testing/_example_ioc.py,sha256=uUmfMXV_Pd2SMFyb0y_4uTc6gkGRUqU1cJ-XQC2ROW8,3915
|
|
89
86
|
ophyd_async/epics/testing/_utils.py,sha256=6sqJ0BCwubSkK-WOJbmpKNqZKG0AmCoevzaMGaRmuJs,1702
|
|
90
|
-
ophyd_async/epics/testing/test_records.db,sha256=
|
|
87
|
+
ophyd_async/epics/testing/test_records.db,sha256=SgWQPZgtmc__JiLkH2VPwe5KZOua6ZCIgTLGT_5SDDc,3589
|
|
91
88
|
ophyd_async/epics/testing/test_records_pva.db,sha256=HJAJSvLtPWG5B5dKv8OZ0_hPJxRFrDoYp6ROcF2lqyA,4202
|
|
92
89
|
ophyd_async/fastcs/__init__.py,sha256=qlIM9-pjJ8yWfnzTM9-T9cw7zQLKjeeNROQTni5Dr6M,80
|
|
93
90
|
ophyd_async/fastcs/core.py,sha256=pL_srtTrfuoBHUjDFpxES92owFq9M4Jve0Skk1oeuFA,517
|
|
91
|
+
ophyd_async/fastcs/eiger/__init__.py,sha256=kwYs1PuetEOTeNcFNxtyhTvfbJvWCOu8wtEw3Knotuw,354
|
|
92
|
+
ophyd_async/fastcs/eiger/_eiger.py,sha256=5mpao2j2Xc11OuecvimPTmZ9mkEndzgMlDj1x-K-5hg,1241
|
|
93
|
+
ophyd_async/fastcs/eiger/_eiger_controller.py,sha256=Cucj-1M-1CaxSJxHZmHs3f_OXwtTIspcqUFhRNGzn_E,2361
|
|
94
|
+
ophyd_async/fastcs/eiger/_eiger_io.py,sha256=KS1ppYt6PJvPpHiR2AaDaPAhkhYwC2ei8VuZnBBiBs8,1216
|
|
94
95
|
ophyd_async/fastcs/odin/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
|
|
95
96
|
ophyd_async/fastcs/panda/__init__.py,sha256=ugrScVm4HPQFc-d1kTAfZ5UUzW9T3SPgTi0OD2s8ZH0,1003
|
|
96
|
-
ophyd_async/fastcs/panda/_block.py,sha256=
|
|
97
|
+
ophyd_async/fastcs/panda/_block.py,sha256=SM7NaWCRwLz2Pl4wgjZMrDgx3ZLdGPTw6nU0bA-65yA,2394
|
|
97
98
|
ophyd_async/fastcs/panda/_control.py,sha256=xtW3dH_MLQoycgP-4vJtYx1M9alHjWo13iu9UFTgwzY,1306
|
|
98
|
-
ophyd_async/fastcs/panda/_hdf_panda.py,sha256=
|
|
99
|
+
ophyd_async/fastcs/panda/_hdf_panda.py,sha256=tL_OWHxlMQcMZGq9sxHLSeag6hP9MRIbTPn1W0u0iNI,1237
|
|
99
100
|
ophyd_async/fastcs/panda/_table.py,sha256=maKGoKypEuYqTSVWGgDO6GMEKOtlDm9Dn5YiYdBzu6c,2486
|
|
100
101
|
ophyd_async/fastcs/panda/_trigger.py,sha256=dy4kYdVIU4T90a2bhD7cdnfGrqMxZ_n0AZxkFI5txfA,3388
|
|
101
|
-
ophyd_async/fastcs/panda/_writer.py,sha256=
|
|
102
|
+
ophyd_async/fastcs/panda/_writer.py,sha256=LcCSdEo_65bAQU_OnO_AMQ0aXSjIaWUFdUY9EM2eOI4,6381
|
|
102
103
|
ophyd_async/plan_stubs/__init__.py,sha256=2ngpkB4wwqlx1dn9JPSHjQdbyWLmY6n-3XVh3RDE8-g,939
|
|
103
104
|
ophyd_async/plan_stubs/_ensure_connected.py,sha256=YR6VRj7koccJ4x35NV-Ugl4ZbxgAoGN9PjVIjhv0gpw,894
|
|
104
|
-
ophyd_async/plan_stubs/_fly.py,sha256=
|
|
105
|
+
ophyd_async/plan_stubs/_fly.py,sha256=2xFae3b3bCux_1wmwKIF1tJx1vjg2JJfJ8iQ1aUExAs,6234
|
|
105
106
|
ophyd_async/plan_stubs/_nd_attributes.py,sha256=kwzyUSeidUH714gaZQtJLxCgDZtmIRyyoKBBRbvqg38,2350
|
|
106
107
|
ophyd_async/plan_stubs/_panda.py,sha256=5_Mf9kGzNjXpf_YscpCUE8tgq284nOHWCG7o_LNFfII,463
|
|
107
108
|
ophyd_async/plan_stubs/_settings.py,sha256=e3dGVSUV-Htay_9fKXyQTAQLdjunetGI3OBYp_oC_FY,5574
|
|
@@ -109,31 +110,31 @@ ophyd_async/plan_stubs/_utils.py,sha256=zClRo5ve8RGia7wQnby41W-Zprj-slOA5da1LfYn
|
|
|
109
110
|
ophyd_async/plan_stubs/_wait_for_awaitable.py,sha256=PGct_dGezKrLhm0W_GD83dwevSccG_vsmj0WSlMNVWc,364
|
|
110
111
|
ophyd_async/sim/__init__.py,sha256=PzmOQS7suApaZros4h9ec5K6ehFWEjf3qYMvwFGeKsc,749
|
|
111
112
|
ophyd_async/sim/__main__.py,sha256=mx6natJxnvUBTQXbS4R5OGH_MZVgYiXQkoh3JBJ8NxU,1693
|
|
112
|
-
ophyd_async/sim/_blob_detector.py,sha256=
|
|
113
|
-
ophyd_async/sim/_blob_detector_controller.py,sha256=
|
|
114
|
-
ophyd_async/sim/_blob_detector_writer.py,sha256=
|
|
113
|
+
ophyd_async/sim/_blob_detector.py,sha256=bJa-G2JF6pPLJx4YIEvFTG07DvQ18ZNSYbtde6qnWPY,1033
|
|
114
|
+
ophyd_async/sim/_blob_detector_controller.py,sha256=y1aSNQJUPnsT2qnj2sk254Mp18anmgQy7ctHlYQZ_B0,1788
|
|
115
|
+
ophyd_async/sim/_blob_detector_writer.py,sha256=4sC3Kkyk4-sSaN7mSKk4A4zDH4IU_qkc1gaqt4QyTAM,3636
|
|
115
116
|
ophyd_async/sim/_mirror_horizontal.py,sha256=_AfsHxp5V3rYbK-goI0iwPuDDvx1BrNoUQ4smXzqFbc,1452
|
|
116
117
|
ophyd_async/sim/_mirror_vertical.py,sha256=PyWpyCrW_FCzzGN7Dk0tTB-SKbDIV4GD1fl8AXUJbEI,2029
|
|
117
|
-
ophyd_async/sim/_motor.py,sha256
|
|
118
|
-
ophyd_async/sim/_pattern_generator.py,sha256=
|
|
118
|
+
ophyd_async/sim/_motor.py,sha256=jrI83A6kPCkZztHDKcd1XaXq7sc6GD2Ylkn7JxlULp0,10196
|
|
119
|
+
ophyd_async/sim/_pattern_generator.py,sha256=FjPEWiBQh_7tYP_8WPhbVXnTGPPOaV6By7Skz7YNIrY,3722
|
|
119
120
|
ophyd_async/sim/_point_detector.py,sha256=nXgL_1aJZciNBw8Zr2wMYaMbzzAEKXV3yV8FQz2nS_4,2940
|
|
120
121
|
ophyd_async/sim/_stage.py,sha256=qaeyZbUVL1v2pTHJiZxq-y6BKpA1l_DAKyzAQppQx70,772
|
|
121
122
|
ophyd_async/tango/__init__.py,sha256=g9xzjlzPpUAP12YI-kYwfAoLSYPAQdL1S11R2c-cius,60
|
|
122
123
|
ophyd_async/tango/core/__init__.py,sha256=IMvQ7MWcTof99h_pr483KWKvQV2-h7zo_iRpLA2PUYQ,1108
|
|
123
|
-
ophyd_async/tango/core/_base_device.py,sha256=
|
|
124
|
-
ophyd_async/tango/core/_converters.py,sha256=
|
|
125
|
-
ophyd_async/tango/core/_signal.py,sha256=
|
|
124
|
+
ophyd_async/tango/core/_base_device.py,sha256=e9oqSL-fDOj8r9nUUFZkbibhRGbI6HYtlnZjK5B_2fE,5033
|
|
125
|
+
ophyd_async/tango/core/_converters.py,sha256=xI_RhMR8dY6IVORUZVVCL9LdYnEE6TA6BBPX_lTu06w,2183
|
|
126
|
+
ophyd_async/tango/core/_signal.py,sha256=6KXDzV8Z08hrtCqG8J4AYnhemQjtL6Eofngo6yNo52o,5798
|
|
126
127
|
ophyd_async/tango/core/_tango_readable.py,sha256=ctR6YcBGGatW6Jp2kvddA1hVZ2v1CidPsF9FmJK9BYg,406
|
|
127
|
-
ophyd_async/tango/core/_tango_transport.py,sha256=
|
|
128
|
+
ophyd_async/tango/core/_tango_transport.py,sha256=6ngUybtSYqABFKsxZgA-rVms21LDmxIwfQ_VMS7h5qU,31903
|
|
128
129
|
ophyd_async/tango/core/_utils.py,sha256=FrX524jwa-0EQxpcGaKF6yqyHm5BWIFSE82FcIB0aAY,1430
|
|
129
130
|
ophyd_async/tango/demo/__init__.py,sha256=_j-UicTnckuIBp8PnieFMOMnLFGivnaKdmo9o0hYtzc,256
|
|
130
131
|
ophyd_async/tango/demo/_counter.py,sha256=2J4SCHnBWLF0O5mFWlJdO4tmnElvlx5sRrk4op_AC9U,1139
|
|
131
132
|
ophyd_async/tango/demo/_detector.py,sha256=X5YWHAjukKZ7iYF1fBNle4CBDj1X5rvj0lnPMOcnRCU,1340
|
|
132
133
|
ophyd_async/tango/demo/_mover.py,sha256=c-IxrWQN0YX-Iuf720xlKfsPbNfh7bUz_AVnbwYkW08,2984
|
|
133
134
|
ophyd_async/tango/demo/_tango/__init__.py,sha256=FfONT7vM49nNo3a1Lv-LcMZO9EHv6bv91yY-RnxIib4,85
|
|
134
|
-
ophyd_async/tango/demo/_tango/_servers.py,sha256=
|
|
135
|
+
ophyd_async/tango/demo/_tango/_servers.py,sha256=putvERDyibibaTbhdWyqZB_axj2fURXqzDsZb9oSW14,2991
|
|
135
136
|
ophyd_async/tango/testing/__init__.py,sha256=SYXPAS00ny3jlUMOJKpaewO4ljPjK1_z1smj7IfsBQg,148
|
|
136
|
-
ophyd_async/tango/testing/_one_of_everything.py,sha256=
|
|
137
|
+
ophyd_async/tango/testing/_one_of_everything.py,sha256=tsxWgy2f_m9f0FH4XCVO_I8OtEquKbJQZbr4KaXMJL4,6571
|
|
137
138
|
ophyd_async/testing/__init__.py,sha256=f53HUj2hpIfrza9OlcOpHmq5wnziQNwixawAK4F1xgc,1698
|
|
138
139
|
ophyd_async/testing/__pytest_assert_rewrite.py,sha256=_SU2UfChPgEf7CFY7aYH2B7MLp-07_qYnVLyu6QtDL8,129
|
|
139
140
|
ophyd_async/testing/_assert.py,sha256=FrMgMfo-ABq_cMT-hJmoaTxhAY4TwAvGe4ae1SF1rME,7657
|
|
@@ -142,8 +143,8 @@ ophyd_async/testing/_one_of_everything.py,sha256=Di0hPoKwrDOSsx50-2UdSHM2EbIKrPG
|
|
|
142
143
|
ophyd_async/testing/_single_derived.py,sha256=5-HOTzgePcZ354NK_ssVpyIbJoJmKyjVQCxSwQXUC-4,2730
|
|
143
144
|
ophyd_async/testing/_utils.py,sha256=zClRo5ve8RGia7wQnby41W-Zprj-slOA5da1LfYnuhw,45
|
|
144
145
|
ophyd_async/testing/_wait_for_pending.py,sha256=YZAR48n-CW0GsPey3zFRzMJ4byDAr3HvMIoawjmTrHw,732
|
|
145
|
-
ophyd_async-0.10.
|
|
146
|
-
ophyd_async-0.10.
|
|
147
|
-
ophyd_async-0.10.
|
|
148
|
-
ophyd_async-0.10.
|
|
149
|
-
ophyd_async-0.10.
|
|
146
|
+
ophyd_async-0.10.0a4.dist-info/licenses/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
|
|
147
|
+
ophyd_async-0.10.0a4.dist-info/METADATA,sha256=xs88nrJXsGw254wkPyFNyvQiajcqFFARvmS59_szwmo,7075
|
|
148
|
+
ophyd_async-0.10.0a4.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
149
|
+
ophyd_async-0.10.0a4.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
|
|
150
|
+
ophyd_async-0.10.0a4.dist-info/RECORD,,
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
from ophyd_async.core import Device, StrictEnum
|
|
2
|
-
from ophyd_async.epics.core import epics_signal_r, epics_signal_rw_rbv, epics_signal_w
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class EigerTriggerMode(StrictEnum):
|
|
6
|
-
INTERNAL = "ints"
|
|
7
|
-
EDGE = "exts"
|
|
8
|
-
GATE = "exte"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class EigerDriverIO(Device):
|
|
12
|
-
"""Contains signals for handling IO on the Eiger detector."""
|
|
13
|
-
|
|
14
|
-
def __init__(self, prefix: str, name: str = "") -> None:
|
|
15
|
-
self.bit_depth = epics_signal_r(int, f"{prefix}BitDepthReadout")
|
|
16
|
-
self.stale_parameters = epics_signal_r(bool, f"{prefix}StaleParameters")
|
|
17
|
-
self.state = epics_signal_r(str, f"{prefix}DetectorState")
|
|
18
|
-
self.roi_mode = epics_signal_rw_rbv(str, f"{prefix}RoiMode")
|
|
19
|
-
|
|
20
|
-
self.acquire_time = epics_signal_rw_rbv(float, f"{prefix}CountTime")
|
|
21
|
-
self.acquire_period = epics_signal_rw_rbv(float, f"{prefix}FrameTime")
|
|
22
|
-
|
|
23
|
-
self.num_images = epics_signal_rw_rbv(int, f"{prefix}Nimages")
|
|
24
|
-
self.num_triggers = epics_signal_rw_rbv(int, f"{prefix}Ntrigger")
|
|
25
|
-
|
|
26
|
-
# TODO: Should be EigerTriggerMode enum, see https://github.com/DiamondLightSource/eiger-fastcs/issues/43
|
|
27
|
-
self.trigger_mode = epics_signal_rw_rbv(str, f"{prefix}TriggerMode")
|
|
28
|
-
|
|
29
|
-
self.arm = epics_signal_w(int, f"{prefix}Arm")
|
|
30
|
-
self.disarm = epics_signal_w(int, f"{prefix}Disarm")
|
|
31
|
-
self.abort = epics_signal_w(int, f"{prefix}Abort")
|
|
32
|
-
|
|
33
|
-
self.beam_centre_x = epics_signal_rw_rbv(float, f"{prefix}BeamCenterX")
|
|
34
|
-
self.beam_centre_y = epics_signal_rw_rbv(float, f"{prefix}BeamCenterY")
|
|
35
|
-
|
|
36
|
-
self.det_distance = epics_signal_rw_rbv(float, f"{prefix}DetectorDistance")
|
|
37
|
-
self.omega_start = epics_signal_rw_rbv(float, f"{prefix}OmegaStart")
|
|
38
|
-
self.omega_increment = epics_signal_rw_rbv(float, f"{prefix}OmegaIncrement")
|
|
39
|
-
|
|
40
|
-
self.photon_energy = epics_signal_rw_rbv(float, f"{prefix}PhotonEnergy")
|
|
41
|
-
|
|
42
|
-
super().__init__(name)
|
|
File without changes
|
|
File without changes
|