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.
Files changed (63) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/aithre_lasershaping/__init__.py +2 -0
  3. mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +17 -0
  4. mx_bluesky/beamlines/i04/__init__.py +6 -1
  5. mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +0 -8
  6. mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +2 -3
  7. mx_bluesky/beamlines/i04/thawing_plan.py +174 -60
  8. mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +1 -1
  9. mx_bluesky/beamlines/i24/serial/dcid.py +4 -25
  10. mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +4 -7
  11. mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +5 -5
  12. mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -107
  13. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +11 -11
  14. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +2 -5
  15. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +80 -80
  16. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +120 -120
  17. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +143 -143
  18. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +2 -2
  19. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +3 -3
  20. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +24 -24
  21. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +19 -19
  22. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -92
  23. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +15 -30
  24. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +10 -10
  25. mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -2
  26. mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +1 -6
  27. mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
  28. mx_bluesky/beamlines/i24/serial/parameters/utils.py +1 -1
  29. mx_bluesky/beamlines/i24/serial/run_extruder.sh +15 -0
  30. mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +17 -0
  31. mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
  32. mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +1 -2
  33. mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +142 -160
  34. mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +1 -30
  35. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -94
  36. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +4 -10
  37. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +12 -20
  38. mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +4 -13
  39. mx_bluesky/beamlines/i24/serial/write_nexus.py +34 -9
  40. mx_bluesky/common/device_setup_plans/manipulate_sample.py +2 -2
  41. mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +2 -2
  42. mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +65 -0
  43. mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +2 -2
  44. mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +35 -17
  45. mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +1 -1
  46. mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
  47. mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +3 -2
  48. mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +2 -2
  49. mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
  50. mx_bluesky/common/parameters/constants.py +1 -0
  51. mx_bluesky/hyperion/baton_handler.py +50 -8
  52. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +5 -1
  53. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +6 -2
  54. mx_bluesky/hyperion/external_interaction/alerting/constants.py +2 -7
  55. mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +4 -0
  56. mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +54 -0
  57. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
  58. {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/METADATA +2 -2
  59. {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/RECORD +63 -61
  60. {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/WHEEL +0 -0
  61. {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/entry_points.txt +0 -0
  62. {mx_bluesky-1.5.3.dist-info → mx_bluesky-1.5.5.dist-info}/licenses/LICENSE +0 -0
  63. {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
- # ME14E
277
- me14e_pmac_str = "ME14E-MO-CHIP-01:PMAC_STRING"
278
- me14e_stage_x = "ME14E-MO-CHIP-01:X"
279
- me14e_stage_y = "ME14E-MO-CHIP-01:Y"
280
- me14e_stage_z = "ME14E-MO-CHIP-01:Z"
281
- me14e_filter = "ME14E-MO-CHIP-01:FILTER"
282
- me14e_filepath = "ME14E-MO-CHIP-01:filePath"
283
- me14e_chip_name = "ME14E-MO-CHIP-01:chipName"
284
- me14e_chipcapacity = "ME14E-MO-CHIP-01:chipCapacity"
285
- me14e_blockcapacity = "ME14E-MO-CHIP-01:blockCapacity"
286
- me14e_exptime = "ME14E-MO-CHIP-01:expTime"
287
- me14e_dcdetdist = "ME14E-MO-CHIP-01:detDistance"
288
- me14e_scanstatus = "BL24I-MO-STEP-14:signal:P2401"
289
- me14e_counter = "BL24I-MO-STEP-14:signal:P2402"
290
- # ME14E General Purpose PV
291
- me14e_gp1 = "ME14E-MO-IOC-01:GP1"
292
- me14e_gp2 = "ME14E-MO-IOC-01:GP2"
293
- me14e_gp3 = "ME14E-MO-IOC-01:GP3"
294
- me14e_gp4 = "ME14E-MO-IOC-01:GP4"
295
- me14e_gp5 = "ME14E-MO-IOC-01:GP5"
296
- me14e_gp6 = "ME14E-MO-IOC-01:GP6"
297
- me14e_gp7 = "ME14E-MO-IOC-01:GP7"
298
- me14e_gp8 = "ME14E-MO-IOC-01:GP8"
299
- me14e_gp9 = "ME14E-MO-IOC-01:GP9"
300
- me14e_gp10 = "ME14E-MO-IOC-01:GP10"
301
- me14e_gp11 = "ME14E-MO-IOC-01:GP11"
302
- me14e_gp12 = "ME14E-MO-IOC-01:GP12"
303
- me14e_gp13 = "ME14E-MO-IOC-01:GP13"
304
- me14e_gp14 = "ME14E-MO-IOC-01:GP14"
305
- me14e_gp15 = "ME14E-MO-IOC-01:GP15"
306
- me14e_gp16 = "ME14E-MO-IOC-01:GP16"
307
- me14e_gp17 = "ME14E-MO-IOC-01:GP17"
308
- me14e_gp18 = "ME14E-MO-IOC-01:GP18"
309
- me14e_gp19 = "ME14E-MO-IOC-01:GP19"
310
- me14e_gp20 = "ME14E-MO-IOC-01:GP20"
311
- me14e_gp21 = "ME14E-MO-IOC-01:GP21"
312
- me14e_gp22 = "ME14E-MO-IOC-01:GP22"
313
- me14e_gp23 = "ME14E-MO-IOC-01:GP23"
314
- me14e_gp24 = "ME14E-MO-IOC-01:GP24"
315
- me14e_gp25 = "ME14E-MO-IOC-01:GP25"
316
- me14e_gp26 = "ME14E-MO-IOC-01:GP26"
317
- me14e_gp27 = "ME14E-MO-IOC-01:GP27"
318
- me14e_gp28 = "ME14E-MO-IOC-01:GP28"
319
- me14e_gp29 = "ME14E-MO-IOC-01:GP29"
320
- me14e_gp30 = "ME14E-MO-IOC-01:GP30"
321
- me14e_gp31 = "ME14E-MO-IOC-01:GP31"
322
- me14e_gp32 = "ME14E-MO-IOC-01:GP32"
323
- me14e_gp33 = "ME14E-MO-IOC-01:GP33"
324
- me14e_gp34 = "ME14E-MO-IOC-01:GP34"
325
- me14e_gp35 = "ME14E-MO-IOC-01:GP35"
326
- me14e_gp36 = "ME14E-MO-IOC-01:GP36"
327
- me14e_gp37 = "ME14E-MO-IOC-01:GP37"
328
- me14e_gp38 = "ME14E-MO-IOC-01:GP38"
329
- me14e_gp39 = "ME14E-MO-IOC-01:GP39"
330
- me14e_gp40 = "ME14E-MO-IOC-01:GP40"
331
- me14e_gp41 = "ME14E-MO-IOC-01:GP41"
332
- me14e_gp42 = "ME14E-MO-IOC-01:GP42"
333
- me14e_gp43 = "ME14E-MO-IOC-01:GP43"
334
- me14e_gp44 = "ME14E-MO-IOC-01:GP44"
335
- me14e_gp45 = "ME14E-MO-IOC-01:GP45"
336
- me14e_gp46 = "ME14E-MO-IOC-01:GP46"
337
- me14e_gp47 = "ME14E-MO-IOC-01:GP47"
338
- me14e_gp48 = "ME14E-MO-IOC-01:GP48"
339
- me14e_gp49 = "ME14E-MO-IOC-01:GP49"
340
- me14e_gp50 = "ME14E-MO-IOC-01:GP50"
341
- me14e_gp51 = "ME14E-MO-IOC-01:GP51"
342
- me14e_gp52 = "ME14E-MO-IOC-01:GP52"
343
- me14e_gp53 = "ME14E-MO-IOC-01:GP53"
344
- me14e_gp54 = "ME14E-MO-IOC-01:GP54"
345
- me14e_gp55 = "ME14E-MO-IOC-01:GP55"
346
- me14e_gp56 = "ME14E-MO-IOC-01:GP56"
347
- me14e_gp57 = "ME14E-MO-IOC-01:GP57"
348
- me14e_gp58 = "ME14E-MO-IOC-01:GP58"
349
- me14e_gp59 = "ME14E-MO-IOC-01:GP59"
350
- me14e_gp60 = "ME14E-MO-IOC-01:GP60"
351
- me14e_gp61 = "ME14E-MO-IOC-01:GP61"
352
- me14e_gp62 = "ME14E-MO-IOC-01:GP62"
353
- me14e_gp63 = "ME14E-MO-IOC-01:GP63"
354
- me14e_gp64 = "ME14E-MO-IOC-01:GP64"
355
- me14e_gp65 = "ME14E-MO-IOC-01:GP65"
356
- me14e_gp66 = "ME14E-MO-IOC-01:GP66"
357
- me14e_gp67 = "ME14E-MO-IOC-01:GP67"
358
- me14e_gp68 = "ME14E-MO-IOC-01:GP68"
359
- me14e_gp69 = "ME14E-MO-IOC-01:GP69"
360
- me14e_gp70 = "ME14E-MO-IOC-01:GP70"
361
- me14e_gp71 = "ME14E-MO-IOC-01:GP71"
362
- me14e_gp72 = "ME14E-MO-IOC-01:GP72"
363
- me14e_gp73 = "ME14E-MO-IOC-01:GP73"
364
- me14e_gp74 = "ME14E-MO-IOC-01:GP74"
365
- me14e_gp75 = "ME14E-MO-IOC-01:GP75"
366
- me14e_gp76 = "ME14E-MO-IOC-01:GP76"
367
- me14e_gp77 = "ME14E-MO-IOC-01:GP77"
368
- me14e_gp78 = "ME14E-MO-IOC-01:GP78"
369
- me14e_gp79 = "ME14E-MO-IOC-01:GP79"
370
- me14e_gp80 = "ME14E-MO-IOC-01:GP80"
371
- me14e_gp81 = "ME14E-MO-IOC-01:GP81"
372
- me14e_gp82 = "ME14E-MO-IOC-01:GP82"
373
- me14e_gp83 = "ME14E-MO-IOC-01:GP83"
374
- me14e_gp84 = "ME14E-MO-IOC-01:GP84"
375
- me14e_gp85 = "ME14E-MO-IOC-01:GP85"
376
- me14e_gp86 = "ME14E-MO-IOC-01:GP86"
377
- me14e_gp87 = "ME14E-MO-IOC-01:GP87"
378
- me14e_gp88 = "ME14E-MO-IOC-01:GP88"
379
- me14e_gp89 = "ME14E-MO-IOC-01:GP89"
380
- me14e_gp90 = "ME14E-MO-IOC-01:GP90"
381
- me14e_gp91 = "ME14E-MO-IOC-01:GP91"
382
- me14e_gp92 = "ME14E-MO-IOC-01:GP92"
383
- me14e_gp93 = "ME14E-MO-IOC-01:GP93"
384
- me14e_gp94 = "ME14E-MO-IOC-01:GP94"
385
- me14e_gp95 = "ME14E-MO-IOC-01:GP95"
386
- me14e_gp96 = "ME14E-MO-IOC-01:GP96"
387
- me14e_gp97 = "ME14E-MO-IOC-01:GP97"
388
- me14e_gp98 = "ME14E-MO-IOC-01:GP98"
389
- me14e_gp99 = "ME14E-MO-IOC-01:GP99"
390
- me14e_gp100 = "ME14E-MO-IOC-01:GP100"
391
- me14e_gp101 = "ME14E-MO-IOC-01:GP101" # Detector in use
392
- me14e_gp102 = "ME14E-MO-IOC-01:GP102"
393
- me14e_gp103 = "ME14E-MO-IOC-01:GP103"
394
- me14e_gp104 = "ME14E-MO-IOC-01:GP104"
395
- me14e_gp105 = "ME14E-MO-IOC-01:GP105"
396
- me14e_gp106 = "ME14E-MO-IOC-01:GP106"
397
- me14e_gp107 = "ME14E-MO-IOC-01:GP107"
398
- me14e_gp108 = "ME14E-MO-IOC-01:GP108"
399
- me14e_gp109 = "ME14E-MO-IOC-01:GP109"
400
- me14e_gp110 = "ME14E-MO-IOC-01:GP110"
401
- me14e_gp111 = "ME14E-MO-IOC-01:GP111"
402
- me14e_gp112 = "ME14E-MO-IOC-01:GP112"
403
- me14e_gp113 = "ME14E-MO-IOC-01:GP113"
404
- me14e_gp114 = "ME14E-MO-IOC-01:GP114"
405
- me14e_gp115 = "ME14E-MO-IOC-01:GP115"
406
- me14e_gp116 = "ME14E-MO-IOC-01:GP116"
407
- me14e_gp117 = "ME14E-MO-IOC-01:GP117"
408
- me14e_gp118 = "ME14E-MO-IOC-01:GP118"
409
- me14e_gp119 = "ME14E-MO-IOC-01:GP119"
410
- me14e_gp120 = "ME14E-MO-IOC-01:GP120"
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 = Pilatus | Eiger
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" or "pilatus".
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 ["pilatus", "eiger"]:
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
- Eiger.det_y_target if requested_detector == "eiger" else Pilatus.det_y_target
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
- TTL_PILATUS = 2
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
- Because all four of the zebra ttl outputs are in use in this mode, when the \
175
- detector in use is the Eiger, the Pilatus cable is repurposed to trigger the light \
176
- source, and viceversa.
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 OUT2_TTL for Pilatus 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, current choices are Eiger or Pilatus.
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 if det_type == "eiger" else TTL_PILATUS
214
- LASER_TTL = TTL_PILATUS if det_type == "eiger" else TTL_EIGER
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 OUT2_TTL for Pilatus 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
- Pilatus only needs the trigger rising edge to collect for a set time, while \
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
- half the exposure time in the Pilatus case, and to the exposure time minus \
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, current choices are Eiger or Pilatus.
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 = (