mx-bluesky 1.5.16__py3-none-any.whl → 1.6.3__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.
- mx_bluesky/_version.py +2 -2
- mx_bluesky/beamlines/i02_1/parameters/gridscan.py +1 -1
- mx_bluesky/beamlines/i04/__init__.py +4 -0
- mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +2 -2
- mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +224 -10
- mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +5 -2
- mx_bluesky/beamlines/i04/thawing_plan.py +2 -2
- mx_bluesky/beamlines/i24/jungfrau_commissioning/composites.py +6 -6
- mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +1 -1
- mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/rotation_scan_plan.py +4 -4
- mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py +1 -1
- mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py +1 -1
- mx_bluesky/beamlines/i24/serial/dcid.py +3 -3
- mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py +6 -6
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py +7 -7
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py +3 -3
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +1 -1
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +5 -5
- mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +7 -7
- mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +1 -1
- mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +1 -1
- mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +1 -1
- mx_bluesky/common/experiment_plans/pin_tip_centring_plan.py +2 -2
- mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +1 -1
- mx_bluesky/hyperion/device_setup_plans/utils.py +1 -1
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +2 -2
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +3 -3
- mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +2 -2
- mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -2
- mx_bluesky/hyperion/experiment_plans/udc_default_state.py +19 -6
- mx_bluesky/hyperion/parameters/device_composites.py +1 -1
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/METADATA +2 -2
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/RECORD +37 -37
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/WHEEL +1 -1
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/entry_points.txt +0 -0
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/licenses/LICENSE +0 -0
- {mx_bluesky-1.5.16.dist-info → mx_bluesky-1.6.3.dist-info}/top_level.txt +0 -0
mx_bluesky/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.
|
|
32
|
-
__version_tuple__ = version_tuple = (1,
|
|
31
|
+
__version__ = version = '1.6.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 6, 3)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from dodal.devices.i02_1.fast_grid_scan import ZebraGridScanParamsTwoD
|
|
1
|
+
from dodal.devices.beamlines.i02_1.fast_grid_scan import ZebraGridScanParamsTwoD
|
|
2
2
|
from scanspec.specs import Product
|
|
3
3
|
|
|
4
4
|
from mx_bluesky.common.parameters.components import SplitScan, WithOptionalEnergyChange
|
|
@@ -2,6 +2,8 @@ from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_
|
|
|
2
2
|
i04_default_grid_detect_and_xray_centre,
|
|
3
3
|
)
|
|
4
4
|
from mx_bluesky.beamlines.i04.oav_centering_plans.oav_imaging import (
|
|
5
|
+
find_beam_centres,
|
|
6
|
+
optimise_transmission_with_oav,
|
|
5
7
|
take_oav_image_with_scintillator_in,
|
|
6
8
|
)
|
|
7
9
|
from mx_bluesky.beamlines.i04.thawing_plan import (
|
|
@@ -16,4 +18,6 @@ __all__ = [
|
|
|
16
18
|
"i04_default_grid_detect_and_xray_centre",
|
|
17
19
|
"thaw_and_murko_centre",
|
|
18
20
|
"take_oav_image_with_scintillator_in",
|
|
21
|
+
"optimise_transmission_with_oav",
|
|
22
|
+
"find_beam_centres",
|
|
19
23
|
]
|
|
@@ -9,6 +9,8 @@ from dodal.common import inject
|
|
|
9
9
|
from dodal.devices.aperturescatterguard import ApertureScatterguard, ApertureValue
|
|
10
10
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
11
11
|
from dodal.devices.backlight import Backlight
|
|
12
|
+
from dodal.devices.beamlines.i04.beamsize import Beamsize
|
|
13
|
+
from dodal.devices.beamlines.i04.transfocator import Transfocator
|
|
12
14
|
from dodal.devices.common_dcm import DoubleCrystalMonochromator
|
|
13
15
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
14
16
|
from dodal.devices.eiger import EigerDetector
|
|
@@ -17,8 +19,6 @@ from dodal.devices.fast_grid_scan import (
|
|
|
17
19
|
set_fast_grid_scan_params,
|
|
18
20
|
)
|
|
19
21
|
from dodal.devices.flux import Flux
|
|
20
|
-
from dodal.devices.i04.beamsize import Beamsize
|
|
21
|
-
from dodal.devices.i04.transfocator import Transfocator
|
|
22
22
|
from dodal.devices.mx_phase1.beamstop import Beamstop
|
|
23
23
|
from dodal.devices.oav.oav_detector import OAV
|
|
24
24
|
from dodal.devices.oav.pin_image_recognition import PinTipDetection
|
|
@@ -6,8 +6,10 @@ from bluesky.utils import MsgGenerator
|
|
|
6
6
|
from dodal.common import inject
|
|
7
7
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
8
8
|
from dodal.devices.backlight import Backlight
|
|
9
|
+
from dodal.devices.beamlines.i04.beam_centre import CentreEllipseMethod
|
|
10
|
+
from dodal.devices.beamlines.i04.max_pixel import MaxPixel
|
|
9
11
|
from dodal.devices.mx_phase1.beamstop import Beamstop, BeamstopPositions
|
|
10
|
-
from dodal.devices.oav.oav_detector import OAV
|
|
12
|
+
from dodal.devices.oav.oav_detector import OAV, ZoomControllerWithBeamCentres
|
|
11
13
|
from dodal.devices.robot import BartRobot, PinMounted
|
|
12
14
|
from dodal.devices.scintillator import InOut, Scintillator
|
|
13
15
|
from dodal.devices.xbpm_feedback import XBPMFeedback
|
|
@@ -19,8 +21,9 @@ from dodal.devices.zebra.zebra_controlled_shutter import (
|
|
|
19
21
|
from ophyd_async.core import InOut as core_INOUT
|
|
20
22
|
|
|
21
23
|
from mx_bluesky.common.utils.exceptions import BeamlineStateError
|
|
24
|
+
from mx_bluesky.common.utils.log import LOGGER
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT = "Wait for scint to move in"
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
def take_oav_image_with_scintillator_in(
|
|
@@ -48,21 +51,36 @@ def take_oav_image_with_scintillator_in(
|
|
|
48
51
|
defaults are always correct.
|
|
49
52
|
"""
|
|
50
53
|
|
|
54
|
+
LOGGER.info("Preparing beamline to take scintillator images...")
|
|
51
55
|
yield from _prepare_beamline_for_scintillator_images(
|
|
52
|
-
robot,
|
|
56
|
+
robot,
|
|
57
|
+
beamstop,
|
|
58
|
+
backlight,
|
|
59
|
+
scintillator,
|
|
60
|
+
xbpm_feedback,
|
|
61
|
+
shutter,
|
|
62
|
+
OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT,
|
|
63
|
+
)
|
|
64
|
+
yield from bps.abs_set(
|
|
65
|
+
attenuator, transmission, group=OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT
|
|
53
66
|
)
|
|
54
|
-
|
|
55
|
-
yield from bps.abs_set(attenuator, transmission, group=initial_wait_group)
|
|
56
67
|
|
|
57
68
|
if image_name is None:
|
|
58
69
|
image_name = f"{time.time_ns()}ATT{transmission * 100}"
|
|
70
|
+
LOGGER.info(f"Using image name {image_name}")
|
|
71
|
+
LOGGER.info("Waiting for prepare beamline plan to complete...")
|
|
72
|
+
yield from bps.wait(OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT)
|
|
59
73
|
|
|
60
|
-
|
|
74
|
+
LOGGER.info("Opening shutter...")
|
|
61
75
|
|
|
62
76
|
yield from bps.abs_set(shutter.control_mode, ZebraShutterControl.MANUAL, wait=True)
|
|
63
77
|
yield from bps.abs_set(shutter, ZebraShutterState.OPEN, wait=True)
|
|
64
78
|
|
|
65
|
-
|
|
79
|
+
LOGGER.info("Taking image...")
|
|
80
|
+
|
|
81
|
+
yield from take_and_save_oav_image(
|
|
82
|
+
file_path=image_path, file_name=image_name, oav=oav
|
|
83
|
+
)
|
|
66
84
|
|
|
67
85
|
|
|
68
86
|
def _prepare_beamline_for_scintillator_images(
|
|
@@ -71,11 +89,13 @@ def _prepare_beamline_for_scintillator_images(
|
|
|
71
89
|
backlight: Backlight,
|
|
72
90
|
scintillator: Scintillator,
|
|
73
91
|
xbpm_feedback: XBPMFeedback,
|
|
92
|
+
shutter: ZebraShutter,
|
|
74
93
|
group: str,
|
|
75
94
|
) -> MsgGenerator:
|
|
76
95
|
"""
|
|
77
|
-
Prepares the beamline for oav image by making sure the pin is
|
|
78
|
-
the beam is on (feedback check). Finally, the scintillator is moved in
|
|
96
|
+
Prepares the beamline for oav image by making sure the pin is not mounted and
|
|
97
|
+
the beam is on (feedback check). Finally, the scintillator is moved in and the
|
|
98
|
+
shutter opened.
|
|
79
99
|
"""
|
|
80
100
|
pin_mounted = yield from bps.rd(robot.gonio_pin_sensor)
|
|
81
101
|
if pin_mounted == PinMounted.PIN_MOUNTED:
|
|
@@ -90,6 +110,9 @@ def _prepare_beamline_for_scintillator_images(
|
|
|
90
110
|
yield from bps.abs_set(backlight, core_INOUT.OUT, group=group)
|
|
91
111
|
|
|
92
112
|
yield from bps.abs_set(scintillator.selected_pos, InOut.IN, group=group)
|
|
113
|
+
# Not waiting for control mode to be set before opening shutter can result in timeout error
|
|
114
|
+
yield from bps.abs_set(shutter.control_mode, ZebraShutterControl.MANUAL, wait=True)
|
|
115
|
+
yield from bps.abs_set(shutter, ZebraShutterState.OPEN, group=group)
|
|
93
116
|
|
|
94
117
|
|
|
95
118
|
def take_and_save_oav_image(
|
|
@@ -109,7 +132,198 @@ def take_and_save_oav_image(
|
|
|
109
132
|
if not os.path.exists(full_file_path):
|
|
110
133
|
yield from bps.abs_set(oav.snapshot.filename, file_name, group=group)
|
|
111
134
|
yield from bps.abs_set(oav.snapshot.directory, file_path, group=group)
|
|
112
|
-
yield from bps.wait(group)
|
|
135
|
+
yield from bps.wait(group, timeout=60)
|
|
113
136
|
yield from bps.trigger(oav.snapshot, wait=True)
|
|
114
137
|
else:
|
|
115
138
|
raise FileExistsError("OAV image file path already exists")
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def _max_pixel_at_transmission(
|
|
142
|
+
max_pixel: MaxPixel,
|
|
143
|
+
attenuator: BinaryFilterAttenuator,
|
|
144
|
+
xbpm_feedback: XBPMFeedback,
|
|
145
|
+
transmission: float,
|
|
146
|
+
):
|
|
147
|
+
# Potential controls issue on XBPM device means it can mark
|
|
148
|
+
# itself as stable before it really is
|
|
149
|
+
yield from bps.trigger(xbpm_feedback, wait=True)
|
|
150
|
+
yield from bps.mv(attenuator, transmission)
|
|
151
|
+
yield from bps.trigger(max_pixel, wait=True)
|
|
152
|
+
return (yield from bps.rd(max_pixel.max_pixel_val))
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def optimise_transmission_with_oav(
|
|
156
|
+
upper_bound: float = 100,
|
|
157
|
+
lower_bound: float = 0,
|
|
158
|
+
target_brightness_fraction: float = 0.75,
|
|
159
|
+
min_transmission_change: float = 5,
|
|
160
|
+
max_iterations: int = 10,
|
|
161
|
+
max_pixel: MaxPixel = inject("max_pixel"),
|
|
162
|
+
attenuator: BinaryFilterAttenuator = inject("attenuator"),
|
|
163
|
+
xbpm_feedback: XBPMFeedback = inject("xbpm_feedback"),
|
|
164
|
+
) -> MsgGenerator:
|
|
165
|
+
"""
|
|
166
|
+
Plan to find the optimal oav transmission. First the brightest pixel at 100%
|
|
167
|
+
transmission is taken. A fraction of this (target_brightness_fraction) is taken
|
|
168
|
+
as the target - as in the optimal transmission will have it's max pixel as the set
|
|
169
|
+
target. A binary search is used to reach this.
|
|
170
|
+
Args:
|
|
171
|
+
upper_bound: Maximum transmission which will be searched. In percent.
|
|
172
|
+
lower_bound: Minimum transmission which will be searched. In percent.
|
|
173
|
+
target_brightness_fraction: Fraction of the brightest pixel at 100%
|
|
174
|
+
transmission which should be used as the target max pixel brightness.
|
|
175
|
+
min_transmission_change: If the next search point would require a transmission
|
|
176
|
+
change less than this then we stop.
|
|
177
|
+
max_iterations: Maximum amount of iterations.
|
|
178
|
+
"""
|
|
179
|
+
|
|
180
|
+
if upper_bound < lower_bound:
|
|
181
|
+
raise ValueError(
|
|
182
|
+
f"Upper bound ({upper_bound}) must be higher than lower bound {lower_bound}"
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
brightest_pixel_at_full_beam = yield from _max_pixel_at_transmission(
|
|
186
|
+
max_pixel, attenuator, xbpm_feedback, 1
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
if brightest_pixel_at_full_beam == 0:
|
|
190
|
+
raise ValueError("No beam found at full transmission")
|
|
191
|
+
|
|
192
|
+
target_pixel_brightness = brightest_pixel_at_full_beam * target_brightness_fraction
|
|
193
|
+
LOGGER.info(
|
|
194
|
+
f"Optimising until max pixel in image has a value of {target_pixel_brightness}"
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
iterations = 0
|
|
198
|
+
|
|
199
|
+
while iterations < max_iterations:
|
|
200
|
+
mid = round((upper_bound + lower_bound) / 2, 2) # limit to 2 dp
|
|
201
|
+
LOGGER.info(f"On iteration {iterations}")
|
|
202
|
+
|
|
203
|
+
current_transmission = yield from bps.rd(attenuator.actual_transmission)
|
|
204
|
+
transmission_change_percent = abs(mid - current_transmission * 100)
|
|
205
|
+
if transmission_change_percent < min_transmission_change:
|
|
206
|
+
LOGGER.info(
|
|
207
|
+
f"Next transmission change would be small ({transmission_change_percent}%) so stopping at {current_transmission}"
|
|
208
|
+
)
|
|
209
|
+
return
|
|
210
|
+
|
|
211
|
+
brightest_pixel = yield from _max_pixel_at_transmission(
|
|
212
|
+
max_pixel, attenuator, xbpm_feedback, mid / 100
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
LOGGER.info(f"Upper bound is: {upper_bound}, Lower bound is: {lower_bound}")
|
|
216
|
+
LOGGER.info(
|
|
217
|
+
f"Testing transmission {mid}, brightest pixel found {brightest_pixel}"
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
if target_pixel_brightness == brightest_pixel:
|
|
221
|
+
mid = round(mid, 0)
|
|
222
|
+
LOGGER.info(f"\nOptimal transmission found: {mid}")
|
|
223
|
+
return
|
|
224
|
+
|
|
225
|
+
# condition for too low so want to try higher
|
|
226
|
+
elif brightest_pixel < target_pixel_brightness:
|
|
227
|
+
LOGGER.info("Result: Too low \n")
|
|
228
|
+
lower_bound = mid
|
|
229
|
+
|
|
230
|
+
# condition for too high so want to try lower
|
|
231
|
+
elif brightest_pixel > target_pixel_brightness:
|
|
232
|
+
LOGGER.info("Result: Too high \n")
|
|
233
|
+
upper_bound = mid
|
|
234
|
+
iterations += 1
|
|
235
|
+
raise StopIteration("Max iterations reached")
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
def _get_all_zoom_levels(
|
|
239
|
+
zoom_controller: ZoomControllerWithBeamCentres,
|
|
240
|
+
) -> MsgGenerator[tuple[str]]:
|
|
241
|
+
zoom_levels = []
|
|
242
|
+
level_signals = [
|
|
243
|
+
centring_device.level_name
|
|
244
|
+
for centring_device in zoom_controller.beam_centres.values()
|
|
245
|
+
]
|
|
246
|
+
for signal in level_signals:
|
|
247
|
+
level_name = yield from bps.rd(signal)
|
|
248
|
+
if level_name:
|
|
249
|
+
zoom_levels.append(level_name)
|
|
250
|
+
return tuple(zoom_levels)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def find_beam_centres(
|
|
254
|
+
zoom_levels_to_centre: tuple[str, ...] | None = None,
|
|
255
|
+
zoom_levels_to_optimise_transmission: tuple[str, ...] = ("1.0x", "7.5x"),
|
|
256
|
+
robot: BartRobot = inject("robot"),
|
|
257
|
+
beamstop: Beamstop = inject("beamstop"),
|
|
258
|
+
backlight: Backlight = inject("backlight"),
|
|
259
|
+
scintillator: Scintillator = inject("scintillator"),
|
|
260
|
+
xbpm_feedback: XBPMFeedback = inject("xbpm_feedback"),
|
|
261
|
+
max_pixel: MaxPixel = inject("max_pixel"),
|
|
262
|
+
centre_ellipse: CentreEllipseMethod = inject("beam_centre"),
|
|
263
|
+
attenuator: BinaryFilterAttenuator = inject("attenuator"),
|
|
264
|
+
zoom_controller: ZoomControllerWithBeamCentres = inject("zoom_controller"),
|
|
265
|
+
shutter: ZebraShutter = inject("sample_shutter"),
|
|
266
|
+
) -> MsgGenerator:
|
|
267
|
+
"""
|
|
268
|
+
Finds beam centres at the zoom levels given by zoom_levels_to_centre, first
|
|
269
|
+
optimising transmission if the zoom level is in zoom_levels_to_optimise_transmission.
|
|
270
|
+
|
|
271
|
+
Note that the previous beam centre values are used to draw an ROI box around the
|
|
272
|
+
OAV image when finding updated beam centre. If the previous values are very wrong,
|
|
273
|
+
this plan may fail or give inaccurate results.
|
|
274
|
+
|
|
275
|
+
zoom_levels_to_centre: The levels to do centring at, by default runs at all known
|
|
276
|
+
zoom levels.
|
|
277
|
+
zoom_levels_to_optimise_transmission: The levels to optimise transmission at,
|
|
278
|
+
defaults to 1x and 7.5x
|
|
279
|
+
"""
|
|
280
|
+
|
|
281
|
+
all_zooms = yield from _get_all_zoom_levels(zoom_controller)
|
|
282
|
+
if zoom_levels_to_centre is None:
|
|
283
|
+
zoom_levels_to_centre = all_zooms
|
|
284
|
+
|
|
285
|
+
for zoom in [*zoom_levels_to_optimise_transmission, *zoom_levels_to_centre]:
|
|
286
|
+
if zoom not in all_zooms:
|
|
287
|
+
raise ValueError(f"Unknown zoom ({zoom}). Known zooms are {all_zooms}")
|
|
288
|
+
|
|
289
|
+
LOGGER.info("Preparing beamline for images...")
|
|
290
|
+
yield from _prepare_beamline_for_scintillator_images(
|
|
291
|
+
robot,
|
|
292
|
+
beamstop,
|
|
293
|
+
backlight,
|
|
294
|
+
scintillator,
|
|
295
|
+
xbpm_feedback,
|
|
296
|
+
shutter,
|
|
297
|
+
OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT,
|
|
298
|
+
)
|
|
299
|
+
LOGGER.info("Waiting for prepare beamline plan to complete...")
|
|
300
|
+
yield from bps.wait(OAV_PREPARE_BEAMLINE_FOR_SCINT_WAIT)
|
|
301
|
+
|
|
302
|
+
for centring_device in zoom_controller.beam_centres.values():
|
|
303
|
+
zoom_name = yield from bps.rd(centring_device.level_name)
|
|
304
|
+
if zoom_name in zoom_levels_to_centre:
|
|
305
|
+
LOGGER.info(f"Moving to zoom level {zoom_name}")
|
|
306
|
+
yield from bps.abs_set(zoom_controller, zoom_name, wait=True)
|
|
307
|
+
if zoom_name in zoom_levels_to_optimise_transmission:
|
|
308
|
+
LOGGER.info(f"Optimising transmission at zoom level {zoom_name}")
|
|
309
|
+
yield from optimise_transmission_with_oav(
|
|
310
|
+
100,
|
|
311
|
+
0,
|
|
312
|
+
max_pixel=max_pixel,
|
|
313
|
+
attenuator=attenuator,
|
|
314
|
+
xbpm_feedback=xbpm_feedback,
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
yield from bps.trigger(centre_ellipse, wait=True)
|
|
318
|
+
centre_x = yield from bps.rd(centre_ellipse.center_x_val)
|
|
319
|
+
centre_y = yield from bps.rd(centre_ellipse.center_y_val)
|
|
320
|
+
centre_x = round(centre_x)
|
|
321
|
+
centre_y = round(centre_y)
|
|
322
|
+
LOGGER.info(
|
|
323
|
+
f"Writing centre values ({centre_x}, {centre_y}) to OAV PVs at zoom level {zoom_name}"
|
|
324
|
+
)
|
|
325
|
+
yield from bps.mv(
|
|
326
|
+
centring_device.x_centre, centre_x, centring_device.y_centre, centre_y
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
LOGGER.info("Find beam centre plan completed!")
|
|
@@ -8,8 +8,11 @@ from typing import TypedDict
|
|
|
8
8
|
|
|
9
9
|
import numpy as np
|
|
10
10
|
import zmq
|
|
11
|
-
from dodal.devices.i04.constants import RedisConstants
|
|
12
|
-
from dodal.devices.i04.murko_results import
|
|
11
|
+
from dodal.devices.beamlines.i04.constants import RedisConstants
|
|
12
|
+
from dodal.devices.beamlines.i04.murko_results import (
|
|
13
|
+
RESULTS_COMPLETE_MESSAGE,
|
|
14
|
+
MurkoResult,
|
|
15
|
+
)
|
|
13
16
|
from numpy.typing import NDArray
|
|
14
17
|
from PIL import Image
|
|
15
18
|
from redis import StrictRedis
|
|
@@ -3,8 +3,8 @@ import bluesky.preprocessors as bpp
|
|
|
3
3
|
from bluesky.preprocessors import contingency_decorator, run_decorator, subs_decorator
|
|
4
4
|
from bluesky.utils import MsgGenerator
|
|
5
5
|
from dodal.common import inject
|
|
6
|
-
from dodal.devices.i04.constants import RedisConstants
|
|
7
|
-
from dodal.devices.i04.murko_results import MurkoResultsDevice
|
|
6
|
+
from dodal.devices.beamlines.i04.constants import RedisConstants
|
|
7
|
+
from dodal.devices.beamlines.i04.murko_results import MurkoResultsDevice
|
|
8
8
|
from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder, Source
|
|
9
9
|
from dodal.devices.robot import BartRobot
|
|
10
10
|
from dodal.devices.smargon import Smargon
|
|
@@ -2,13 +2,13 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import pydantic
|
|
4
4
|
from dodal.devices.attenuator.attenuator import EnumFilterAttenuator
|
|
5
|
+
from dodal.devices.beamlines.i24.aperture import Aperture
|
|
6
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop
|
|
7
|
+
from dodal.devices.beamlines.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
8
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
9
|
+
from dodal.devices.beamlines.i24.dual_backlight import DualBacklight
|
|
10
|
+
from dodal.devices.beamlines.i24.vgonio import VerticalGoniometer
|
|
5
11
|
from dodal.devices.hutch_shutter import HutchShutter
|
|
6
|
-
from dodal.devices.i24.aperture import Aperture
|
|
7
|
-
from dodal.devices.i24.beamstop import Beamstop
|
|
8
|
-
from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
9
|
-
from dodal.devices.i24.dcm import DCM
|
|
10
|
-
from dodal.devices.i24.dual_backlight import DualBacklight
|
|
11
|
-
from dodal.devices.i24.vgonio import VerticalGoniometer
|
|
12
12
|
from dodal.devices.motors import YZStage
|
|
13
13
|
from dodal.devices.synchrotron import Synchrotron
|
|
14
14
|
from dodal.devices.xbpm_feedback import XBPMFeedback
|
|
@@ -2,7 +2,7 @@ import bluesky.preprocessors as bpp
|
|
|
2
2
|
from bluesky import plan_stubs as bps
|
|
3
3
|
from bluesky.utils import MsgGenerator
|
|
4
4
|
from dodal.common import inject
|
|
5
|
-
from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
5
|
+
from dodal.devices.beamlines.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
6
6
|
from ophyd_async.fastcs.jungfrau import (
|
|
7
7
|
AcquisitionType,
|
|
8
8
|
GainMode,
|
|
@@ -4,11 +4,11 @@ import bluesky.plan_stubs as bps
|
|
|
4
4
|
import bluesky.preprocessors as bpp
|
|
5
5
|
from bluesky.preprocessors import run_decorator
|
|
6
6
|
from bluesky.utils import MsgGenerator
|
|
7
|
+
from dodal.devices.beamlines.i24.aperture import AperturePositions
|
|
8
|
+
from dodal.devices.beamlines.i24.beamstop import BeamstopPositions
|
|
9
|
+
from dodal.devices.beamlines.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
10
|
+
from dodal.devices.beamlines.i24.dual_backlight import BacklightPositions
|
|
7
11
|
from dodal.devices.hutch_shutter import ShutterState
|
|
8
|
-
from dodal.devices.i24.aperture import AperturePositions
|
|
9
|
-
from dodal.devices.i24.beamstop import BeamstopPositions
|
|
10
|
-
from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
11
|
-
from dodal.devices.i24.dual_backlight import BacklightPositions
|
|
12
12
|
from dodal.devices.zebra.zebra import ArmDemand, I24Axes, Zebra
|
|
13
13
|
from dodal.devices.zebra.zebra_controlled_shutter import ZebraShutter
|
|
14
14
|
from ophyd_async.fastcs.jungfrau import (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from bluesky.utils import MsgGenerator
|
|
2
2
|
from dodal.common import inject
|
|
3
|
-
from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
3
|
+
from dodal.devices.beamlines.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
4
4
|
from ophyd_async.core import (
|
|
5
5
|
WatchableAsyncStatus,
|
|
6
6
|
)
|
|
@@ -4,7 +4,7 @@ from typing import cast
|
|
|
4
4
|
import bluesky.plan_stubs as bps
|
|
5
5
|
from bluesky.utils import MsgGenerator
|
|
6
6
|
from dodal.common.watcher_utils import log_on_percentage_complete
|
|
7
|
-
from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
7
|
+
from dodal.devices.beamlines.i24.commissioning_jungfrau import CommissioningJungfrau
|
|
8
8
|
from ophyd_async.core import (
|
|
9
9
|
TriggerInfo,
|
|
10
10
|
WatchableAsyncStatus,
|
|
@@ -8,9 +8,9 @@ from functools import lru_cache
|
|
|
8
8
|
import bluesky.plan_stubs as bps
|
|
9
9
|
import requests
|
|
10
10
|
from bluesky.utils import MsgGenerator
|
|
11
|
-
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
12
|
-
from dodal.devices.i24.dcm import DCM
|
|
13
|
-
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
11
|
+
from dodal.devices.beamlines.i24.beam_center import DetectorBeamCenter
|
|
12
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
13
|
+
from dodal.devices.beamlines.i24.focus_mirrors import FocusMirrorsMode
|
|
14
14
|
|
|
15
15
|
from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import PumpProbeSetting
|
|
16
16
|
from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
|
|
@@ -15,13 +15,13 @@ import bluesky.preprocessors as bpp
|
|
|
15
15
|
from bluesky.utils import MsgGenerator
|
|
16
16
|
from dodal.common import inject
|
|
17
17
|
from dodal.devices.attenuator.attenuator import ReadOnlyAttenuator
|
|
18
|
+
from dodal.devices.beamlines.i24.aperture import Aperture
|
|
19
|
+
from dodal.devices.beamlines.i24.beam_center import DetectorBeamCenter
|
|
20
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop
|
|
21
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
22
|
+
from dodal.devices.beamlines.i24.dual_backlight import DualBacklight
|
|
23
|
+
from dodal.devices.beamlines.i24.focus_mirrors import FocusMirrorsMode
|
|
18
24
|
from dodal.devices.hutch_shutter import HutchShutter, ShutterDemand
|
|
19
|
-
from dodal.devices.i24.aperture import Aperture
|
|
20
|
-
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
21
|
-
from dodal.devices.i24.beamstop import Beamstop
|
|
22
|
-
from dodal.devices.i24.dcm import DCM
|
|
23
|
-
from dodal.devices.i24.dual_backlight import DualBacklight
|
|
24
|
-
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
25
25
|
from dodal.devices.motors import YZStage
|
|
26
26
|
from dodal.devices.zebra.zebra import Zebra
|
|
27
27
|
|
|
@@ -11,14 +11,14 @@ import bluesky.preprocessors as bpp
|
|
|
11
11
|
from bluesky.utils import MsgGenerator
|
|
12
12
|
from dodal.common import inject
|
|
13
13
|
from dodal.devices.attenuator.attenuator import ReadOnlyAttenuator
|
|
14
|
+
from dodal.devices.beamlines.i24.aperture import Aperture
|
|
15
|
+
from dodal.devices.beamlines.i24.beam_center import DetectorBeamCenter
|
|
16
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop
|
|
17
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
18
|
+
from dodal.devices.beamlines.i24.dual_backlight import DualBacklight
|
|
19
|
+
from dodal.devices.beamlines.i24.focus_mirrors import FocusMirrorsMode
|
|
20
|
+
from dodal.devices.beamlines.i24.pmac import PMAC
|
|
14
21
|
from dodal.devices.hutch_shutter import HutchShutter, ShutterDemand
|
|
15
|
-
from dodal.devices.i24.aperture import Aperture
|
|
16
|
-
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
17
|
-
from dodal.devices.i24.beamstop import Beamstop
|
|
18
|
-
from dodal.devices.i24.dcm import DCM
|
|
19
|
-
from dodal.devices.i24.dual_backlight import DualBacklight
|
|
20
|
-
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
21
|
-
from dodal.devices.i24.pmac import PMAC
|
|
22
22
|
from dodal.devices.motors import YZStage
|
|
23
23
|
from dodal.devices.zebra.zebra import Zebra
|
|
24
24
|
|
|
@@ -13,9 +13,9 @@ import numpy as np
|
|
|
13
13
|
from bluesky.utils import MsgGenerator
|
|
14
14
|
from dodal.common import inject
|
|
15
15
|
from dodal.devices.attenuator.attenuator import ReadOnlyAttenuator
|
|
16
|
-
from dodal.devices.i24.beamstop import Beamstop, BeamstopPositions
|
|
17
|
-
from dodal.devices.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
18
|
-
from dodal.devices.i24.pmac import CS_STR, PMAC, EncReset, LaserSettings
|
|
16
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop, BeamstopPositions
|
|
17
|
+
from dodal.devices.beamlines.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
18
|
+
from dodal.devices.beamlines.i24.pmac import CS_STR, PMAC, EncReset, LaserSettings
|
|
19
19
|
from dodal.devices.motors import YZStage
|
|
20
20
|
|
|
21
21
|
from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import (
|
|
@@ -9,7 +9,7 @@ import bluesky.plan_stubs as bps
|
|
|
9
9
|
import cv2 as cv
|
|
10
10
|
from bluesky.run_engine import RunEngine
|
|
11
11
|
from dodal.beamlines import i24
|
|
12
|
-
from dodal.devices.i24.pmac import PMAC
|
|
12
|
+
from dodal.devices.beamlines.i24.pmac import PMAC
|
|
13
13
|
from dodal.devices.oav.oav_detector import OAV
|
|
14
14
|
|
|
15
15
|
from mx_bluesky.beamlines.i24.serial.fixed_target import (
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
import bluesky.plan_stubs as bps
|
|
4
|
+
from dodal.devices.beamlines.i24.aperture import Aperture, AperturePositions
|
|
5
|
+
from dodal.devices.beamlines.i24.beam_center import DetectorBeamCenter
|
|
6
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop, BeamstopPositions
|
|
7
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
8
|
+
from dodal.devices.beamlines.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
4
9
|
from dodal.devices.detector.det_dim_constants import DetectorSizeConstants
|
|
5
|
-
from dodal.devices.i24.aperture import Aperture, AperturePositions
|
|
6
|
-
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
7
|
-
from dodal.devices.i24.beamstop import Beamstop, BeamstopPositions
|
|
8
|
-
from dodal.devices.i24.dcm import DCM
|
|
9
|
-
from dodal.devices.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
10
10
|
from dodal.devices.motors import YZStage
|
|
11
11
|
from dodal.devices.util.lookup_tables import (
|
|
12
12
|
linear_interpolation_lut,
|
|
@@ -8,14 +8,14 @@ from bluesky.utils import MsgGenerator
|
|
|
8
8
|
from dodal.beamlines import i24
|
|
9
9
|
from dodal.common import inject
|
|
10
10
|
from dodal.devices.attenuator.attenuator import EnumFilterAttenuator
|
|
11
|
+
from dodal.devices.beamlines.i24.aperture import Aperture
|
|
12
|
+
from dodal.devices.beamlines.i24.beam_center import DetectorBeamCenter
|
|
13
|
+
from dodal.devices.beamlines.i24.beamstop import Beamstop
|
|
14
|
+
from dodal.devices.beamlines.i24.dcm import DCM
|
|
15
|
+
from dodal.devices.beamlines.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
16
|
+
from dodal.devices.beamlines.i24.focus_mirrors import FocusMirrorsMode
|
|
17
|
+
from dodal.devices.beamlines.i24.pmac import PMAC
|
|
11
18
|
from dodal.devices.hutch_shutter import HutchShutter
|
|
12
|
-
from dodal.devices.i24.aperture import Aperture
|
|
13
|
-
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
14
|
-
from dodal.devices.i24.beamstop import Beamstop
|
|
15
|
-
from dodal.devices.i24.dcm import DCM
|
|
16
|
-
from dodal.devices.i24.dual_backlight import BacklightPositions, DualBacklight
|
|
17
|
-
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
18
|
-
from dodal.devices.i24.pmac import PMAC
|
|
19
19
|
from dodal.devices.motors import YZStage
|
|
20
20
|
from dodal.devices.oav.oav_detector import OAVBeamCentreFile
|
|
21
21
|
from dodal.devices.zebra.zebra import Zebra
|
|
@@ -210,7 +210,7 @@ def _fetch_xrc_results_from_zocalo(
|
|
|
210
210
|
|
|
211
211
|
LOGGER.info("Getting X-ray center Zocalo results...")
|
|
212
212
|
|
|
213
|
-
yield from bps.trigger(zocalo_results)
|
|
213
|
+
yield from bps.trigger(zocalo_results, wait=True)
|
|
214
214
|
LOGGER.info("Zocalo triggered and read, interpreting results.")
|
|
215
215
|
xrc_results = yield from get_full_processing_results(zocalo_results)
|
|
216
216
|
LOGGER.info(f"Got xray centres, top 5: {xrc_results[:5]}")
|
|
@@ -104,7 +104,7 @@ def grid_detection_plan(
|
|
|
104
104
|
for angle in (yield from optimum_grid_detect_angles(smargon)):
|
|
105
105
|
yield from bps.mv(smargon.omega, angle)
|
|
106
106
|
# need to wait for the OAV image to update
|
|
107
|
-
# See
|
|
107
|
+
# See https://github.com/DiamondLightSource/mx-bluesky/issues/416 for improvements
|
|
108
108
|
yield from bps.sleep(HardwareConstants.OAV_REFRESH_DELAY)
|
|
109
109
|
|
|
110
110
|
tip_x_px, tip_y_px = yield from catch_exception_and_warn(
|
|
@@ -146,7 +146,7 @@ def pin_tip_centre_plan(
|
|
|
146
146
|
LOGGER.info(f"Tip offset in pixels: {tip_offset_px}")
|
|
147
147
|
|
|
148
148
|
# need to wait for the OAV image to update
|
|
149
|
-
# See
|
|
149
|
+
# See https://github.com/DiamondLightSource/mx-bluesky/issues/416 for improvements
|
|
150
150
|
yield from bps.sleep(0.3)
|
|
151
151
|
|
|
152
152
|
yield from pre_centring_setup_oav(oav, oav_params, pin_tip_setup)
|
|
@@ -157,7 +157,7 @@ def pin_tip_centre_plan(
|
|
|
157
157
|
yield from bps.mvr(gonio.omega, -90)
|
|
158
158
|
|
|
159
159
|
# need to wait for the OAV image to update
|
|
160
|
-
# See
|
|
160
|
+
# See https://github.com/DiamondLightSource/mx-bluesky/issues/416 for improvements
|
|
161
161
|
yield from bps.sleep(0.3)
|
|
162
162
|
tip = yield from catch_exception_and_warn(
|
|
163
163
|
PinNotFoundError, wait_for_tip_to_be_found, pin_tip_detect
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import bluesky.plan_stubs as bps
|
|
2
|
+
from dodal.devices.beamlines.i03.undulator_dcm import UndulatorDCM
|
|
2
3
|
from dodal.devices.focusing_mirror import (
|
|
3
4
|
FocusingMirrorWithStripes,
|
|
4
5
|
MirrorStripe,
|
|
5
6
|
MirrorVoltages,
|
|
6
7
|
)
|
|
7
|
-
from dodal.devices.i03.undulator_dcm import UndulatorDCM
|
|
8
8
|
from dodal.devices.util.adjuster_plans import lookup_table_adjuster
|
|
9
9
|
from dodal.devices.util.lookup_tables import (
|
|
10
10
|
linear_interpolation_lut,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from bluesky import plan_stubs as bps
|
|
2
|
+
from dodal.devices.beamlines.i03.dcm import DCM
|
|
2
3
|
from dodal.devices.detector import (
|
|
3
4
|
DetectorParams,
|
|
4
5
|
)
|
|
5
|
-
from dodal.devices.i03.dcm import DCM
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def fill_in_energy_if_not_supplied(dcm: DCM, detector_params: DetectorParams):
|
|
@@ -13,9 +13,9 @@ from bluesky.utils import Msg
|
|
|
13
13
|
from dodal.devices.aperturescatterguard import ApertureScatterguard
|
|
14
14
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
15
15
|
from dodal.devices.backlight import Backlight, InOut
|
|
16
|
+
from dodal.devices.beamlines.i03.dcm import DCM
|
|
17
|
+
from dodal.devices.beamlines.i03.undulator_dcm import UndulatorDCM
|
|
16
18
|
from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
|
|
17
|
-
from dodal.devices.i03.dcm import DCM
|
|
18
|
-
from dodal.devices.i03.undulator_dcm import UndulatorDCM
|
|
19
19
|
from dodal.devices.motors import XYZStage
|
|
20
20
|
from dodal.devices.oav.oav_detector import OAV
|
|
21
21
|
from dodal.devices.robot import BartRobot, SampleLocation
|
|
@@ -10,15 +10,15 @@ from bluesky.utils import MsgGenerator
|
|
|
10
10
|
from dodal.devices.aperturescatterguard import ApertureScatterguard
|
|
11
11
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
12
12
|
from dodal.devices.backlight import Backlight
|
|
13
|
+
from dodal.devices.beamlines.i03 import Beamstop
|
|
14
|
+
from dodal.devices.beamlines.i03.dcm import DCM
|
|
15
|
+
from dodal.devices.beamlines.i03.undulator_dcm import UndulatorDCM
|
|
13
16
|
from dodal.devices.beamsize.beamsize import BeamsizeBase
|
|
14
17
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
15
18
|
from dodal.devices.eiger import EigerDetector
|
|
16
19
|
from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScanThreeD
|
|
17
20
|
from dodal.devices.flux import Flux
|
|
18
21
|
from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
|
|
19
|
-
from dodal.devices.i03 import Beamstop
|
|
20
|
-
from dodal.devices.i03.dcm import DCM
|
|
21
|
-
from dodal.devices.i03.undulator_dcm import UndulatorDCM
|
|
22
22
|
from dodal.devices.motors import XYZStage
|
|
23
23
|
from dodal.devices.oav.oav_detector import OAV
|
|
24
24
|
from dodal.devices.oav.pin_image_recognition import PinTipDetection
|
|
@@ -6,12 +6,12 @@ from bluesky.utils import MsgGenerator
|
|
|
6
6
|
from dodal.devices.aperturescatterguard import ApertureScatterguard
|
|
7
7
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
8
8
|
from dodal.devices.backlight import Backlight
|
|
9
|
+
from dodal.devices.beamlines.i03 import Beamstop
|
|
10
|
+
from dodal.devices.beamlines.i03.dcm import DCM
|
|
9
11
|
from dodal.devices.beamsize.beamsize import BeamsizeBase
|
|
10
12
|
from dodal.devices.detector.detector_motion import DetectorMotion
|
|
11
13
|
from dodal.devices.eiger import EigerDetector
|
|
12
14
|
from dodal.devices.flux import Flux
|
|
13
|
-
from dodal.devices.i03 import Beamstop
|
|
14
|
-
from dodal.devices.i03.dcm import DCM
|
|
15
15
|
from dodal.devices.oav.oav_detector import OAV
|
|
16
16
|
from dodal.devices.oav.oav_parameters import OAVParameters
|
|
17
17
|
from dodal.devices.robot import BartRobot
|
|
@@ -9,9 +9,9 @@ import bluesky.preprocessors as bpp
|
|
|
9
9
|
import pydantic
|
|
10
10
|
from bluesky import plan_stubs as bps
|
|
11
11
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
12
|
+
from dodal.devices.beamlines.i03.dcm import DCM
|
|
13
|
+
from dodal.devices.beamlines.i03.undulator_dcm import UndulatorDCM
|
|
12
14
|
from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
|
|
13
|
-
from dodal.devices.i03.dcm import DCM
|
|
14
|
-
from dodal.devices.i03.undulator_dcm import UndulatorDCM
|
|
15
15
|
from dodal.devices.undulator import UndulatorInKeV
|
|
16
16
|
from dodal.devices.xbpm_feedback import XBPMFeedback
|
|
17
17
|
|
|
@@ -63,12 +63,7 @@ def move_to_udc_default_state(devices: UDCDefaultDevices):
|
|
|
63
63
|
"""Moves beamline to known positions prior to UDC start"""
|
|
64
64
|
yield from _verify_correct_cryostream_selected(devices.cryostream_gantry)
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
cryostream_pressure = yield from bps.rd(devices.cryostream.back_pressure)
|
|
68
|
-
if cryostream_temp > CONST.HARDWARE.MAX_CRYO_TEMP_K:
|
|
69
|
-
raise CryoStreamError("Cryostream temperature is too high, not starting UDC")
|
|
70
|
-
if cryostream_pressure > CONST.HARDWARE.MAX_CRYO_PRESSURE_BAR:
|
|
71
|
-
raise CryoStreamError("Cryostream back pressure is too high, not starting UDC")
|
|
66
|
+
yield from _check_cryostream(devices)
|
|
72
67
|
|
|
73
68
|
yield from _verify_no_sample_present(devices.robot)
|
|
74
69
|
|
|
@@ -150,6 +145,24 @@ def move_to_udc_default_state(devices: UDCDefaultDevices):
|
|
|
150
145
|
yield from bps.wait(_GROUP_POST_BEAMSTOP_CHECK, timeout=10)
|
|
151
146
|
|
|
152
147
|
|
|
148
|
+
def _check_cryostream(devices: UDCDefaultDevices):
|
|
149
|
+
commissioning_mode = yield from bps.rd(devices.baton.commissioning)
|
|
150
|
+
cryo_mode = yield from bps.rd(devices.robot.cryomode_rbv)
|
|
151
|
+
if commissioning_mode and cryo_mode == BartRobot.CRYO_MODE_WARM:
|
|
152
|
+
LOGGER.warning("Ignoring cryostream status in commissioning mode")
|
|
153
|
+
else:
|
|
154
|
+
cryostream_temp = yield from bps.rd(devices.cryostream.temp)
|
|
155
|
+
cryostream_pressure = yield from bps.rd(devices.cryostream.back_pressure)
|
|
156
|
+
if cryostream_temp > CONST.HARDWARE.MAX_CRYO_TEMP_K:
|
|
157
|
+
raise CryoStreamError(
|
|
158
|
+
"Cryostream temperature is too high, not starting UDC"
|
|
159
|
+
)
|
|
160
|
+
if cryostream_pressure > CONST.HARDWARE.MAX_CRYO_PRESSURE_BAR:
|
|
161
|
+
raise CryoStreamError(
|
|
162
|
+
"Cryostream back pressure is too high, not starting UDC"
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
|
|
153
166
|
def _verify_correct_cryostream_selected(
|
|
154
167
|
cryostream_gantry: CryoStreamGantry,
|
|
155
168
|
) -> MsgGenerator:
|
|
@@ -6,6 +6,7 @@ from dodal.devices.aperturescatterguard import (
|
|
|
6
6
|
)
|
|
7
7
|
from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
|
|
8
8
|
from dodal.devices.backlight import Backlight
|
|
9
|
+
from dodal.devices.beamlines.i03.beamsize import Beamsize
|
|
9
10
|
from dodal.devices.common_dcm import DoubleCrystalMonochromatorWithDSpacing
|
|
10
11
|
from dodal.devices.eiger import EigerDetector
|
|
11
12
|
from dodal.devices.fast_grid_scan import (
|
|
@@ -13,7 +14,6 @@ from dodal.devices.fast_grid_scan import (
|
|
|
13
14
|
ZebraFastGridScanThreeD,
|
|
14
15
|
)
|
|
15
16
|
from dodal.devices.flux import Flux
|
|
16
|
-
from dodal.devices.i03.beamsize import Beamsize
|
|
17
17
|
from dodal.devices.robot import BartRobot
|
|
18
18
|
from dodal.devices.s4_slit_gaps import S4SlitGaps
|
|
19
19
|
from dodal.devices.synchrotron import Synchrotron
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Bluesky tools for MX Beamlines at DLS
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -242,7 +242,7 @@ Requires-Dist: blueapi>=1.8.0
|
|
|
242
242
|
Requires-Dist: ophyd>=1.10.5
|
|
243
243
|
Requires-Dist: ophyd-async>=0.14.0
|
|
244
244
|
Requires-Dist: bluesky>=1.14.6
|
|
245
|
-
Requires-Dist: dls-dodal==
|
|
245
|
+
Requires-Dist: dls-dodal==2.0.0
|
|
246
246
|
Dynamic: license-file
|
|
247
247
|
|
|
248
248
|
mx-bluesky
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
mx_bluesky/Getting started.ipynb,sha256=7Jca55mqPkoqC894HHEXjRKMiECuMN_7P4vlmSF2sgw,6513
|
|
2
2
|
mx_bluesky/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
|
|
3
3
|
mx_bluesky/__main__.py,sha256=RVqPnxDisFMIn_aoEi0drlThNHgKTJULnSrotouIKI0,480
|
|
4
|
-
mx_bluesky/_version.py,sha256=
|
|
4
|
+
mx_bluesky/_version.py,sha256=G38fpx_vDfL4EzQpAGJYyrke-spatelcNUUTx7Yh8BM,704
|
|
5
5
|
mx_bluesky/definitions.py,sha256=ULpEYAUzdQiEbBoTgYTMxfUf3DDDjhYtvDxofs7Qxqw,168
|
|
6
6
|
mx_bluesky/jupyter_example.ipynb,sha256=oGYWduEjWrSpciCBe9strBng1Mh_dPZuQt6dOYnrPdU,1860
|
|
7
7
|
mx_bluesky/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -17,39 +17,39 @@ mx_bluesky/beamlines/aithre_lasershaping/parameters/__init__.py,sha256=47DEQpj8H
|
|
|
17
17
|
mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py,sha256=g9jtMQAPC2htINynpTxRH9W6SbbsK67qqBCJprP01Xk,356
|
|
18
18
|
mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py,sha256=KTieNHdKMUS6Eev8EuXvSEkJBZN2-Wyt-_KD5W3E6pU,191
|
|
19
19
|
mx_bluesky/beamlines/i02_1/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
mx_bluesky/beamlines/i02_1/parameters/gridscan.py,sha256=
|
|
21
|
-
mx_bluesky/beamlines/i04/__init__.py,sha256=
|
|
22
|
-
mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py,sha256=
|
|
23
|
-
mx_bluesky/beamlines/i04/thawing_plan.py,sha256=
|
|
20
|
+
mx_bluesky/beamlines/i02_1/parameters/gridscan.py,sha256=tKkpOJfukSZFEvFIaBkhwfVYzbAaa_0qNiZwW4Wto_A,1293
|
|
21
|
+
mx_bluesky/beamlines/i04/__init__.py,sha256=oqtrB-A5Cpmg3ssr84EcoMyBuU6fdcWwkQ6GSetri3U,676
|
|
22
|
+
mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py,sha256=QeiaGfP_e-opot2f8e8-IKxVJyOL6W03Xi18GDzVlrw,7538
|
|
23
|
+
mx_bluesky/beamlines/i04/thawing_plan.py,sha256=2Mj8LMuiOZUeGy_Ld5GU8Q1_dtNa4NwuYD-AP_EownM,10029
|
|
24
24
|
mx_bluesky/beamlines/i04/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
mx_bluesky/beamlines/i04/callbacks/murko_callback.py,sha256=Ocz11OPVO85ATwPUGPWlk89BGkxwfAB0BKmC0iFZJHc,5607
|
|
26
26
|
mx_bluesky/beamlines/i04/experiment_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py,sha256=
|
|
27
|
+
mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py,sha256=2vmbHPFJRxiD4vzA24DTmdCcn8AL1rNj0i7KJnld5Rc,12824
|
|
28
28
|
mx_bluesky/beamlines/i04/external_interaction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
mx_bluesky/beamlines/i04/external_interaction/config_server.py,sha256=Zpair6Qw1nBgm-w8eAg0f-4mjHouAnaF2Fu2Pj8zTeU,425
|
|
30
30
|
mx_bluesky/beamlines/i04/oav_centering_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py,sha256=
|
|
31
|
+
mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py,sha256=7qdEI6Gf4etD6XV0XPwuJSKfn-y88CzmqT4geTHfJpU,13008
|
|
32
32
|
mx_bluesky/beamlines/i04/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
33
|
mx_bluesky/beamlines/i04/parameters/constants.py,sha256=H17HqwuAT1upmQHGartdIEBImVEuX1nObwbADwT__Kc,750
|
|
34
34
|
mx_bluesky/beamlines/i23/__init__.py,sha256=7nwQiKBZAXLnvPhCqaI2VC1k4TOzQalOUvwF6SQ3Yd4,95
|
|
35
35
|
mx_bluesky/beamlines/i23/serial.py,sha256=XVbHM8NevnJMFAJD9jkxG-VnPaWX6t_k-wlipRw0pmY,2055
|
|
36
36
|
mx_bluesky/beamlines/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
37
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/__init__.py,sha256=5V-ZjCI42faVxg2I5_7Kb440VQzauFWg4oMSgCu-cDU,363
|
|
38
|
-
mx_bluesky/beamlines/i24/jungfrau_commissioning/composites.py,sha256=
|
|
38
|
+
mx_bluesky/beamlines/i24/jungfrau_commissioning/composites.py,sha256=NtoEO7OqNsSKM6sACcK7AHYYdlVhaNEjK3RFKPx16X0,1356
|
|
39
39
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
40
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/callbacks/metadata_writer.py,sha256=Yq8F4kBMDlKRqVUBXLM2QzaJSpWclx3HuYnpXWBEhS0,3485
|
|
41
41
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py,sha256=
|
|
43
|
-
mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/rotation_scan_plan.py,sha256=
|
|
42
|
+
mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py,sha256=NXw6gDCD6UPbRcIDPXsQRiJJ2DMDI5PlEVCnQxIxFMY,4304
|
|
43
|
+
mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/rotation_scan_plan.py,sha256=8c3ZdDQWvIbIsYMa4E_-nzyZLnKvddOVYn3qPuAoEak,10726
|
|
44
44
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/__init__.py,sha256=yxc_V5DfWKXtOmuX-U9YEdkn05ZriD9My65lpEYTuRo,115
|
|
45
|
-
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py,sha256=
|
|
45
|
+
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py,sha256=gq1lYZaOMuYZ1wx8XieBW-3LbkvwLLjGUufY9VULIW4,1411
|
|
46
46
|
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_internal_acquisition.py,sha256=J2dSNqRG0q05o_Rxx85KngqyMuEm0Kg84cGqrLW9jE0,1878
|
|
47
|
-
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py,sha256=
|
|
47
|
+
mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py,sha256=7cLRem5mWj0Dm-gnzAvTUM3OFQW3WyFKsNLd4UL-24E,2694
|
|
48
48
|
mx_bluesky/beamlines/i24/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
49
|
mx_bluesky/beamlines/i24/parameters/constants.py,sha256=9O1_QMu4_Y53KBeXFukT42A4WTqtODWzRWytgJEtsgs,290
|
|
50
50
|
mx_bluesky/beamlines/i24/serial/__init__.py,sha256=Wq8i-XNhmBpfXSF3qZfzL9iubJrIzcVtMTH-fRGb3Eo,1619
|
|
51
51
|
mx_bluesky/beamlines/i24/serial/blueapi_config.yaml,sha256=P0saF1bqt4ANU-2mtS_ZHO4NYr_ierUJN-gf6cspic8,350
|
|
52
|
-
mx_bluesky/beamlines/i24/serial/dcid.py,sha256=
|
|
52
|
+
mx_bluesky/beamlines/i24/serial/dcid.py,sha256=RevHXQE9AVKD3ltITptotDXMwhnPn3tUjizT5ocV82E,13793
|
|
53
53
|
mx_bluesky/beamlines/i24/serial/log.py,sha256=a7tC-o3yzWpNvf27suQmn8O1gQec3_2-DbWW-tp8tL4,4800
|
|
54
54
|
mx_bluesky/beamlines/i24/serial/run_extruder.sh,sha256=Dz3XLx0iPFxwo9KnG7oNBZFG19BGrb37O2w-ki_X9s4,1659
|
|
55
55
|
mx_bluesky/beamlines/i24/serial/run_fixed_target.sh,sha256=KnnDP8_i47c4nWAYqugT-j4H6lcujVitIFs7sz5GzDs,1840
|
|
@@ -59,16 +59,16 @@ mx_bluesky/beamlines/i24/serial/set_visit_directory.sh,sha256=9W0ooseih2PszePztp
|
|
|
59
59
|
mx_bluesky/beamlines/i24/serial/start_blueapi.sh,sha256=4iBzQljTLXQiVIF4UO7drc9qUkP7KSRC6Mjh8hcGxpI,608
|
|
60
60
|
mx_bluesky/beamlines/i24/serial/write_nexus.py,sha256=3xNxco-mY17dS-JrWtYAXu-DWLAmEA5TQ8J-IaDgSUM,4748
|
|
61
61
|
mx_bluesky/beamlines/i24/serial/extruder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py,sha256=
|
|
62
|
+
mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py,sha256=YBbD1hG5wjfmV3wRASz_oa3bJsHn5ZK0yoTtkeUCjUg,16553
|
|
63
63
|
mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl,sha256=VqK_0EW_7H433nYLvprXvYRW-xWXWMF1dHqrKxQ0UOQ,1959
|
|
64
64
|
mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl,sha256=u0WFI9LwUAjMvhQuV0SRwHLpGKwqmz17D4YNUPfBwG8,31011
|
|
65
65
|
mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl,sha256=K79vmGAcf9qVEQLXTgr0g4bZDWaJ7nFoK4e0Ex7qAwM,14690
|
|
66
66
|
mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
67
|
mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py,sha256=puO1vg0x-TPgv8FbEFg73ohJqbwDpcG50_2cLUTa2FA,1210
|
|
68
|
-
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py,sha256=
|
|
69
|
-
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py,sha256=
|
|
68
|
+
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py,sha256=7eAa6eZxuvjxHtM0ZmcrHaYlT5OjL42lBlABGdkgAjU,22574
|
|
69
|
+
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py,sha256=XkD7qrv2htki7Bee9MU4QMnscy-3L8SVA_XD9TTpRqY,32701
|
|
70
70
|
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_startup_py3v1.py,sha256=_nlBI-LDzgNObF_SVJFqC390_ogWFmTJqVPgJA_C_DM,3275
|
|
71
|
-
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=
|
|
71
|
+
mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=kx18_KQMe2WmNeomYfJRcP8Xr2G9StjneJ_QZhLC-yQ,6835
|
|
72
72
|
mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl,sha256=jZJ37qg5pOdG6-wrYKpi2Xfz6LwSg7D6PrHlaansjFI,10371
|
|
73
73
|
mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl,sha256=hYymun88ECy_6A4QohsFf1COwE6ln2goDehUPdEJB3Y,1962
|
|
74
74
|
mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl,sha256=D5jHfyk7caGKz3K5e7_8M0wX3R9wqFp1jiF0QXdGj7s,56112
|
|
@@ -93,12 +93,12 @@ mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py,sha256=c1IO9b78eT78kp
|
|
|
93
93
|
mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py,sha256=POg4BRnc9h1VwZEDqb-poMevgC8AwJmIi8RCYvZb8hw,1307
|
|
94
94
|
mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py,sha256=kFATZxSRz4yL3ysfzrgDuocHu8vw_q0cuciC21eXBeg,6995
|
|
95
95
|
mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py,sha256=lGgdUUr13_ncQQuFrNAye460Weo_-ecRyWAGqRUjV6Q,1042
|
|
96
|
-
mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=
|
|
96
|
+
mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=AKrOgg8-gByNzOGpk7HMJwml0b7U5SV3brFPJxWpIO0,9014
|
|
97
97
|
mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=AAOfQpqHbMjHN7NVJ96c68lvC_HL1ZwviAE2dr1qbg4,2926
|
|
98
98
|
mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=zJu2kzWHUTdir1ojYmXWCM-cz0IIXcp2kJmCS90PjeQ,17458
|
|
99
99
|
mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
-
mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=
|
|
101
|
-
mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py,sha256=
|
|
100
|
+
mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=gNvLeK3h_OOap4Qfw0GIYiclAmNn95abhxC37idM67A,11874
|
|
101
|
+
mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py,sha256=r4yiIJ-pfqSanYGRQRApqVYrRZQaCEISTtBUjHEHYF8,2064
|
|
102
102
|
mx_bluesky/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
103
|
mx_bluesky/common/xrc_result.py,sha256=tUJ6qkDTTB6H1F71IvVAKtmHCRyHSU_tj9GRzVmnE7w,3219
|
|
104
104
|
mx_bluesky/common/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -114,11 +114,11 @@ mx_bluesky/common/device_setup_plans/xbpm_feedback.py,sha256=UZxFgxG_xhc9k1SzKSb
|
|
|
114
114
|
mx_bluesky/common/experiment_plans/__init__.py,sha256=FMA-4VN1TJCPcyURKF0qPIQ8uo8YBbtHPRdJokVF4MA,129
|
|
115
115
|
mx_bluesky/common/experiment_plans/beamstop_check.py,sha256=W6dcG1vfJP2_GDeAjuQ_tBvnre106Jq_PSJG3pH76PY,9004
|
|
116
116
|
mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py,sha256=407E9rp0yGWWIU1fJrgqK_hC19mVwRK-Und7fMlGNDc,3062
|
|
117
|
-
mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=
|
|
117
|
+
mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=BB1KHNmoRliyVRpbsWY60w59wyw7aBVkA3q8kqFfKe4,13577
|
|
118
118
|
mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py,sha256=-QCj6utLqQNbaguoVh5htYhNihfpVUS7oo5zMvIYOfw,7033
|
|
119
|
-
mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py,sha256
|
|
119
|
+
mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py,sha256=-PcZ5J6hKKwqN7wbfD3UkChCL0D9qpiu9kdj1xvBjYc,7209
|
|
120
120
|
mx_bluesky/common/experiment_plans/oav_snapshot_plan.py,sha256=3xhEen8Op_lPSB63sAfbsEfq9sWNIbtMv5ssw8xz0R8,3598
|
|
121
|
-
mx_bluesky/common/experiment_plans/pin_tip_centring_plan.py,sha256=
|
|
121
|
+
mx_bluesky/common/experiment_plans/pin_tip_centring_plan.py,sha256=z6g9SMzYMKzaChKnTfMNoHuFt5rnJ5_RigTuuvS5Bg0,6294
|
|
122
122
|
mx_bluesky/common/experiment_plans/inner_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
123
|
mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py,sha256=IMsfA1-4POl5h5X3mczN-Hll-OlGwrp8RaI32TMlyjM,4884
|
|
124
124
|
mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py,sha256=BDW-xmzvMXo8qQXyBl7j5OrL0wBLM00W5xMNPO_YaLk,2588
|
|
@@ -179,10 +179,10 @@ mx_bluesky/hyperion/plan_runner_api.py,sha256=aWO3THjNl9U4UUuOC7jNrrb6bLp8zqR3GU
|
|
|
179
179
|
mx_bluesky/hyperion/runner.py,sha256=YSdHgtAmMitHfooDwicA9mLhav457MGzLijlhFYeDCo,7167
|
|
180
180
|
mx_bluesky/hyperion/blueapi_plans/__init__.py,sha256=VwhB0PE0cnHWa5MafkxKahCSuYTBoc-_o-INE85lVJ8,3557
|
|
181
181
|
mx_bluesky/hyperion/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
-
mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py,sha256=
|
|
182
|
+
mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py,sha256=_zw32pay4hQvFRdjqY9DjPgAjfhuzgV7n-7EIw5xk3Y,5165
|
|
183
183
|
mx_bluesky/hyperion/device_setup_plans/setup_panda.py,sha256=prhTvpa0HYkBDUonMBux1aammdBdbT9KSTZbfvB_Zns,8507
|
|
184
184
|
mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=dOfBQMibyH3CjSh_m5RJKsxs2DtaM3jtwEs7lkqQppo,1525
|
|
185
|
-
mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=
|
|
185
|
+
mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=9Qi4qZ5jlJ9WyjNBMXIyoliqO4YPcHJEHR7WKdLdJMA,435
|
|
186
186
|
mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=dJjwLk0EQP-1hKhbs8aRxTF_LxUXgB7kcgDlaP-tMnk,787
|
|
187
187
|
mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=aj6jLkIdVSKin0wkH-HvK0kpZIeCr29Sg8jDH2k5XWY,1713
|
|
188
188
|
mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=0UnoY5b3ZAKOw3Lh4k-xylithj0vOKNCPEi9wKGzuns,5995
|
|
@@ -190,11 +190,11 @@ mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.
|
|
|
190
190
|
mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=6EAasC4E3-bIBFX7Ru7uznTEGQTF76fOCibf3UOm0h4,7956
|
|
191
191
|
mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=9M65cboRt5FR0V2sOjjyq6eLXA0L6xnSeXFzLpW67zw,16169
|
|
192
192
|
mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=KB75HQHNLL6g6Z0C8cINksX4wS285uMbx77FJ7Z2b0c,5816
|
|
193
|
-
mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=
|
|
194
|
-
mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=
|
|
195
|
-
mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256
|
|
196
|
-
mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=
|
|
197
|
-
mx_bluesky/hyperion/experiment_plans/udc_default_state.py,sha256=
|
|
193
|
+
mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=UsN3MqqVrmnS9BOXMfBpglR_Fg51XeoVaF9VPuiRn7s,5788
|
|
194
|
+
mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=lV0QuDep9sMPG5wQdhJZmvQ43QdWA47HoCZgReEZAfo,7028
|
|
195
|
+
mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=55vEU5CaHcmVHzfS6fmCLsSWxUot5tWZT5T2vIMWp7o,12041
|
|
196
|
+
mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=pq44835H-uZs1twhoXmmt-nErto9oeTLKzc4K0VkCaI,2705
|
|
197
|
+
mx_bluesky/hyperion/experiment_plans/udc_default_state.py,sha256=gH2Q6ajkXFFnHob-H_yGPCXMWb3HWf6vB45yU3_cRLo,7049
|
|
198
198
|
mx_bluesky/hyperion/external_interaction/__init__.py,sha256=95DwXDmKsx36RgAL-AtLZl2LQoLPKbzeYdlkkP_4Coc,559
|
|
199
199
|
mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=4vBBynn7RTUUzFXKnoKyuGLsTfg2zaeSJM6bNMwSZm8,11850
|
|
200
200
|
mx_bluesky/hyperion/external_interaction/config_server.py,sha256=4QIcx_3U4PJfPA9UrGEybJJpd6sTejsdhmDXqUoW00o,498
|
|
@@ -216,7 +216,7 @@ mx_bluesky/hyperion/parameters/__init__.py,sha256=kf2wfcILBUBpT0tJ8-W39BywQUkn67
|
|
|
216
216
|
mx_bluesky/hyperion/parameters/cli.py,sha256=9I2t79xTVKwwwgMFqJZL17sbviPJo66NiSdlnaMn7B4,2701
|
|
217
217
|
mx_bluesky/hyperion/parameters/components.py,sha256=dkh7BTRlG1P3QeDG2AoLFaiEIv_IPZxfKd-x9dad4X8,611
|
|
218
218
|
mx_bluesky/hyperion/parameters/constants.py,sha256=PFnonqcihW2J7qonpHZt9ynJR_IJoUvp_5_mgr4NAjg,2509
|
|
219
|
-
mx_bluesky/hyperion/parameters/device_composites.py,sha256=
|
|
219
|
+
mx_bluesky/hyperion/parameters/device_composites.py,sha256=LDXOxFE4O4fuwwcix2g_deRVB4SEjCUtauI4zNV7w5I,2304
|
|
220
220
|
mx_bluesky/hyperion/parameters/gridscan.py,sha256=dnK2veiDFfW4U02A4MTzODu0TJPZk-hE_dTCQnb3tSU,3916
|
|
221
221
|
mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=DF3jEbvgNklh1LPhjhuqhwsZtiK0dPuJrkTbaVB-QEk,3734
|
|
222
222
|
mx_bluesky/hyperion/parameters/robot_load.py,sha256=kZRBzsw_nQKCq1FfnAk_dDzHoSgDKKkShcVP9GPv5V8,844
|
|
@@ -230,9 +230,9 @@ mx_bluesky/hyperion/utils/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-
|
|
|
230
230
|
mx_bluesky/hyperion/utils/context.py,sha256=3mXVpWnuHkZz37Fa-VsfbF_RZxIVGERlyGHL0rWxWgE,1237
|
|
231
231
|
mx_bluesky/phase1_zebra/__init__.py,sha256=Edhhn2L9MVXnjJhyD5_yKQVUDo7XW98rvuT7dlzIn58,132
|
|
232
232
|
mx_bluesky/phase1_zebra/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
233
|
-
mx_bluesky-1.
|
|
234
|
-
mx_bluesky-1.
|
|
235
|
-
mx_bluesky-1.
|
|
236
|
-
mx_bluesky-1.
|
|
237
|
-
mx_bluesky-1.
|
|
238
|
-
mx_bluesky-1.
|
|
233
|
+
mx_bluesky-1.6.3.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
234
|
+
mx_bluesky-1.6.3.dist-info/METADATA,sha256=GRWjp6Hr3H6XhgyRUu0Xzh7V-gRFyBgWr6_cVApLmIY,16360
|
|
235
|
+
mx_bluesky-1.6.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
236
|
+
mx_bluesky-1.6.3.dist-info/entry_points.txt,sha256=HgVtwgWoMRn9-X6rxCcSY3Jz_paspJTIlc-t2NFzWpo,409
|
|
237
|
+
mx_bluesky-1.6.3.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
|
|
238
|
+
mx_bluesky-1.6.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|