mx-bluesky 1.5.11__py3-none-any.whl → 1.5.12__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 (85) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/__init__.py +0 -0
  3. mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/robot_load_plan.py +198 -0
  4. mx_bluesky/beamlines/aithre_lasershaping/parameters/__init__.py +0 -0
  5. mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py +17 -0
  6. mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py +13 -0
  7. mx_bluesky/beamlines/aithre_lasershaping/pin_tip_centring.py +31 -0
  8. mx_bluesky/beamlines/aithre_lasershaping/robot_load.py +80 -0
  9. mx_bluesky/beamlines/i04/__init__.py +6 -2
  10. mx_bluesky/beamlines/i04/callbacks/murko_callback.py +27 -12
  11. mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +87 -13
  12. mx_bluesky/beamlines/i04/external_interaction/__init__.py +0 -0
  13. mx_bluesky/beamlines/i04/external_interaction/config_server.py +15 -0
  14. mx_bluesky/beamlines/i04/oav_centering_plans/__init__.py +0 -0
  15. mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +115 -0
  16. mx_bluesky/beamlines/i04/parameters/__init__.py +0 -0
  17. mx_bluesky/beamlines/i04/parameters/constants.py +21 -0
  18. mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +24 -1
  19. mx_bluesky/beamlines/i04/thawing_plan.py +147 -152
  20. mx_bluesky/beamlines/i24/serial/dcid.py +4 -5
  21. mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py +5 -2
  22. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +11 -11
  23. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +3 -3
  24. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +142 -142
  25. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +135 -135
  26. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +8 -8
  27. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +13 -13
  28. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py +7 -4
  29. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py +35 -32
  30. mx_bluesky/beamlines/i24/serial/parameters/utils.py +5 -5
  31. mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +113 -306
  32. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +8 -2
  33. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -1
  34. mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +1 -1
  35. mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +64 -0
  36. mx_bluesky/{hyperion/device_setup_plans/smargon.py → common/device_setup_plans/gonio.py} +9 -6
  37. mx_bluesky/common/device_setup_plans/manipulate_sample.py +8 -1
  38. mx_bluesky/common/device_setup_plans/robot_load_unload.py +1 -1
  39. mx_bluesky/common/device_setup_plans/setup_oav.py +8 -0
  40. mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +0 -5
  41. mx_bluesky/common/device_setup_plans/xbpm_feedback.py +8 -1
  42. mx_bluesky/common/experiment_plans/beamstop_check.py +229 -0
  43. mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +2 -0
  44. mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +5 -2
  45. mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -1
  46. mx_bluesky/{hyperion → common}/experiment_plans/pin_tip_centring_plan.py +20 -21
  47. mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +5 -0
  48. mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +10 -12
  49. mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +3 -5
  50. mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +5 -5
  51. mx_bluesky/common/external_interaction/config_server.py +2 -2
  52. mx_bluesky/common/external_interaction/ispyb/data_model.py +11 -4
  53. mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +159 -2
  54. mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +76 -166
  55. mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -14
  56. mx_bluesky/common/parameters/components.py +1 -0
  57. mx_bluesky/common/parameters/constants.py +3 -2
  58. mx_bluesky/common/parameters/device_composites.py +4 -2
  59. mx_bluesky/common/utils/exceptions.py +15 -0
  60. mx_bluesky/common/utils/log.py +9 -0
  61. mx_bluesky/common/utils/utils.py +48 -0
  62. mx_bluesky/hyperion/__main__.py +3 -13
  63. mx_bluesky/hyperion/baton_handler.py +23 -6
  64. mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +5 -6
  65. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +3 -10
  66. mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +4 -2
  67. mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +8 -2
  68. mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -2
  69. mx_bluesky/hyperion/experiment_plans/udc_default_state.py +160 -0
  70. mx_bluesky/hyperion/external_interaction/agamemnon.py +1 -1
  71. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
  72. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +1 -0
  73. mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +1 -4
  74. mx_bluesky/hyperion/external_interaction/config_server.py +5 -5
  75. mx_bluesky/hyperion/parameters/constants.py +10 -3
  76. mx_bluesky/hyperion/parameters/device_composites.py +2 -2
  77. mx_bluesky/hyperion/parameters/robot_load.py +1 -9
  78. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/METADATA +6 -5
  79. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/RECORD +83 -69
  80. mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -86
  81. mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -29
  82. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/WHEEL +0 -0
  83. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/entry_points.txt +0 -0
  84. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/licenses/LICENSE +0 -0
  85. {mx_bluesky-1.5.11.dist-info → mx_bluesky-1.5.12.dist-info}/top_level.txt +0 -0
@@ -48,174 +48,14 @@ eiger_beamy = "BL24I-EA-EIGER-01:CAM:BeamY"
48
48
  eiger_omegaincr = "BL24I-EA-EIGER-01:CAM:OmegaIncr"
49
49
  eiger_od_filename_rbv = "BL24I-EA-EIGER-01:OD:FP:FileName_RBV"
50
50
 
51
- # BPMs
52
- qbpm1_inten = "BL24I-DI-QBPM-01:INTEN"
53
- qbpm1_inten_n = "BL24I-DI-QBPM-01:INTEN_N"
54
- qbpm2_inten = "BL24I-DI-QBPM-02:INTEN"
55
- qbpm2_inten_n = "BL24I-DI-QBPM-02:INTEN_N"
56
- qbpm3_inten = "BL24I-DI-QBPM-03:INTEN"
57
- qbpm3_inten_n = "BL24I-DI-QBPM-03:INTEN_N"
58
- # Cividec
59
- cividec_x = "BL24I-AL-XBPM-01:XS"
60
- cividec_y = "BL24I-AL-XBPM-01:YS"
61
- cividec_sum_i = "BL24I-EA-XBPM-01:SumAll:Sigma_RBV"
62
- cividec_beamx = "BL24I-EA-XBPM-01:PosX:MeanValue_RBV"
63
- cividec_beamy = "BL24I-EA-XBPM-01:PosY:MeanValue_RBV"
64
- # Lancelot
65
- lance_x = "BL24I-EA-DET-03:X"
66
- lance_y = "BL24I-EA-DET-03:Y"
67
- lance_beamx = "BL24I-EA-DET-03:STAT:CentroidX_RBV"
68
- lance_beamy = "BL24I-EA-DET-03:STAT:CentroidY_RBV"
69
- # FAST SHUTTER
70
- shtr_ctrl1 = "BL24I-EA-SHTR-01:CTRL1"
71
- shtr_ctrl2 = "BL24I-EA-SHTR-01:CTRL2"
72
- shtr_toggle = shtr_ctrl1
73
- shtr_pos = shtr_ctrl2
74
- # XPRESS3
75
- xsp3_acquire = "BL24I-EA-XSP3-01:Acquire"
76
- xsp3_erase = "BL24I-EA-XSP3-01:ERASE"
77
- xsp3_acquiretime = "BL24I-EA-XSP3-01:AcquireTime"
78
- xsp3_hdf5_filename = "BL24I-EA-XSP3-01:HDF5:FileName"
79
- xsp3_hdf5_filepath = "BL24I-EA-XSP3-01:HDF5:FilePath"
80
- xsp3_numimages = "BL24I-EA-XSP3-01:NumImages"
81
- xsp3_triggermode = "BL24I-EA-XSP3-01:TriggerMode"
82
- xsp3_c1_mca_roi1_llm = "BL24I-EA-XSP3-01:C1_MCA_ROI1_LLM"
83
- xsp3_c1_mca_roi2_llm = "BL24I-EA-XSP3-01:C1_MCA_ROI2_LLM"
84
- xsp3_c1_mca_roi3_llm = "BL24I-EA-XSP3-01:C1_MCA_ROI3_LLM"
85
- xsp3_c1_mca_roi4_llm = "BL24I-EA-XSP3-01:C1_MCA_ROI4_LLM"
86
- xsp3_c1_mca_roi1_hlm = "BL24I-EA-XSP3-01:C1_MCA_ROI1_HLM"
87
- xsp3_c1_mca_roi2_hlm = "BL24I-EA-XSP3-01:C1_MCA_ROI2_HLM"
88
- xsp3_c1_mca_roi3_hlm = "BL24I-EA-XSP3-01:C1_MCA_ROI3_HLM"
89
- xsp3_c1_mca_roi4_hlm = "BL24I-EA-XSP3-01:C1_MCA_ROI4_HLM"
90
- xsp3_c1_roi1_value_rbv = "BL24I-EA-XSP3-01:C1_ROI1:Value_RBV"
91
- xsp3_c1_roi2_value_rbv = "BL24I-EA-XSP3-01:C1_ROI2:Value_RBV"
92
- xsp3_c1_roi3_value_rbv = "BL24I-EA-XSP3-01:C1_ROI3:Value_RBV"
93
- xsp3_c1_roi4_value_rbv = "BL24I-EA-XSP3-01:C1_ROI4:Value_RBV"
94
- # Ring parameter
95
- ring_current = "SR-DI-DCCT-01:SIGNAL"
96
- ring_energy = "CS-CS-MSTAT-01:BEAMENERGY"
97
- beam_energy = "BL24I-OP-DCM-01:ENERGY.RBV"
98
- # Shutter status
99
- port_shutter_status = "FE24I-PS-SHTR-01:STA"
100
- optics_hutch_shutter_status = "FE24I-VA-GROUP-01:BLENABLE"
101
- experimental_hutch_shutter_status = "BL24I-PS-SHTR-01:STA"
102
- # S1
103
- s1_x_gap = "BL24I-AL-SLITS-01:X:GAP"
104
- s1_x_inboard = "BL24I-AL-SLITS-01:X:INBOARD"
105
- s1_y_gap = "BL24I-AL-SLITS-01:Y:GAP"
106
- s1_y_bottom = "BL24I-AL-SLITS-01:Y:BOTTOM"
107
- # Mono
108
- dcm_bragg = "BL24I-MO-DCM-01:BRAGG"
109
- dcm_gap = "BL24I-MO-DCM-01:GAP"
110
- dcm_roll1 = "BL24I-MO-DCM-01:XTAL1:ROLL"
111
- dcm_roll2 = "BL24I-MO-DCM-01:XTAL2:ROLL"
112
- dcm_pitch2 = "BL24I-MO-DCM-01:XTAL2:PITCH"
113
- dcm_energy = "BL24I-MO-DCM-01:ENERGY"
114
-
115
- # S2
116
- s2_x_plus = "BL24I-AL-SLITS-02:X:PLUS"
117
- s2_x_minus = "BL24I-AL-SLITS-02:X:MINUS"
118
- s2_y_plus = "BL24I-AL-SLITS-02:Y:PLUS"
119
- s2_y_minus = "BL24I-AL-SLITS-02:Y:MINUS"
120
- # PreFocussing Mirrors
121
- hpfm_y1 = "BL24I-OP-HPFM-01:Y1"
122
- hpfm_y2 = "BL24I-OP-HPFM-01:Y2"
123
- hpfm_y3 = "BL24I-OP-HPFM-01:Y3"
124
- hpfm_x1 = "BL24I-OP-HPFM-01:X1"
125
- hpfm_x2 = "BL24I-OP-HPFM-01:X2"
126
- vpfm_y1 = "BL24I-OP-VPFM-01:Y1"
127
- vpfm_y2 = "BL24I-OP-VPFM-01:Y2"
128
- vpfm_y3 = "BL24I-OP-VPFM-01:Y3"
129
- vpfm_x1 = "BL24I-OP-VPFM-01:X1"
130
- vpfm_x2 = "BL24I-OP-VPFM-01:X2"
131
- # S3
132
- s3_x_gap = "BL24I-AL-SLITS-03:X:GAP"
133
- s3_x_inboard = "BL24I-AL-SLITS-03:X:INBOARD"
134
- s3_y_gap = "BL24I-AL-SLITS-03:Y:GAP"
135
- s3_y_top = "BL24I-AL-SLITS-03:Y:TOP"
136
- # MicroFocussing Mirrors
137
- hmfm_x = "BL24I-OP-HMFM-01:X"
138
- hmfm_y = "BL24I-OP-HMFM-01:Y"
139
- hmfm_pitch = "BL24I-OP-HMFM-01:PITCH"
140
- vmfm_x = "BL24I-OP-VMFM-01:X"
141
- vmfm_y = "BL24I-OP-VMFM-01:Y"
142
- vmfm_pitch = "BL24I-OP-VMFM-01:PITCH"
143
- mtab_z = "BL24I-OP-MTAB-01:Z"
144
- # Collimation Table
145
- ctab_x1 = "BL24I-MO-CTAB-01:X1"
146
- ctab_x2 = "BL24I-MO-CTAB-01:X2"
147
- # Attenuators
148
- attn_disc1 = "BL24I-OP-ATTN-01:DISC1"
149
- attn_disc2 = "BL24I-OP-ATTN-01:DISC2"
150
- attn_match = "BL24I-OP-ATTN-01:MATCH"
151
- # AP1
152
- aptr1_x = "BL24I-AL-APTR-01:X"
153
- aptr1_y = "BL24I-AL-APTR-01:Y"
154
- aptr1_mp_select = "BL24I-AL-APTR-01:MP:SELECT"
155
- # AP2
156
- aptr2_x = "BL24I-AL-APTR-02:X"
157
- aptr2_y = "BL24I-AL-APTR-02:Y"
158
- aptr2_mp_select = "BL24I-AL-APTR-02:MP:SELECT"
159
- # Vertical Pin Goniometer
160
- vgon_omega = "BL24I-MO-VGON-01:OMEGA"
161
- vgon_kappa = "BL24I-MO-VGON-01:KAPPA"
162
- vgon_phi = "BL24I-MO-VGON-01:PHI"
163
- vgon_pinxs = "BL24I-MO-VGON-01:PINXS"
164
- vgon_pinys = "BL24I-MO-VGON-01:PINYS"
165
- vgon_pinzs = "BL24I-MO-VGON-01:PINZS"
166
- vgon_pinyh = "BL24I-MO-VGON-01:PINYH"
167
- ptab_x = "BL24I-MO-PTAB-01:X"
168
- ptab_z = "BL24I-MO-PTAB-01:Z"
169
- ptab_y = "BL24I-MO-PTAB-01:Y"
170
- # Horizontal Tray Goniometer
171
- hgon_omega = "BL24I-MO-HGON-01:OMEGA"
172
- hgon_trayys = "BL24I-MO-HGON-01:TRAYYS"
173
- hgon_trayzs = "BL24I-MO-HGON-01:TRAYZS"
174
- ttab_x = "BL24I-MO-TTAB-01:X"
175
- ttab_y = "BL24I-MO-TTAB-01:Y"
176
- ttab_z = "BL24I-MO-TTAB-01:Z"
177
- # Cryo
178
- cstrm_trans = "BL24I-MO-CSTRM-01:TRANS"
179
- cstrm_mp_select = "BL24I-MO-CSTRM-01:MP:SELECT"
180
- cstrm_p1701 = "BL24I-MO-CSTRM-01:P1701"
181
- # Fluorescence Detector
182
- fluo_trans = "BL24I-EA-DET-02:TRANS"
183
- fluo_out_limit = "BL24I-EA-DET-02:OUT:LIMIT"
184
- fluo_in_limit = "BL24I-EA-DET-02:IN:LIMIT"
185
- # Beamstop
186
- bs_x = "BL24I-MO-BS-01:X"
187
- bs_y = "BL24I-MO-BS-01:Y"
188
- bs_z = "BL24I-MO-BS-01:Z"
189
- bs_roty = "BL24I-MO-BS-01:ROTY"
190
- bs_mp_select = "BL24I-MO-BS-01:MP:SELECT"
191
- # Backlight
192
- bl_y = "BL24I-MO-BL-01:Y"
193
- bl_mp_select = "BL24I-MO-BL-01:MP:SELECT"
194
- # LED
195
- led1_doxcurrent_ouputcurrent = "BL24I-DI-LED-01:DOXCURRENT:OUTPUTCURRENT"
196
- led2_doxcurrent_ouputcurrent = "BL24I-DI-LED-02:DOXCURRENT:OUTPUTCURRENT"
197
- led3_doxcurrent_ouputcurrent = "BL24I-DI-LED-03:DOXCURRENT:OUTPUTCURRENT"
198
- led4_doxcurrent_ouputcurrent = "BL24I-DI-LED-04:DOXCURRENT:OUTPUTCURRENT"
199
- # Detector
200
- det_y = "BL24I-EA-DET-01:Y"
201
- det_z = "BL24I-EA-DET-01:Z"
202
- # Fast grid diagnostics
203
- pmc_gridstatus = "BL24I-MO-STEP-10:signal:P2401"
204
- pmc_gridcounter = "BL24I-MO-STEP-10:signal:P2402"
205
-
206
- # PMAC Strings
207
- step08_pmac_str = "BL24I-MO-IOC-08:ASYN8.AOUT"
208
- step09_pmac_str = "BL24I-MO-IOC-09:ASYN9.AOUT"
209
- step10_pmac_str = "BL24I-MO-IOC-10:ASYN10.AOUT"
210
- step11_pmac_str = "BL24I-MO-IOC-11:ASYN11.AOUT"
211
- step12_pmac_str = "BL24I-MO-IOC-12:ASYN12.AOUT"
212
- step13_pmac_str = "BL24I-MO-IOC-13:PMAC:console"
213
- step08_pmac_response = "BL24I-MO-IOC-08:ASYN8.AINP"
214
- step09_pmac_response = "BL24I-MO-IOC-09:ASYN9.AINP"
215
- step10_pmac_response = "BL24I-MO-IOC-10:ASYN10.AINP"
216
- step11_pmac_response = "BL24I-MO-IOC-11:ASYN11.AINP"
217
- step12_pmac_response = "BL24I-MO-IOC-12:ASYN12.AINP"
218
- step13_pmac_response = "BL24I-MO-IOC-13:PMAC:console_RBV"
51
+ # BL24I beamline-specific labelled PVs
52
+ me14e_filter = "BL24I-EA-CHIP-01:FILTER" # to check
53
+ me14e_filepath = "BL24I-MO-CHIP-01:filePath"
54
+ me14e_chip_name = "BL24I-MO-CHIP-01:chipName"
55
+ me14e_chipcapacity = "BL24I-MO-CHIP-01:chipCapacity"
56
+ me14e_blockcapacity = "BL24I-MO-CHIP-01:blockCapacity"
57
+ me14e_exptime = "BL24I-MO-CHIP-01:expTime"
58
+ me14e_dcdetdist = "BL24I-MO-CHIP-01:detDistance"
219
59
 
220
60
  # General Purpose PV. Now use STEP13
221
61
  ioc13_gp1 = "BL24I-MO-IOC-13:GP1"
@@ -233,141 +73,108 @@ ioc13_gp12 = "BL24I-MO-IOC-13:GP12"
233
73
  ioc13_gp13 = "BL24I-MO-IOC-13:GP13"
234
74
  ioc13_gp14 = "BL24I-MO-IOC-13:GP14"
235
75
  ioc13_gp15 = "BL24I-MO-IOC-13:GP15"
236
-
237
- # BL24I beamline-specific labelled PVs
238
- me14e_filter = "BL24I-EA-CHIP-01:FILTER" # to check
239
- me14e_filepath = "BL24I-MO-CHIP-01:filePath"
240
- me14e_chip_name = "BL24I-MO-CHIP-01:chipName"
241
- me14e_chipcapacity = "BL24I-MO-CHIP-01:chipCapacity"
242
- me14e_blockcapacity = "BL24I-MO-CHIP-01:blockCapacity"
243
- me14e_exptime = "BL24I-MO-CHIP-01:expTime"
244
- me14e_dcdetdist = "BL24I-MO-CHIP-01:detDistance"
245
-
246
- # STEP-13 chip motion
247
- ioc13_filepath = "BL24I-MO-CHIP-01:filePath"
248
- ioc13_chip_name = "BL24I-MO-CHIP-01:chipName"
249
- ioc13_chipcapacity = "BL24I-MO-CHIP-01:chipCapacity"
250
- ioc13_blockcapacity = "BL24I-MO-CHIP-01:blockCapacity"
251
- ioc13_exptime = "BL24I-MO-CHIP-01:expTime"
252
- ioc13_dcdetdist = "BL24I-MO-CHIP-01:detDistance"
253
-
254
- me14e_gp1 = "BL24I-MO-IOC-13:GP1"
255
- me14e_gp2 = "BL24I-MO-IOC-13:GP2"
256
- me14e_gp3 = "BL24I-MO-IOC-13:GP3"
257
- me14e_gp4 = "BL24I-MO-IOC-13:GP4"
258
- me14e_gp5 = "BL24I-MO-IOC-13:GP5"
259
- me14e_gp6 = "BL24I-MO-IOC-13:GP6"
260
- me14e_gp7 = "BL24I-MO-IOC-13:GP7"
261
- me14e_gp8 = "BL24I-MO-IOC-13:GP8"
262
- me14e_gp9 = "BL24I-MO-IOC-13:GP9"
263
- me14e_gp10 = "BL24I-MO-IOC-13:GP10"
264
- me14e_gp11 = "BL24I-MO-IOC-13:GP11"
265
- me14e_gp12 = "BL24I-MO-IOC-13:GP12"
266
- me14e_gp13 = "BL24I-MO-IOC-13:GP13"
267
- me14e_gp14 = "BL24I-MO-IOC-13:GP14"
268
- me14e_gp15 = "BL24I-MO-IOC-13:GP15"
269
- me14e_gp16 = "BL24I-MO-IOC-13:GP16"
270
- me14e_gp17 = "BL24I-MO-IOC-13:GP17"
271
- me14e_gp18 = "BL24I-MO-IOC-13:GP18"
272
- me14e_gp19 = "BL24I-MO-IOC-13:GP19"
273
- me14e_gp20 = "BL24I-MO-IOC-13:GP20"
274
- me14e_gp21 = "BL24I-MO-IOC-13:GP21"
275
- me14e_gp22 = "BL24I-MO-IOC-13:GP22"
276
- me14e_gp23 = "BL24I-MO-IOC-13:GP23"
277
- me14e_gp24 = "BL24I-MO-IOC-13:GP24"
278
- me14e_gp25 = "BL24I-MO-IOC-13:GP25"
279
- me14e_gp26 = "BL24I-MO-IOC-13:GP26"
280
- me14e_gp27 = "BL24I-MO-IOC-13:GP27"
281
- me14e_gp28 = "BL24I-MO-IOC-13:GP28"
282
- me14e_gp29 = "BL24I-MO-IOC-13:GP29"
283
- me14e_gp30 = "BL24I-MO-IOC-13:GP30"
284
- me14e_gp31 = "BL24I-MO-IOC-13:GP31"
285
- me14e_gp32 = "BL24I-MO-IOC-13:GP32"
286
- me14e_gp33 = "BL24I-MO-IOC-13:GP33"
287
- me14e_gp34 = "BL24I-MO-IOC-13:GP34"
288
- me14e_gp35 = "BL24I-MO-IOC-13:GP35"
289
- me14e_gp36 = "BL24I-MO-IOC-13:GP36"
290
- me14e_gp37 = "BL24I-MO-IOC-13:GP37"
291
- me14e_gp38 = "BL24I-MO-IOC-13:GP38"
292
- me14e_gp39 = "BL24I-MO-IOC-13:GP39"
293
- me14e_gp40 = "BL24I-MO-IOC-13:GP40"
294
- me14e_gp41 = "BL24I-MO-IOC-13:GP41"
295
- me14e_gp42 = "BL24I-MO-IOC-13:GP42"
296
- me14e_gp43 = "BL24I-MO-IOC-13:GP43"
297
- me14e_gp44 = "BL24I-MO-IOC-13:GP44"
298
- me14e_gp45 = "BL24I-MO-IOC-13:GP45"
299
- me14e_gp46 = "BL24I-MO-IOC-13:GP46"
300
- me14e_gp47 = "BL24I-MO-IOC-13:GP47"
301
- me14e_gp48 = "BL24I-MO-IOC-13:GP48"
302
- me14e_gp49 = "BL24I-MO-IOC-13:GP49"
303
- me14e_gp50 = "BL24I-MO-IOC-13:GP50"
304
- me14e_gp51 = "BL24I-MO-IOC-13:GP51"
305
- me14e_gp52 = "BL24I-MO-IOC-13:GP52"
306
- me14e_gp53 = "BL24I-MO-IOC-13:GP53"
307
- me14e_gp54 = "BL24I-MO-IOC-13:GP54"
308
- me14e_gp55 = "BL24I-MO-IOC-13:GP55"
309
- me14e_gp56 = "BL24I-MO-IOC-13:GP56"
310
- me14e_gp57 = "BL24I-MO-IOC-13:GP57"
311
- me14e_gp58 = "BL24I-MO-IOC-13:GP58"
312
- me14e_gp59 = "BL24I-MO-IOC-13:GP59"
313
- me14e_gp60 = "BL24I-MO-IOC-13:GP60"
314
- me14e_gp61 = "BL24I-MO-IOC-13:GP61"
315
- me14e_gp62 = "BL24I-MO-IOC-13:GP62"
316
- me14e_gp63 = "BL24I-MO-IOC-13:GP63"
317
- me14e_gp64 = "BL24I-MO-IOC-13:GP64"
318
- me14e_gp65 = "BL24I-MO-IOC-13:GP65"
319
- me14e_gp66 = "BL24I-MO-IOC-13:GP66"
320
- me14e_gp67 = "BL24I-MO-IOC-13:GP67"
321
- me14e_gp68 = "BL24I-MO-IOC-13:GP68"
322
- me14e_gp69 = "BL24I-MO-IOC-13:GP69"
323
- me14e_gp70 = "BL24I-MO-IOC-13:GP70"
324
- me14e_gp71 = "BL24I-MO-IOC-13:GP71"
325
- me14e_gp72 = "BL24I-MO-IOC-13:GP72"
326
- me14e_gp73 = "BL24I-MO-IOC-13:GP73"
327
- me14e_gp74 = "BL24I-MO-IOC-13:GP74"
328
- me14e_gp75 = "BL24I-MO-IOC-13:GP75"
329
- me14e_gp76 = "BL24I-MO-IOC-13:GP76"
330
- me14e_gp77 = "BL24I-MO-IOC-13:GP77"
331
- me14e_gp78 = "BL24I-MO-IOC-13:GP78"
332
- me14e_gp79 = "BL24I-MO-IOC-13:GP79"
333
- me14e_gp80 = "BL24I-MO-IOC-13:GP80"
334
- me14e_gp81 = "BL24I-MO-IOC-13:GP81"
335
- me14e_gp82 = "BL24I-MO-IOC-13:GP82"
336
- me14e_gp83 = "BL24I-MO-IOC-13:GP83"
337
- me14e_gp84 = "BL24I-MO-IOC-13:GP84"
338
- me14e_gp85 = "BL24I-MO-IOC-13:GP85"
339
- me14e_gp86 = "BL24I-MO-IOC-13:GP86"
340
- me14e_gp87 = "BL24I-MO-IOC-13:GP87"
341
- me14e_gp88 = "BL24I-MO-IOC-13:GP88"
342
- me14e_gp89 = "BL24I-MO-IOC-13:GP89"
343
- me14e_gp90 = "BL24I-MO-IOC-13:GP90"
344
- me14e_gp91 = "BL24I-MO-IOC-13:GP91"
345
- me14e_gp92 = "BL24I-MO-IOC-13:GP92"
346
- me14e_gp93 = "BL24I-MO-IOC-13:GP93"
347
- me14e_gp94 = "BL24I-MO-IOC-13:GP94"
348
- me14e_gp95 = "BL24I-MO-IOC-13:GP95"
349
- me14e_gp96 = "BL24I-MO-IOC-13:GP96"
350
- me14e_gp97 = "BL24I-MO-IOC-13:GP97"
351
- me14e_gp98 = "BL24I-MO-IOC-13:GP98"
352
- me14e_gp99 = "BL24I-MO-IOC-13:GP99"
353
- me14e_gp100 = "BL24I-MO-IOC-13:GP100"
354
- me14e_gp101 = "BL24I-MO-IOC-13:GP101" # Detector in use
355
- me14e_gp102 = "BL24I-MO-IOC-13:GP102"
356
- me14e_gp103 = "BL24I-MO-IOC-13:GP103"
357
- me14e_gp104 = "BL24I-MO-IOC-13:GP104"
358
- me14e_gp105 = "BL24I-MO-IOC-13:GP105"
359
- me14e_gp106 = "BL24I-MO-IOC-13:GP106"
360
- me14e_gp107 = "BL24I-MO-IOC-13:GP107"
361
- me14e_gp108 = "BL24I-MO-IOC-13:GP108"
362
- me14e_gp109 = "BL24I-MO-IOC-13:GP109"
363
- me14e_gp110 = "BL24I-MO-IOC-13:GP110"
364
- me14e_gp111 = "BL24I-MO-IOC-13:GP111"
365
- me14e_gp112 = "BL24I-MO-IOC-13:GP112"
366
- me14e_gp113 = "BL24I-MO-IOC-13:GP113"
367
- me14e_gp114 = "BL24I-MO-IOC-13:GP114"
368
- me14e_gp115 = "BL24I-MO-IOC-13:GP115"
369
- me14e_gp116 = "BL24I-MO-IOC-13:GP116"
370
- me14e_gp117 = "BL24I-MO-IOC-13:GP117"
371
- me14e_gp118 = "BL24I-MO-IOC-13:GP118"
372
- me14e_gp119 = "BL24I-MO-IOC-13:GP119"
373
- me14e_gp120 = "BL24I-MO-IOC-13:GP120"
76
+ ioc13_gp16 = "BL24I-MO-IOC-13:GP16"
77
+ ioc13_gp17 = "BL24I-MO-IOC-13:GP17"
78
+ ioc13_gp18 = "BL24I-MO-IOC-13:GP18"
79
+ ioc13_gp19 = "BL24I-MO-IOC-13:GP19"
80
+ ioc13_gp20 = "BL24I-MO-IOC-13:GP20"
81
+ ioc13_gp21 = "BL24I-MO-IOC-13:GP21"
82
+ ioc13_gp22 = "BL24I-MO-IOC-13:GP22"
83
+ ioc13_gp23 = "BL24I-MO-IOC-13:GP23"
84
+ ioc13_gp24 = "BL24I-MO-IOC-13:GP24"
85
+ ioc13_gp25 = "BL24I-MO-IOC-13:GP25"
86
+ ioc13_gp26 = "BL24I-MO-IOC-13:GP26"
87
+ ioc13_gp27 = "BL24I-MO-IOC-13:GP27"
88
+ ioc13_gp28 = "BL24I-MO-IOC-13:GP28"
89
+ ioc13_gp29 = "BL24I-MO-IOC-13:GP29"
90
+ ioc13_gp30 = "BL24I-MO-IOC-13:GP30"
91
+ ioc13_gp31 = "BL24I-MO-IOC-13:GP31"
92
+ ioc13_gp32 = "BL24I-MO-IOC-13:GP32"
93
+ ioc13_gp33 = "BL24I-MO-IOC-13:GP33"
94
+ ioc13_gp34 = "BL24I-MO-IOC-13:GP34"
95
+ ioc13_gp35 = "BL24I-MO-IOC-13:GP35"
96
+ ioc13_gp36 = "BL24I-MO-IOC-13:GP36"
97
+ ioc13_gp37 = "BL24I-MO-IOC-13:GP37"
98
+ ioc13_gp38 = "BL24I-MO-IOC-13:GP38"
99
+ ioc13_gp39 = "BL24I-MO-IOC-13:GP39"
100
+ ioc13_gp40 = "BL24I-MO-IOC-13:GP40"
101
+ ioc13_gp41 = "BL24I-MO-IOC-13:GP41"
102
+ ioc13_gp42 = "BL24I-MO-IOC-13:GP42"
103
+ ioc13_gp43 = "BL24I-MO-IOC-13:GP43"
104
+ ioc13_gp44 = "BL24I-MO-IOC-13:GP44"
105
+ ioc13_gp45 = "BL24I-MO-IOC-13:GP45"
106
+ ioc13_gp46 = "BL24I-MO-IOC-13:GP46"
107
+ ioc13_gp47 = "BL24I-MO-IOC-13:GP47"
108
+ ioc13_gp48 = "BL24I-MO-IOC-13:GP48"
109
+ ioc13_gp49 = "BL24I-MO-IOC-13:GP49"
110
+ ioc13_gp50 = "BL24I-MO-IOC-13:GP50"
111
+ ioc13_gp51 = "BL24I-MO-IOC-13:GP51"
112
+ ioc13_gp52 = "BL24I-MO-IOC-13:GP52"
113
+ ioc13_gp53 = "BL24I-MO-IOC-13:GP53"
114
+ ioc13_gp54 = "BL24I-MO-IOC-13:GP54"
115
+ ioc13_gp55 = "BL24I-MO-IOC-13:GP55"
116
+ ioc13_gp56 = "BL24I-MO-IOC-13:GP56"
117
+ ioc13_gp57 = "BL24I-MO-IOC-13:GP57"
118
+ ioc13_gp58 = "BL24I-MO-IOC-13:GP58"
119
+ ioc13_gp59 = "BL24I-MO-IOC-13:GP59"
120
+ ioc13_gp60 = "BL24I-MO-IOC-13:GP60"
121
+ ioc13_gp61 = "BL24I-MO-IOC-13:GP61"
122
+ ioc13_gp62 = "BL24I-MO-IOC-13:GP62"
123
+ ioc13_gp63 = "BL24I-MO-IOC-13:GP63"
124
+ ioc13_gp64 = "BL24I-MO-IOC-13:GP64"
125
+ ioc13_gp65 = "BL24I-MO-IOC-13:GP65"
126
+ ioc13_gp66 = "BL24I-MO-IOC-13:GP66"
127
+ ioc13_gp67 = "BL24I-MO-IOC-13:GP67"
128
+ ioc13_gp68 = "BL24I-MO-IOC-13:GP68"
129
+ ioc13_gp69 = "BL24I-MO-IOC-13:GP69"
130
+ ioc13_gp70 = "BL24I-MO-IOC-13:GP70"
131
+ ioc13_gp71 = "BL24I-MO-IOC-13:GP71"
132
+ ioc13_gp72 = "BL24I-MO-IOC-13:GP72"
133
+ ioc13_gp73 = "BL24I-MO-IOC-13:GP73"
134
+ ioc13_gp74 = "BL24I-MO-IOC-13:GP74"
135
+ ioc13_gp75 = "BL24I-MO-IOC-13:GP75"
136
+ ioc13_gp76 = "BL24I-MO-IOC-13:GP76"
137
+ ioc13_gp77 = "BL24I-MO-IOC-13:GP77"
138
+ ioc13_gp78 = "BL24I-MO-IOC-13:GP78"
139
+ ioc13_gp79 = "BL24I-MO-IOC-13:GP79"
140
+ ioc13_gp80 = "BL24I-MO-IOC-13:GP80"
141
+ ioc13_gp81 = "BL24I-MO-IOC-13:GP81"
142
+ ioc13_gp82 = "BL24I-MO-IOC-13:GP82"
143
+ ioc13_gp83 = "BL24I-MO-IOC-13:GP83"
144
+ ioc13_gp84 = "BL24I-MO-IOC-13:GP84"
145
+ ioc13_gp85 = "BL24I-MO-IOC-13:GP85"
146
+ ioc13_gp86 = "BL24I-MO-IOC-13:GP86"
147
+ ioc13_gp87 = "BL24I-MO-IOC-13:GP87"
148
+ ioc13_gp88 = "BL24I-MO-IOC-13:GP88"
149
+ ioc13_gp89 = "BL24I-MO-IOC-13:GP89"
150
+ ioc13_gp90 = "BL24I-MO-IOC-13:GP90"
151
+ ioc13_gp91 = "BL24I-MO-IOC-13:GP91"
152
+ ioc13_gp92 = "BL24I-MO-IOC-13:GP92"
153
+ ioc13_gp93 = "BL24I-MO-IOC-13:GP93"
154
+ ioc13_gp94 = "BL24I-MO-IOC-13:GP94"
155
+ ioc13_gp95 = "BL24I-MO-IOC-13:GP95"
156
+ ioc13_gp96 = "BL24I-MO-IOC-13:GP96"
157
+ ioc13_gp97 = "BL24I-MO-IOC-13:GP97"
158
+ ioc13_gp98 = "BL24I-MO-IOC-13:GP98"
159
+ ioc13_gp99 = "BL24I-MO-IOC-13:GP99"
160
+ ioc13_gp100 = "BL24I-MO-IOC-13:GP100"
161
+ ioc13_gp101 = "BL24I-MO-IOC-13:GP101"
162
+ ioc13_gp102 = "BL24I-MO-IOC-13:GP102"
163
+ ioc13_gp103 = "BL24I-MO-IOC-13:GP103"
164
+ ioc13_gp104 = "BL24I-MO-IOC-13:GP104"
165
+ ioc13_gp105 = "BL24I-MO-IOC-13:GP105"
166
+ ioc13_gp106 = "BL24I-MO-IOC-13:GP106"
167
+ ioc13_gp107 = "BL24I-MO-IOC-13:GP107"
168
+ ioc13_gp108 = "BL24I-MO-IOC-13:GP108"
169
+ ioc13_gp109 = "BL24I-MO-IOC-13:GP109"
170
+ ioc13_gp110 = "BL24I-MO-IOC-13:GP110"
171
+ ioc13_gp111 = "BL24I-MO-IOC-13:GP111"
172
+ ioc13_gp112 = "BL24I-MO-IOC-13:GP112"
173
+ ioc13_gp113 = "BL24I-MO-IOC-13:GP113"
174
+ ioc13_gp114 = "BL24I-MO-IOC-13:GP114"
175
+ ioc13_gp115 = "BL24I-MO-IOC-13:GP115"
176
+ ioc13_gp116 = "BL24I-MO-IOC-13:GP116"
177
+ ioc13_gp117 = "BL24I-MO-IOC-13:GP117"
178
+ ioc13_gp118 = "BL24I-MO-IOC-13:GP118"
179
+ ioc13_gp119 = "BL24I-MO-IOC-13:GP119"
180
+ ioc13_gp120 = "BL24I-MO-IOC-13:GP120"
@@ -96,13 +96,19 @@ def set_detector_beam_center_plan(
96
96
  yield from bps.wait(group=group)
97
97
 
98
98
 
99
- def eiger(action, args_list, dcm: DCM):
99
+ def eiger(
100
+ action,
101
+ args_list,
102
+ dcm: DCM,
103
+ detector_stage: YZStage,
104
+ ):
100
105
  SSX_LOGGER.debug("***** Entering Eiger")
101
106
  SSX_LOGGER.info(f"Setup eiger - {action}")
102
107
  if args_list:
103
108
  for arg in args_list:
104
109
  SSX_LOGGER.debug(f"Argument: {arg}")
105
- caput(pv.eiger_detdist, str(float(caget(pv.det_z)) / 1000))
110
+ det_z = yield from bps.rd(detector_stage.z.user_readback)
111
+ caput(pv.eiger_detdist, str(det_z / 1000))
106
112
  dcm_wavelength_a = yield from bps.rd(dcm.wavelength_in_a.user_readback)
107
113
  caput(pv.eiger_wavelength, dcm_wavelength_a)
108
114
  caput(pv.eiger_omegaincr, 0.0)
@@ -20,7 +20,7 @@ from mx_bluesky.beamlines.i24.serial.setup_beamline.pv_abstract import (
20
20
  )
21
21
 
22
22
  EXPT_TYPE_DETECTOR_PVS = {
23
- SSXType.FIXED: pv.me14e_gp101,
23
+ SSXType.FIXED: pv.ioc13_gp101,
24
24
  SSXType.EXTRUDER: pv.ioc13_gp15,
25
25
  }
26
26
 
@@ -108,7 +108,7 @@ def gui_move_detector(
108
108
  yield from _move_detector_stage(detector_stage, det_y_target)
109
109
  # Make the output readable
110
110
  SSX_LOGGER.debug(f"Detector move done, resetting general PV to {det}")
111
- caput(pv.me14e_gp101, det)
111
+ caput(pv.ioc13_gp101, det)
112
112
 
113
113
 
114
114
  @bpp.run_decorator()
@@ -0,0 +1,64 @@
1
+ from enum import Enum
2
+
3
+ import bluesky.plan_stubs as bps
4
+ from dodal.common import inject
5
+ from dodal.devices.i24.pmac import PMAC
6
+
7
+
8
+ class MoveSize(Enum):
9
+ SMALL = "small"
10
+ BIG = "big"
11
+
12
+
13
+ class Direction(Enum):
14
+ UP = "up"
15
+ DOWN = "down"
16
+ LEFT = "left"
17
+ RIGHT = "right"
18
+
19
+
20
+ def _move_direction(magnitude: float, direction: Direction, pmac):
21
+ y_move = 0.0
22
+ x_move = 0.0
23
+
24
+ match direction:
25
+ case Direction.UP:
26
+ y_move = magnitude
27
+ case Direction.DOWN:
28
+ y_move = -magnitude
29
+ case Direction.LEFT:
30
+ x_move = -magnitude
31
+ case Direction.RIGHT:
32
+ x_move = magnitude
33
+
34
+ yield from bps.abs_set(pmac.x, x_move, wait=True)
35
+ yield from bps.abs_set(pmac.y, y_move, wait=True)
36
+
37
+
38
+ def move_block_on_arrow_click(direction: Direction, pmac: PMAC = inject("pmac")):
39
+ magnitude = 3.1750
40
+ yield from _move_direction(magnitude, direction, pmac)
41
+
42
+
43
+ def move_window_on_arrow_click(
44
+ direction: Direction, size_of_move: MoveSize, pmac: PMAC = inject("pmac")
45
+ ):
46
+ match size_of_move:
47
+ case MoveSize.SMALL:
48
+ magnitude = 0.1250
49
+ case MoveSize.BIG:
50
+ magnitude = 0.3750
51
+
52
+ yield from _move_direction(magnitude, direction, pmac)
53
+
54
+
55
+ def move_nudge_on_arrow_click(
56
+ direction: Direction, size_of_move: MoveSize, pmac: PMAC = inject("pmac")
57
+ ):
58
+ match size_of_move:
59
+ case MoveSize.SMALL:
60
+ magnitude = 0.0010
61
+ case MoveSize.BIG:
62
+ magnitude = 0.0060
63
+
64
+ yield from _move_direction(magnitude, direction, pmac)
@@ -1,20 +1,23 @@
1
1
  import numpy as np
2
2
  from bluesky import plan_stubs as bps
3
3
  from bluesky.utils import FailedStatus
4
- from dodal.devices.smargon import CombinedMove, Smargon
4
+ from dodal.devices.motors import XYZOmegaStage
5
5
  from ophyd_async.epics.motor import MotorLimitsError
6
6
 
7
7
  from mx_bluesky.common.utils.exceptions import SampleError
8
8
 
9
9
 
10
- def move_smargon_warn_on_out_of_range(
11
- smargon: Smargon, position: np.ndarray | list[float] | tuple[float, float, float]
10
+ def move_gonio_warn_on_out_of_range(
11
+ gonio: XYZOmegaStage,
12
+ position: np.ndarray | list[float] | tuple[float, float, float],
12
13
  ):
13
- """Throws a SampleError if the specified position is out of range for the
14
- smargon. Otherwise moves to that position. The check is from ophyd-async"""
14
+ """
15
+ Throws a SampleException if the specified position is out of range for the
16
+ gonio. Otherwise moves to that position. The check is from ophyd-async
17
+ """
15
18
  try:
16
19
  yield from bps.mv(
17
- smargon, CombinedMove(x=position[0], y=position[1], z=position[2])
20
+ gonio.x, position[0], gonio.y, position[1], gonio.z, position[2]
18
21
  )
19
22
  except FailedStatus as fs:
20
23
  if isinstance(fs.__cause__, MotorLimitsError):
@@ -8,6 +8,7 @@ from dodal.devices.aperturescatterguard import (
8
8
  from dodal.devices.backlight import Backlight, InOut
9
9
  from dodal.devices.detector.detector_motion import DetectorMotion
10
10
  from dodal.devices.smargon import CombinedMove, Smargon
11
+ from dodal.devices.thawer import OnOff, Thawer
11
12
 
12
13
  from mx_bluesky.common.parameters.constants import PlanGroupCheckpointConstants
13
14
  from mx_bluesky.common.utils.log import LOGGER
@@ -19,9 +20,13 @@ def setup_sample_environment(
19
20
  aperture_scatterguard: ApertureScatterguard,
20
21
  aperture_position_gda_name: str | None,
21
22
  backlight: Backlight,
23
+ thawer: Thawer,
22
24
  group="setup_senv",
23
25
  ):
24
- """Move the aperture into required position, move out the backlight."""
26
+ """Move the aperture into required position, move out the backlight so that it
27
+ doesn't cause a shadow on the detector and turn off thawing so it doesn't vibrate
28
+ the pin."""
29
+
25
30
  yield from bps.abs_set(backlight, InOut.OUT, group=group)
26
31
 
27
32
  aperture_value = (
@@ -33,6 +38,8 @@ def setup_sample_environment(
33
38
  aperture_scatterguard, aperture_value, group=group
34
39
  )
35
40
 
41
+ yield from bps.abs_set(thawer, OnOff.OFF, group=group)
42
+
36
43
 
37
44
  def move_aperture_if_required(
38
45
  aperture_scatterguard: ApertureScatterguard,
@@ -117,7 +117,7 @@ def robot_unload(
117
117
  yield from bps.save()
118
118
 
119
119
  def _unload():
120
- yield from bps.trigger(robot.unload, wait=True)
120
+ yield from bps.abs_set(robot, None, wait=True)
121
121
  yield from wait_for_smargon_not_disabled(smargon)
122
122
 
123
123
  gonio_finished = yield from do_plan_while_lower_gonio_at_home(
@@ -28,6 +28,11 @@ def setup_pin_tip_detection_params(
28
28
  pin_tip_detect_device.preprocess_ksize, parameters.preprocess_K_size
29
29
  )
30
30
 
31
+ # sets iteration for blur
32
+ yield from set_using_group(
33
+ pin_tip_detect_device.preprocess_iterations, parameters.preprocess_iter
34
+ )
35
+
31
36
  # Canny edge detect - lower
32
37
  yield from set_using_group(
33
38
  pin_tip_detect_device.canny_lower_threshold,
@@ -40,6 +45,9 @@ def setup_pin_tip_detection_params(
40
45
  parameters.canny_edge_upper_threshold,
41
46
  )
42
47
 
48
+ # "Open" morphological operation
49
+ yield from set_using_group(pin_tip_detect_device.open_ksize, parameters.open_ksize)
50
+
43
51
  # "Close" morphological operation
44
52
  yield from set_using_group(
45
53
  pin_tip_detect_device.close_ksize, parameters.close_ksize
@@ -183,11 +183,6 @@ def setup_zebra_for_rotation(
183
183
 
184
184
  ttl_detector = ttl_input_for_detector_to_use or zebra.mapping.outputs.TTL_DETECTOR
185
185
 
186
- if not isinstance(direction, RotationDirection):
187
- raise ValueError(
188
- "Disallowed rotation direction provided to Zebra setup plan. "
189
- "Use RotationDirection.POSITIVE or RotationDirection.NEGATIVE."
190
- )
191
186
  yield from bps.abs_set(zebra.pc.dir, direction.value, group=group)
192
187
  LOGGER.info("ZEBRA SETUP: START")
193
188
  # Set gate start, adjust for shutter opening time if necessary