mx-bluesky 1.5.3__py3-none-any.whl → 1.5.5__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/aithre_lasershaping/__init__.py +2 -0
- mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +17 -0
- mx_bluesky/beamlines/i04/__init__.py +6 -1
- mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +0 -8
- mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +2 -3
- mx_bluesky/beamlines/i04/thawing_plan.py +174 -60
- mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +1 -1
- mx_bluesky/beamlines/i24/serial/dcid.py +4 -25
- mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +4 -7
- mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +5 -5
- mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -107
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +11 -11
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +2 -5
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +80 -80
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +120 -120
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +143 -143
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +2 -2
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +3 -3
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +24 -24
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +19 -19
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -92
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +15 -30
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +10 -10
- mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -2
- mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +1 -6
- mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
- mx_bluesky/beamlines/i24/serial/parameters/utils.py +1 -1
- mx_bluesky/beamlines/i24/serial/run_extruder.sh +15 -0
- mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +17 -0
- mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
- mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +1 -2
- mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +142 -160
- mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +1 -30
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -94
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +4 -10
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +12 -20
- mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +4 -13
- mx_bluesky/beamlines/i24/serial/write_nexus.py +34 -9
- mx_bluesky/common/device_setup_plans/manipulate_sample.py +2 -2
- mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +2 -2
- mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +65 -0
- mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +2 -2
- mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +35 -17
- mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +1 -1
- mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
- mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +3 -2
- mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +2 -2
- mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
- mx_bluesky/common/parameters/constants.py +1 -0
- mx_bluesky/hyperion/baton_handler.py +50 -8
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +5 -1
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +6 -2
- mx_bluesky/hyperion/external_interaction/alerting/constants.py +2 -7
- mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +4 -0
- mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +54 -0
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/METADATA +2 -2
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/RECORD +63 -61
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/WHEEL +0 -0
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/entry_points.txt +0 -0
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/licenses/LICENSE +0 -0
- {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/top_level.txt +0 -0
|
@@ -25,31 +25,6 @@ def __which__():
|
|
|
25
25
|
|
|
26
26
|
requested_transmission = "BL24I-OP-ATTN-01:T2A:SETVAL1"
|
|
27
27
|
|
|
28
|
-
# PILATUS
|
|
29
|
-
pilat_filepath = "BL24I-EA-PILAT-01:cam1:FilePath"
|
|
30
|
-
pilat_filename = "BL24I-EA-PILAT-01:cam1:FileName"
|
|
31
|
-
pilat_filetemplate = "BL24I-EA-PILAT-01:cam1:FileTemplate"
|
|
32
|
-
pilat_numimages = "BL24I-EA-PILAT-01:cam1:NumImages"
|
|
33
|
-
pilat_numexpimage = "BL24I-EA-PILAT-01:cam1:NumExposures"
|
|
34
|
-
pilat_filenumber = "BL24I-EA-PILAT-01:cam1:FileNumber"
|
|
35
|
-
pilat_acquire = "BL24I-EA-PILAT-01:cam1:Acquire"
|
|
36
|
-
pilat_acquiretime = "BL24I-EA-PILAT-01:cam1:AcquireTime"
|
|
37
|
-
pilat_acquireperiod = "BL24I-EA-PILAT-01:cam1:AcquirePeriod"
|
|
38
|
-
pilat_imagemode = "BL24I-EA-PILAT-01:cam1:ImageMode"
|
|
39
|
-
pilat_triggermode = "BL24I-EA-PILAT-01:cam1:TriggerMode"
|
|
40
|
-
pilat_delaytime = "BL24I-EA-PILAT-01:cam1:DelayTime"
|
|
41
|
-
pilat_wavelength = "BL24I-EA-PILAT-01:cam1:Wavelength"
|
|
42
|
-
pilat_detdist = "BL24I-EA-PILAT-01:cam1:DetDist"
|
|
43
|
-
pilat_filtertrasm = "BL24I-EA-PILAT-01:cam1:FilterTransm"
|
|
44
|
-
pilat_filetemplate = "BL24I-EA-PILAT-01:cam1:FileTemplate"
|
|
45
|
-
pilat_beamx = "BL24I-EA-PILAT-01:cam1:BeamX"
|
|
46
|
-
pilat_beamy = "BL24I-EA-PILAT-01:cam1:BeamY"
|
|
47
|
-
pilat_startangle = "BL24I-EA-PILAT-01:cam1:StartAngle"
|
|
48
|
-
pilat_angleincr = "BL24I-EA-PILAT-01:cam1:AngleIncr"
|
|
49
|
-
pilat_omegaincr = "BL24I-EA-PILAT-01:cam1:OmegaIncr"
|
|
50
|
-
pilat_cbftemplate = "BL24I-EA-PILAT-01:cam1:CbfTemplateFile"
|
|
51
|
-
pilat_filenum = "BL24I-EA-PILAT-01:cam1:FileNumber_RBV"
|
|
52
|
-
|
|
53
28
|
|
|
54
29
|
# Eiger
|
|
55
30
|
eiger_filepath = "BL24I-EA-EIGER-01:CAM:FilePath"
|
|
@@ -246,17 +221,21 @@ det_z = "BL24I-EA-DET-01:Z"
|
|
|
246
221
|
# Fast grid diagnostics
|
|
247
222
|
pmc_gridstatus = "BL24I-MO-STEP-10:signal:P2401"
|
|
248
223
|
pmc_gridcounter = "BL24I-MO-STEP-10:signal:P2402"
|
|
224
|
+
|
|
249
225
|
# PMAC Strings
|
|
250
226
|
step08_pmac_str = "BL24I-MO-IOC-08:ASYN8.AOUT"
|
|
251
227
|
step09_pmac_str = "BL24I-MO-IOC-09:ASYN9.AOUT"
|
|
252
228
|
step10_pmac_str = "BL24I-MO-IOC-10:ASYN10.AOUT"
|
|
253
229
|
step11_pmac_str = "BL24I-MO-IOC-11:ASYN11.AOUT"
|
|
254
230
|
step12_pmac_str = "BL24I-MO-IOC-12:ASYN12.AOUT"
|
|
231
|
+
step13_pmac_str = "BL24I-MO-IOC-13:PMAC:console"
|
|
255
232
|
step08_pmac_response = "BL24I-MO-IOC-08:ASYN8.AINP"
|
|
256
233
|
step09_pmac_response = "BL24I-MO-IOC-09:ASYN9.AINP"
|
|
257
234
|
step10_pmac_response = "BL24I-MO-IOC-10:ASYN10.AINP"
|
|
258
235
|
step11_pmac_response = "BL24I-MO-IOC-11:ASYN11.AINP"
|
|
259
236
|
step12_pmac_response = "BL24I-MO-IOC-12:ASYN12.AINP"
|
|
237
|
+
step13_pmac_response = "BL24I-MO-IOC-13:PMAC:console_RBV"
|
|
238
|
+
|
|
260
239
|
# General Purpose PV. Now use STEP13
|
|
261
240
|
ioc13_gp1 = "BL24I-MO-IOC-13:GP1"
|
|
262
241
|
ioc13_gp2 = "BL24I-MO-IOC-13:GP2"
|
|
@@ -273,138 +252,141 @@ ioc13_gp12 = "BL24I-MO-IOC-13:GP12"
|
|
|
273
252
|
ioc13_gp13 = "BL24I-MO-IOC-13:GP13"
|
|
274
253
|
ioc13_gp14 = "BL24I-MO-IOC-13:GP14"
|
|
275
254
|
ioc13_gp15 = "BL24I-MO-IOC-13:GP15"
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
255
|
+
|
|
256
|
+
# BL24I beamline-specific labelled PVs
|
|
257
|
+
me14e_filter = "BL24I-EA-CHIP-01:FILTER" # to check
|
|
258
|
+
me14e_filepath = "BL24I-MO-CHIP-01:filePath"
|
|
259
|
+
me14e_chip_name = "BL24I-MO-CHIP-01:chipName"
|
|
260
|
+
me14e_chipcapacity = "BL24I-MO-CHIP-01:chipCapacity"
|
|
261
|
+
me14e_blockcapacity = "BL24I-MO-CHIP-01:blockCapacity"
|
|
262
|
+
me14e_exptime = "BL24I-MO-CHIP-01:expTime"
|
|
263
|
+
me14e_dcdetdist = "BL24I-MO-CHIP-01:detDistance"
|
|
264
|
+
|
|
265
|
+
# STEP-13 chip motion
|
|
266
|
+
ioc13_filepath = "BL24I-MO-CHIP-01:filePath"
|
|
267
|
+
ioc13_chip_name = "BL24I-MO-CHIP-01:chipName"
|
|
268
|
+
ioc13_chipcapacity = "BL24I-MO-CHIP-01:chipCapacity"
|
|
269
|
+
ioc13_blockcapacity = "BL24I-MO-CHIP-01:blockCapacity"
|
|
270
|
+
ioc13_exptime = "BL24I-MO-CHIP-01:expTime"
|
|
271
|
+
ioc13_dcdetdist = "BL24I-MO-CHIP-01:detDistance"
|
|
272
|
+
|
|
273
|
+
me14e_gp1 = "BL24I-MO-IOC-13:GP1"
|
|
274
|
+
me14e_gp2 = "BL24I-MO-IOC-13:GP2"
|
|
275
|
+
me14e_gp3 = "BL24I-MO-IOC-13:GP3"
|
|
276
|
+
me14e_gp4 = "BL24I-MO-IOC-13:GP4"
|
|
277
|
+
me14e_gp5 = "BL24I-MO-IOC-13:GP5"
|
|
278
|
+
me14e_gp6 = "BL24I-MO-IOC-13:GP6"
|
|
279
|
+
me14e_gp7 = "BL24I-MO-IOC-13:GP7"
|
|
280
|
+
me14e_gp8 = "BL24I-MO-IOC-13:GP8"
|
|
281
|
+
me14e_gp9 = "BL24I-MO-IOC-13:GP9"
|
|
282
|
+
me14e_gp10 = "BL24I-MO-IOC-13:GP10"
|
|
283
|
+
me14e_gp11 = "BL24I-MO-IOC-13:GP11"
|
|
284
|
+
me14e_gp12 = "BL24I-MO-IOC-13:GP12"
|
|
285
|
+
me14e_gp13 = "BL24I-MO-IOC-13:GP13"
|
|
286
|
+
me14e_gp14 = "BL24I-MO-IOC-13:GP14"
|
|
287
|
+
me14e_gp15 = "BL24I-MO-IOC-13:GP15"
|
|
288
|
+
me14e_gp16 = "BL24I-MO-IOC-13:GP16"
|
|
289
|
+
me14e_gp17 = "BL24I-MO-IOC-13:GP17"
|
|
290
|
+
me14e_gp18 = "BL24I-MO-IOC-13:GP18"
|
|
291
|
+
me14e_gp19 = "BL24I-MO-IOC-13:GP19"
|
|
292
|
+
me14e_gp20 = "BL24I-MO-IOC-13:GP20"
|
|
293
|
+
me14e_gp21 = "BL24I-MO-IOC-13:GP21"
|
|
294
|
+
me14e_gp22 = "BL24I-MO-IOC-13:GP22"
|
|
295
|
+
me14e_gp23 = "BL24I-MO-IOC-13:GP23"
|
|
296
|
+
me14e_gp24 = "BL24I-MO-IOC-13:GP24"
|
|
297
|
+
me14e_gp25 = "BL24I-MO-IOC-13:GP25"
|
|
298
|
+
me14e_gp26 = "BL24I-MO-IOC-13:GP26"
|
|
299
|
+
me14e_gp27 = "BL24I-MO-IOC-13:GP27"
|
|
300
|
+
me14e_gp28 = "BL24I-MO-IOC-13:GP28"
|
|
301
|
+
me14e_gp29 = "BL24I-MO-IOC-13:GP29"
|
|
302
|
+
me14e_gp30 = "BL24I-MO-IOC-13:GP30"
|
|
303
|
+
me14e_gp31 = "BL24I-MO-IOC-13:GP31"
|
|
304
|
+
me14e_gp32 = "BL24I-MO-IOC-13:GP32"
|
|
305
|
+
me14e_gp33 = "BL24I-MO-IOC-13:GP33"
|
|
306
|
+
me14e_gp34 = "BL24I-MO-IOC-13:GP34"
|
|
307
|
+
me14e_gp35 = "BL24I-MO-IOC-13:GP35"
|
|
308
|
+
me14e_gp36 = "BL24I-MO-IOC-13:GP36"
|
|
309
|
+
me14e_gp37 = "BL24I-MO-IOC-13:GP37"
|
|
310
|
+
me14e_gp38 = "BL24I-MO-IOC-13:GP38"
|
|
311
|
+
me14e_gp39 = "BL24I-MO-IOC-13:GP39"
|
|
312
|
+
me14e_gp40 = "BL24I-MO-IOC-13:GP40"
|
|
313
|
+
me14e_gp41 = "BL24I-MO-IOC-13:GP41"
|
|
314
|
+
me14e_gp42 = "BL24I-MO-IOC-13:GP42"
|
|
315
|
+
me14e_gp43 = "BL24I-MO-IOC-13:GP43"
|
|
316
|
+
me14e_gp44 = "BL24I-MO-IOC-13:GP44"
|
|
317
|
+
me14e_gp45 = "BL24I-MO-IOC-13:GP45"
|
|
318
|
+
me14e_gp46 = "BL24I-MO-IOC-13:GP46"
|
|
319
|
+
me14e_gp47 = "BL24I-MO-IOC-13:GP47"
|
|
320
|
+
me14e_gp48 = "BL24I-MO-IOC-13:GP48"
|
|
321
|
+
me14e_gp49 = "BL24I-MO-IOC-13:GP49"
|
|
322
|
+
me14e_gp50 = "BL24I-MO-IOC-13:GP50"
|
|
323
|
+
me14e_gp51 = "BL24I-MO-IOC-13:GP51"
|
|
324
|
+
me14e_gp52 = "BL24I-MO-IOC-13:GP52"
|
|
325
|
+
me14e_gp53 = "BL24I-MO-IOC-13:GP53"
|
|
326
|
+
me14e_gp54 = "BL24I-MO-IOC-13:GP54"
|
|
327
|
+
me14e_gp55 = "BL24I-MO-IOC-13:GP55"
|
|
328
|
+
me14e_gp56 = "BL24I-MO-IOC-13:GP56"
|
|
329
|
+
me14e_gp57 = "BL24I-MO-IOC-13:GP57"
|
|
330
|
+
me14e_gp58 = "BL24I-MO-IOC-13:GP58"
|
|
331
|
+
me14e_gp59 = "BL24I-MO-IOC-13:GP59"
|
|
332
|
+
me14e_gp60 = "BL24I-MO-IOC-13:GP60"
|
|
333
|
+
me14e_gp61 = "BL24I-MO-IOC-13:GP61"
|
|
334
|
+
me14e_gp62 = "BL24I-MO-IOC-13:GP62"
|
|
335
|
+
me14e_gp63 = "BL24I-MO-IOC-13:GP63"
|
|
336
|
+
me14e_gp64 = "BL24I-MO-IOC-13:GP64"
|
|
337
|
+
me14e_gp65 = "BL24I-MO-IOC-13:GP65"
|
|
338
|
+
me14e_gp66 = "BL24I-MO-IOC-13:GP66"
|
|
339
|
+
me14e_gp67 = "BL24I-MO-IOC-13:GP67"
|
|
340
|
+
me14e_gp68 = "BL24I-MO-IOC-13:GP68"
|
|
341
|
+
me14e_gp69 = "BL24I-MO-IOC-13:GP69"
|
|
342
|
+
me14e_gp70 = "BL24I-MO-IOC-13:GP70"
|
|
343
|
+
me14e_gp71 = "BL24I-MO-IOC-13:GP71"
|
|
344
|
+
me14e_gp72 = "BL24I-MO-IOC-13:GP72"
|
|
345
|
+
me14e_gp73 = "BL24I-MO-IOC-13:GP73"
|
|
346
|
+
me14e_gp74 = "BL24I-MO-IOC-13:GP74"
|
|
347
|
+
me14e_gp75 = "BL24I-MO-IOC-13:GP75"
|
|
348
|
+
me14e_gp76 = "BL24I-MO-IOC-13:GP76"
|
|
349
|
+
me14e_gp77 = "BL24I-MO-IOC-13:GP77"
|
|
350
|
+
me14e_gp78 = "BL24I-MO-IOC-13:GP78"
|
|
351
|
+
me14e_gp79 = "BL24I-MO-IOC-13:GP79"
|
|
352
|
+
me14e_gp80 = "BL24I-MO-IOC-13:GP80"
|
|
353
|
+
me14e_gp81 = "BL24I-MO-IOC-13:GP81"
|
|
354
|
+
me14e_gp82 = "BL24I-MO-IOC-13:GP82"
|
|
355
|
+
me14e_gp83 = "BL24I-MO-IOC-13:GP83"
|
|
356
|
+
me14e_gp84 = "BL24I-MO-IOC-13:GP84"
|
|
357
|
+
me14e_gp85 = "BL24I-MO-IOC-13:GP85"
|
|
358
|
+
me14e_gp86 = "BL24I-MO-IOC-13:GP86"
|
|
359
|
+
me14e_gp87 = "BL24I-MO-IOC-13:GP87"
|
|
360
|
+
me14e_gp88 = "BL24I-MO-IOC-13:GP88"
|
|
361
|
+
me14e_gp89 = "BL24I-MO-IOC-13:GP89"
|
|
362
|
+
me14e_gp90 = "BL24I-MO-IOC-13:GP90"
|
|
363
|
+
me14e_gp91 = "BL24I-MO-IOC-13:GP91"
|
|
364
|
+
me14e_gp92 = "BL24I-MO-IOC-13:GP92"
|
|
365
|
+
me14e_gp93 = "BL24I-MO-IOC-13:GP93"
|
|
366
|
+
me14e_gp94 = "BL24I-MO-IOC-13:GP94"
|
|
367
|
+
me14e_gp95 = "BL24I-MO-IOC-13:GP95"
|
|
368
|
+
me14e_gp96 = "BL24I-MO-IOC-13:GP96"
|
|
369
|
+
me14e_gp97 = "BL24I-MO-IOC-13:GP97"
|
|
370
|
+
me14e_gp98 = "BL24I-MO-IOC-13:GP98"
|
|
371
|
+
me14e_gp99 = "BL24I-MO-IOC-13:GP99"
|
|
372
|
+
me14e_gp100 = "BL24I-MO-IOC-13:GP100"
|
|
373
|
+
me14e_gp101 = "BL24I-MO-IOC-13:GP101" # Detector in use
|
|
374
|
+
me14e_gp102 = "BL24I-MO-IOC-13:GP102"
|
|
375
|
+
me14e_gp103 = "BL24I-MO-IOC-13:GP103"
|
|
376
|
+
me14e_gp104 = "BL24I-MO-IOC-13:GP104"
|
|
377
|
+
me14e_gp105 = "BL24I-MO-IOC-13:GP105"
|
|
378
|
+
me14e_gp106 = "BL24I-MO-IOC-13:GP106"
|
|
379
|
+
me14e_gp107 = "BL24I-MO-IOC-13:GP107"
|
|
380
|
+
me14e_gp108 = "BL24I-MO-IOC-13:GP108"
|
|
381
|
+
me14e_gp109 = "BL24I-MO-IOC-13:GP109"
|
|
382
|
+
me14e_gp110 = "BL24I-MO-IOC-13:GP110"
|
|
383
|
+
me14e_gp111 = "BL24I-MO-IOC-13:GP111"
|
|
384
|
+
me14e_gp112 = "BL24I-MO-IOC-13:GP112"
|
|
385
|
+
me14e_gp113 = "BL24I-MO-IOC-13:GP113"
|
|
386
|
+
me14e_gp114 = "BL24I-MO-IOC-13:GP114"
|
|
387
|
+
me14e_gp115 = "BL24I-MO-IOC-13:GP115"
|
|
388
|
+
me14e_gp116 = "BL24I-MO-IOC-13:GP116"
|
|
389
|
+
me14e_gp117 = "BL24I-MO-IOC-13:GP117"
|
|
390
|
+
me14e_gp118 = "BL24I-MO-IOC-13:GP118"
|
|
391
|
+
me14e_gp119 = "BL24I-MO-IOC-13:GP119"
|
|
392
|
+
me14e_gp120 = "BL24I-MO-IOC-13:GP120"
|
|
@@ -8,35 +8,6 @@ abstract wrapper around them.
|
|
|
8
8
|
from mx_bluesky.beamlines.i24.serial.setup_beamline import pv
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class Pilatus:
|
|
12
|
-
id = 58
|
|
13
|
-
name = "pilatus"
|
|
14
|
-
|
|
15
|
-
# fast, slow / width, height
|
|
16
|
-
image_size_pixels = (2463, 2527)
|
|
17
|
-
pixel_size_mm = (0.172, 0.172)
|
|
18
|
-
image_size_mm = tuple(
|
|
19
|
-
round(a * b, 3) for a, b in zip(image_size_pixels, pixel_size_mm, strict=False)
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
det_y_threshold = 640.0
|
|
23
|
-
det_y_target = 647.0
|
|
24
|
-
|
|
25
|
-
class pv:
|
|
26
|
-
detector_distance = pv.pilat_detdist
|
|
27
|
-
wavelength = pv.pilat_wavelength
|
|
28
|
-
transmission = pv.pilat_filtertrasm
|
|
29
|
-
file_name = pv.pilat_filename
|
|
30
|
-
file_path = pv.pilat_filepath
|
|
31
|
-
file_template = pv.pilat_filetemplate
|
|
32
|
-
file_number = pv.pilat_filenumber
|
|
33
|
-
beamx = pv.pilat_beamx
|
|
34
|
-
beamy = pv.pilat_beamy
|
|
35
|
-
|
|
36
|
-
def __str__(self) -> str:
|
|
37
|
-
return self.name
|
|
38
|
-
|
|
39
|
-
|
|
40
11
|
class Eiger:
|
|
41
12
|
id = 94
|
|
42
13
|
name = "eiger"
|
|
@@ -68,4 +39,4 @@ class Eiger:
|
|
|
68
39
|
return self.name
|
|
69
40
|
|
|
70
41
|
|
|
71
|
-
Detector =
|
|
42
|
+
Detector = Eiger
|
|
@@ -275,100 +275,6 @@ def modechange(action):
|
|
|
275
275
|
return 1
|
|
276
276
|
|
|
277
277
|
|
|
278
|
-
def pilatus(action, args_list):
|
|
279
|
-
SSX_LOGGER.debug("***** Entering Pilatus")
|
|
280
|
-
SSX_LOGGER.info(f"Setup pilatus - {action}")
|
|
281
|
-
if args_list:
|
|
282
|
-
for arg in args_list:
|
|
283
|
-
SSX_LOGGER.debug(f"Argument: {arg}")
|
|
284
|
-
|
|
285
|
-
caput(pv.pilat_detdist, caget(pv.det_z))
|
|
286
|
-
caput(pv.pilat_filtertrasm, caget(pv.attn_match))
|
|
287
|
-
|
|
288
|
-
# Fixed Target stage (very fast start and stop w/ triggering from GeoBrick
|
|
289
|
-
if action == "fastchip":
|
|
290
|
-
[filepath, filename, total_numb_imgs, exptime] = args_list
|
|
291
|
-
rampath = filepath.replace("dls/i24/data", "ramdisk")
|
|
292
|
-
acqtime = float(exptime) - 0.001
|
|
293
|
-
SSX_LOGGER.debug(f"Filepath was set as {filepath}")
|
|
294
|
-
SSX_LOGGER.debug(f"Rampath set as {rampath}")
|
|
295
|
-
SSX_LOGGER.debug(f"Filename set as {filename}")
|
|
296
|
-
SSX_LOGGER.debug(f"total_numb_imgs {total_numb_imgs}")
|
|
297
|
-
SSX_LOGGER.debug(f"Exposure time set as {exptime} s")
|
|
298
|
-
SSX_LOGGER.debug(f"Acquire time set as {acqtime} s")
|
|
299
|
-
caput(pv.pilat_startangle, 0.0)
|
|
300
|
-
caput(pv.pilat_angleincr, 0.0)
|
|
301
|
-
caput(pv.pilat_omegaincr, 0.0)
|
|
302
|
-
caput(pv.pilat_filepath, rampath + "/")
|
|
303
|
-
caput(pv.pilat_filename, filename)
|
|
304
|
-
caput(pv.pilat_numimages, str(total_numb_imgs))
|
|
305
|
-
caput(pv.pilat_acquiretime, str(acqtime))
|
|
306
|
-
caput(pv.pilat_acquireperiod, str(exptime))
|
|
307
|
-
caput(pv.pilat_imagemode, "Single")
|
|
308
|
-
caput(pv.pilat_triggermode, "Mult. Trigger")
|
|
309
|
-
caput(pv.pilat_delaytime, 0)
|
|
310
|
-
|
|
311
|
-
# Quick set of images no coordinated motion
|
|
312
|
-
elif action == "quickshot":
|
|
313
|
-
SSX_LOGGER.debug("quickshot")
|
|
314
|
-
[filepath, filename, num_imgs, exptime] = args_list
|
|
315
|
-
rampath = filepath.replace("dls/i24/data", "ramdisk")
|
|
316
|
-
caput(pv.pilat_filepath, rampath)
|
|
317
|
-
yield from bps.sleep(0.1)
|
|
318
|
-
caput(pv.pilat_filename, filename)
|
|
319
|
-
yield from bps.sleep(0.1)
|
|
320
|
-
acqtime = float(exptime) - 0.001
|
|
321
|
-
caput(pv.pilat_acquiretime, str(acqtime))
|
|
322
|
-
caput(pv.pilat_acquireperiod, str(exptime))
|
|
323
|
-
SSX_LOGGER.debug(f"Filepath was set as {filepath}")
|
|
324
|
-
SSX_LOGGER.debug(f"Rampath set as {rampath}")
|
|
325
|
-
SSX_LOGGER.debug(f"Filename set as {filename}")
|
|
326
|
-
SSX_LOGGER.debug(f"num_imgs {num_imgs}")
|
|
327
|
-
SSX_LOGGER.debug(f"Exposure time set as {exptime} s")
|
|
328
|
-
SSX_LOGGER.debug(f"Acquire time set as {acqtime} s")
|
|
329
|
-
SSX_LOGGER.debug("Pilatus takes time apprx 2sec")
|
|
330
|
-
yield from bps.sleep(2)
|
|
331
|
-
caput(pv.pilat_delaytime, 0.00)
|
|
332
|
-
caput(pv.pilat_numimages, str(num_imgs))
|
|
333
|
-
caput(pv.pilat_imagemode, "Continuous")
|
|
334
|
-
caput(pv.pilat_triggermode, "Ext. Trigger")
|
|
335
|
-
yield from bps.sleep(0.2)
|
|
336
|
-
|
|
337
|
-
elif action == "quickshot-internaltrig":
|
|
338
|
-
SSX_LOGGER.debug("quickshot-internaltrig")
|
|
339
|
-
[filepath, filename, num_imgs, exptime] = args_list
|
|
340
|
-
rampath = filepath.replace("dls/i24/data", "ramdisk")
|
|
341
|
-
caput(pv.pilat_filepath, rampath)
|
|
342
|
-
yield from bps.sleep(0.1)
|
|
343
|
-
caput(pv.pilat_filename, filename)
|
|
344
|
-
yield from bps.sleep(0.1)
|
|
345
|
-
acqtime = float(exptime) - 0.001
|
|
346
|
-
caput(pv.pilat_acquiretime, str(acqtime))
|
|
347
|
-
caput(pv.pilat_acquireperiod, str(exptime))
|
|
348
|
-
SSX_LOGGER.debug(f"Filepath was set as {filepath}")
|
|
349
|
-
SSX_LOGGER.debug(f"Rampath set as {rampath}")
|
|
350
|
-
SSX_LOGGER.debug(f"Filename set as {filename}")
|
|
351
|
-
SSX_LOGGER.debug(f"num_imgs {num_imgs}")
|
|
352
|
-
SSX_LOGGER.debug(f"Exposure time set as {exptime} s")
|
|
353
|
-
SSX_LOGGER.debug(f"Acquire time set as {acqtime} s")
|
|
354
|
-
SSX_LOGGER.debug("Pilatus takes time apprx 2sec")
|
|
355
|
-
yield from bps.sleep(2)
|
|
356
|
-
caput(pv.pilat_delaytime, 0.00)
|
|
357
|
-
caput(pv.pilat_numimages, str(num_imgs))
|
|
358
|
-
caput(pv.pilat_imagemode, "Continuous")
|
|
359
|
-
caput(pv.pilat_triggermode, "Internal")
|
|
360
|
-
yield from bps.sleep(0.2)
|
|
361
|
-
|
|
362
|
-
# Put it all back to GDA acceptable defaults
|
|
363
|
-
elif action == "return to normal":
|
|
364
|
-
caput(pv.pilat_imagemode, "Continuous")
|
|
365
|
-
caput(pv.pilat_triggermode, "Ext. Trigger")
|
|
366
|
-
caput(pv.pilat_numexpimage, 1)
|
|
367
|
-
SSX_LOGGER.debug("***** leaving pilatus")
|
|
368
|
-
yield from bps.sleep(0.1)
|
|
369
|
-
return 0
|
|
370
|
-
|
|
371
|
-
|
|
372
278
|
def eiger(action, args_list, dcm: DCM):
|
|
373
279
|
SSX_LOGGER.debug("***** Entering Eiger")
|
|
374
280
|
SSX_LOGGER.info(f"Setup eiger - {action}")
|
|
@@ -17,7 +17,6 @@ from mx_bluesky.beamlines.i24.serial.setup_beamline.ca import caget, caput
|
|
|
17
17
|
from mx_bluesky.beamlines.i24.serial.setup_beamline.pv_abstract import (
|
|
18
18
|
Detector,
|
|
19
19
|
Eiger,
|
|
20
|
-
Pilatus,
|
|
21
20
|
)
|
|
22
21
|
|
|
23
22
|
EXPT_TYPE_DETECTOR_PVS = {
|
|
@@ -28,7 +27,6 @@ EXPT_TYPE_DETECTOR_PVS = {
|
|
|
28
27
|
|
|
29
28
|
class DetRequest(IntEnum):
|
|
30
29
|
eiger = 0
|
|
31
|
-
pilatus = 1
|
|
32
30
|
|
|
33
31
|
def __str__(self) -> str:
|
|
34
32
|
return self.name
|
|
@@ -45,9 +43,6 @@ def get_detector_type(detector_stage: YZStage) -> Generator[Msg, None, Detector]
|
|
|
45
43
|
if float(det_y) < Eiger.det_y_threshold:
|
|
46
44
|
SSX_LOGGER.info("Eiger detector in use.")
|
|
47
45
|
return Eiger()
|
|
48
|
-
elif float(det_y) > Pilatus.det_y_threshold:
|
|
49
|
-
SSX_LOGGER.info("Pilatus detector in use.")
|
|
50
|
-
return Pilatus()
|
|
51
46
|
else:
|
|
52
47
|
SSX_LOGGER.error("Detector not found.")
|
|
53
48
|
raise UnknownDetectorType("Detector not found.")
|
|
@@ -68,10 +63,10 @@ def _get_requested_detector(det_type_pv: str) -> str:
|
|
|
68
63
|
a string or and int.
|
|
69
64
|
|
|
70
65
|
Returns:
|
|
71
|
-
str: The detector name as a string, currently "eiger"
|
|
66
|
+
str: The detector name as a string, currently "eiger".
|
|
72
67
|
"""
|
|
73
68
|
det_type = caget(det_type_pv)
|
|
74
|
-
if det_type in ["
|
|
69
|
+
if det_type in ["eiger"]:
|
|
75
70
|
return det_type
|
|
76
71
|
else:
|
|
77
72
|
try:
|
|
@@ -89,9 +84,8 @@ def setup_detector_stage(
|
|
|
89
84
|
det_type_pv = EXPT_TYPE_DETECTOR_PVS[expt_type]
|
|
90
85
|
requested_detector = _get_requested_detector(det_type_pv)
|
|
91
86
|
SSX_LOGGER.info(f"Requested detector: {requested_detector}.")
|
|
92
|
-
det_y_target =
|
|
93
|
-
|
|
94
|
-
)
|
|
87
|
+
det_y_target = Eiger.det_y_target
|
|
88
|
+
|
|
95
89
|
yield from _move_detector_stage(detector_stage, det_y_target)
|
|
96
90
|
caput(det_type_pv, requested_detector)
|
|
97
91
|
SSX_LOGGER.info("Detector setup done.")
|
|
@@ -24,7 +24,7 @@ from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
|
|
|
24
24
|
|
|
25
25
|
# Detector specific outs
|
|
26
26
|
TTL_EIGER = 1
|
|
27
|
-
|
|
27
|
+
TTL_LASER = 2
|
|
28
28
|
TTL_FAST_SHUTTER = 4
|
|
29
29
|
|
|
30
30
|
SHUTTER_MODE = {
|
|
@@ -171,12 +171,11 @@ def setup_zebra_for_extruder_with_pump_probe_plan(
|
|
|
171
171
|
|
|
172
172
|
For this use case, both the laser and detector set up is taken care of by the Zebra.
|
|
173
173
|
WARNING. This means that some hardware changes have been made.
|
|
174
|
-
|
|
175
|
-
detector in use is the Eiger, the Pilatus cable is repurposed to trigger
|
|
176
|
-
|
|
174
|
+
All four of the zebra ttl outputs are in use in this mode. When the \
|
|
175
|
+
detector in use is the Eiger, the previous Pilatus cable is repurposed to trigger \
|
|
176
|
+
the light source.
|
|
177
177
|
|
|
178
|
-
The data collection output is OUT1_TTL for Eiger and
|
|
179
|
-
should be set to AND3.
|
|
178
|
+
The data collection output is OUT1_TTL for Eiger and should be set to AND3.
|
|
180
179
|
|
|
181
180
|
Position compare settings:
|
|
182
181
|
- The gate input is on SOFT_IN2.
|
|
@@ -191,7 +190,7 @@ def setup_zebra_for_extruder_with_pump_probe_plan(
|
|
|
191
190
|
|
|
192
191
|
Args:
|
|
193
192
|
zebra (Zebra): The zebra ophyd device.
|
|
194
|
-
det_type (str): Detector in use
|
|
193
|
+
det_type (str): Detector in use.
|
|
195
194
|
exp_time (float): Collection exposure time, in s.
|
|
196
195
|
num_images (int): Number of images to be collected.
|
|
197
196
|
pump_exp (float): Laser dwell, in s.
|
|
@@ -210,8 +209,8 @@ def setup_zebra_for_extruder_with_pump_probe_plan(
|
|
|
210
209
|
yield from set_logic_gates_for_porto_triggering(zebra)
|
|
211
210
|
|
|
212
211
|
# Set TTL out depending on detector type
|
|
213
|
-
DET_TTL = TTL_EIGER
|
|
214
|
-
LASER_TTL =
|
|
212
|
+
DET_TTL = TTL_EIGER
|
|
213
|
+
LASER_TTL = TTL_LASER # may change with additional detectors
|
|
215
214
|
yield from bps.abs_set(
|
|
216
215
|
zebra.output.out_pvs[DET_TTL], zebra.mapping.sources.AND4, group=group
|
|
217
216
|
)
|
|
@@ -281,8 +280,7 @@ def setup_zebra_for_fastchip_plan(
|
|
|
281
280
|
|
|
282
281
|
For this use case, the laser set up is taken care of by the geobrick, leaving only \
|
|
283
282
|
the detector side set up to the Zebra.
|
|
284
|
-
The data collection output is OUT1_TTL for Eiger and
|
|
285
|
-
should be set to AND3.
|
|
283
|
+
The data collection output is OUT1_TTL for Eiger and should be set to AND3.
|
|
286
284
|
|
|
287
285
|
Position compare settings:
|
|
288
286
|
- The gate input is on IN3_TTL.
|
|
@@ -291,16 +289,14 @@ def setup_zebra_for_fastchip_plan(
|
|
|
291
289
|
- Trigger source set to the exposure time with a 100us buffer in order to \
|
|
292
290
|
avoid missing any triggers.
|
|
293
291
|
- The trigger width is calculated depending on which detector is in use: the \
|
|
294
|
-
|
|
295
|
-
the Eiger (used here in Externally Interrupter Exposure Series mode) \
|
|
292
|
+
Eiger (used here in Externally Interrupter Exposure Series mode) \
|
|
296
293
|
will only collect while the signal is high and will stop once a falling \
|
|
297
294
|
edge is detected. For this reason a square wave pulse width will be set to \
|
|
298
|
-
|
|
299
|
-
a small drop (~100um) for the Eiger.
|
|
295
|
+
the exposure time minus a small drop (~100um) for the Eiger.
|
|
300
296
|
|
|
301
297
|
Args:
|
|
302
298
|
zebra (Zebra): The zebra ophyd device.
|
|
303
|
-
det_type (str): Detector in use
|
|
299
|
+
det_type (str): Detector in use.
|
|
304
300
|
num_gates (int): Number of apertures to visit in a chip.
|
|
305
301
|
num_exposures (int): Number of times data is collected in each aperture.
|
|
306
302
|
exposure_time_s (float): Exposure time for each shot.
|
|
@@ -335,10 +331,6 @@ def setup_zebra_for_fastchip_plan(
|
|
|
335
331
|
yield from bps.abs_set(
|
|
336
332
|
zebra.output.out_pvs[TTL_EIGER], zebra.mapping.sources.AND3, group=group
|
|
337
333
|
)
|
|
338
|
-
if det_type == "pilatus":
|
|
339
|
-
yield from bps.abs_set(
|
|
340
|
-
zebra.output.out_pvs[TTL_PILATUS], zebra.mapping.sources.AND3, group=group
|
|
341
|
-
)
|
|
342
334
|
|
|
343
335
|
# Square wave - needs a small drop to make it work for eiger
|
|
344
336
|
pulse_width = (
|