mxcubecore 1.367.0__py3-none-any.whl → 1.369.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.
- mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline.py +51 -0
- mxcubecore/HardwareObjects/MAXIV/beamline.py +28 -0
- {mxcubecore-1.367.0.dist-info → mxcubecore-1.369.0.dist-info}/METADATA +1 -1
- {mxcubecore-1.367.0.dist-info → mxcubecore-1.369.0.dist-info}/RECORD +7 -5
- {mxcubecore-1.367.0.dist-info → mxcubecore-1.369.0.dist-info}/COPYING +0 -0
- {mxcubecore-1.367.0.dist-info → mxcubecore-1.369.0.dist-info}/COPYING.LESSER +0 -0
- {mxcubecore-1.367.0.dist-info → mxcubecore-1.369.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""Custom MicroMAX Beamline object.
|
|
2
|
+
|
|
3
|
+
Adds support for `sample_delivery` configurable, which
|
|
4
|
+
specifies the sample delivery mode for MXCuBE.
|
|
5
|
+
|
|
6
|
+
Following sample delivery modes are supported:
|
|
7
|
+
|
|
8
|
+
* osc - Oscillation sample delivery
|
|
9
|
+
* hve - HVE (injector) sample delivery
|
|
10
|
+
|
|
11
|
+
Example of `sample_delivery` configuration::
|
|
12
|
+
|
|
13
|
+
configuration:
|
|
14
|
+
sample_delivery: osc
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from enum import Enum
|
|
18
|
+
|
|
19
|
+
import mxcubecore.HardwareObjects.MAXIV.beamline
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class SampleDelivery(Enum):
|
|
23
|
+
osc = "osc"
|
|
24
|
+
hve = "hve"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Beamline(mxcubecore.HardwareObjects.MAXIV.beamline.Beamline):
|
|
28
|
+
def __init__(self, name):
|
|
29
|
+
super().__init__(name)
|
|
30
|
+
|
|
31
|
+
# 'cached' Sample Delivery mode config
|
|
32
|
+
self._sample_delivery = None
|
|
33
|
+
|
|
34
|
+
#
|
|
35
|
+
# 'sample_delivery' config
|
|
36
|
+
#
|
|
37
|
+
|
|
38
|
+
def _load_sample_delivery(self):
|
|
39
|
+
val = self.get_property("sample_delivery", SampleDelivery.osc.value)
|
|
40
|
+
self._sample_delivery = SampleDelivery(val)
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def sample_delivery(self) -> SampleDelivery:
|
|
44
|
+
if self._sample_delivery is None:
|
|
45
|
+
self._load_sample_delivery()
|
|
46
|
+
|
|
47
|
+
return self._sample_delivery
|
|
48
|
+
|
|
49
|
+
def is_hve_sample_delivery(self) -> bool:
|
|
50
|
+
"""True when HVE sample delivery mode is configured."""
|
|
51
|
+
return self.sample_delivery == SampleDelivery.hve
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""Custom MAXIV Beamline object.
|
|
2
|
+
|
|
3
|
+
Adds support for ``emulate`` configurable, which allows to specify
|
|
4
|
+
features to be emulated at the beamline.
|
|
5
|
+
|
|
6
|
+
Emulation of following features are supported:
|
|
7
|
+
|
|
8
|
+
* safety_shutter - emulate safety shutter opening
|
|
9
|
+
* detector_cover - emulate detector cover opening
|
|
10
|
+
* detector_motion - emulate detector distance moves
|
|
11
|
+
|
|
12
|
+
Example of ``emulate`` configuration::
|
|
13
|
+
|
|
14
|
+
configuration:
|
|
15
|
+
emulate:
|
|
16
|
+
safety_shutter: true
|
|
17
|
+
detector_cover: true
|
|
18
|
+
detector_motion: true
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
import mxcubecore.HardwareObjects.Beamline
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Beamline(mxcubecore.HardwareObjects.Beamline.Beamline):
|
|
25
|
+
def emulate(self, feature: str) -> bool:
|
|
26
|
+
"""Check if some feature should be emulated."""
|
|
27
|
+
emulate = self.get_property("emulate", {})
|
|
28
|
+
return emulate.get(feature, False)
|
|
@@ -226,8 +226,10 @@ mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py,sha256=kgTSnOLoumPtOUazJ
|
|
|
226
226
|
mxcubecore/HardwareObjects/MAXIV/MachInfo.py,sha256=Wkj5JHP_8tOgRGNXiKPfImTsX-O67_CrWH3wP14AsSI,2983
|
|
227
227
|
mxcubecore/HardwareObjects/MAXIV/MaxIVSession.py,sha256=DR9jnTSX_i2Ljs2iBIBeyZkcf7P284fJd_mUtU4bPi0,7732
|
|
228
228
|
mxcubecore/HardwareObjects/MAXIV/MicroMAX/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
|
+
mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline.py,sha256=QfNp5ecE4l54cU2U8Km7sK4lgenSnZeBmkxTyRCiaLE,1272
|
|
229
230
|
mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline_actions.py,sha256=mQUoWJD8NU8N_dyGLGTAD4MJ9sD6B6CYw5EuDZQFhkQ,2085
|
|
230
231
|
mxcubecore/HardwareObjects/MAXIV/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
232
|
+
mxcubecore/HardwareObjects/MAXIV/beamline.py,sha256=Np98l0aThwHZvgHbkvkWXz7RIIkWzY_ArDmddoyfIus,803
|
|
231
233
|
mxcubecore/HardwareObjects/MD2Motor.py,sha256=N5d6iOgqw5k9e27lTKUOrpSbEMeNdTgWhNUgYzR0w5k,5639
|
|
232
234
|
mxcubecore/HardwareObjects/MD3UP.py,sha256=zC-TmPruj2HRO6cMGDBDS9s8bXor19jhvb_oux1Ihh8,14528
|
|
233
235
|
mxcubecore/HardwareObjects/MachCurrent.py,sha256=4pxVm7PaSylwPs7Ak0Fgo36NW2ipYCrPbp83KKl78z8,3502
|
|
@@ -467,8 +469,8 @@ mxcubecore/utils/conversion.py,sha256=G1bk2Mi2ZwGbZa5pEeiFaKWxhSVXVGqu1L9_SioyUO
|
|
|
467
469
|
mxcubecore/utils/qt_import.py,sha256=0lPmqok_oYQZ059kJCq7RWdg490T8YKyRvoZGyWDy4M,14486
|
|
468
470
|
mxcubecore/utils/tango.py,sha256=lAl7Su_GgyXFEEKZ1yu_2gU18wXHVaBbGR8RYcIOVYk,2100
|
|
469
471
|
mxcubecore/utils/units.py,sha256=Gh7ovTUN00XBMUoyDG5W7akCx1pROL-M6pK2z1ouemg,1361
|
|
470
|
-
mxcubecore-1.
|
|
471
|
-
mxcubecore-1.
|
|
472
|
-
mxcubecore-1.
|
|
473
|
-
mxcubecore-1.
|
|
474
|
-
mxcubecore-1.
|
|
472
|
+
mxcubecore-1.369.0.dist-info/COPYING,sha256=u-Mc8zCecwyo4YoP8UulmzCiZZ_MmCLROd_NBtOcRj0,35148
|
|
473
|
+
mxcubecore-1.369.0.dist-info/COPYING.LESSER,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
474
|
+
mxcubecore-1.369.0.dist-info/METADATA,sha256=sMFHKKWFlwS9iDQSXlGkpl_H23KFHlvrIZo2u0jDlmo,4259
|
|
475
|
+
mxcubecore-1.369.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
476
|
+
mxcubecore-1.369.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|