mx-bluesky 1.5.10__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.
- mx_bluesky/_version.py +2 -2
- mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/__init__.py +0 -0
- mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/robot_load_plan.py +198 -0
- mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +2 -2
- mx_bluesky/beamlines/aithre_lasershaping/parameters/__init__.py +0 -0
- mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py +17 -0
- mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py +13 -0
- mx_bluesky/beamlines/aithre_lasershaping/pin_tip_centring.py +31 -0
- mx_bluesky/beamlines/aithre_lasershaping/robot_load.py +80 -0
- mx_bluesky/beamlines/i02_1/parameters/gridscan.py +1 -1
- mx_bluesky/beamlines/i04/__init__.py +6 -2
- mx_bluesky/beamlines/i04/callbacks/murko_callback.py +27 -12
- mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +94 -20
- mx_bluesky/beamlines/i04/external_interaction/__init__.py +0 -0
- mx_bluesky/beamlines/i04/external_interaction/config_server.py +15 -0
- mx_bluesky/beamlines/i04/oav_centering_plans/__init__.py +0 -0
- mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +115 -0
- mx_bluesky/beamlines/i04/parameters/__init__.py +0 -0
- mx_bluesky/beamlines/i04/parameters/constants.py +21 -0
- mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +24 -1
- mx_bluesky/beamlines/i04/thawing_plan.py +149 -154
- mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +55 -10
- mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py +1 -1
- mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py +1 -1
- mx_bluesky/beamlines/i24/serial/__init__.py +7 -5
- mx_bluesky/beamlines/i24/serial/dcid.py +6 -7
- mx_bluesky/beamlines/i24/serial/extruder/{i24ssx_Extruder_Collect_py3v2.py → i24ssx_extruder_collect_py3v2.py} +70 -37
- 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 +3 -3
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +142 -142
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +135 -135
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +8 -8
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +13 -13
- mx_bluesky/beamlines/i24/serial/fixed_target/{i24ssx_Chip_Collect_py3v1.py → i24ssx_chip_collect_py3v1.py} +12 -9
- mx_bluesky/beamlines/i24/serial/fixed_target/{i24ssx_Chip_Manager_py3v1.py → i24ssx_chip_manager_py3v1.py} +81 -78
- mx_bluesky/beamlines/i24/serial/fixed_target/{i24ssx_Chip_StartUp_py3v1.py → i24ssx_chip_startup_py3v1.py} +3 -3
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +33 -33
- mx_bluesky/beamlines/i24/serial/log.py +11 -11
- mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
- mx_bluesky/beamlines/i24/serial/parameters/utils.py +5 -5
- mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -12
- mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +122 -334
- mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +5 -5
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +30 -251
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +3 -3
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +4 -4
- mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +103 -16
- mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +64 -0
- mx_bluesky/beamlines/i24/serial/write_nexus.py +4 -4
- mx_bluesky/common/device_setup_plans/gonio.py +28 -0
- mx_bluesky/common/device_setup_plans/manipulate_sample.py +8 -1
- mx_bluesky/common/device_setup_plans/robot_load_unload.py +1 -1
- mx_bluesky/common/device_setup_plans/setup_oav.py +8 -0
- mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +0 -5
- mx_bluesky/common/device_setup_plans/xbpm_feedback.py +8 -1
- mx_bluesky/common/experiment_plans/beamstop_check.py +229 -0
- mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +8 -6
- mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +2 -2
- mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +1 -1
- mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +7 -4
- mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +2 -2
- mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +1 -2
- mx_bluesky/{hyperion → common}/experiment_plans/pin_tip_centring_plan.py +23 -24
- mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +5 -0
- mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +13 -15
- mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +3 -5
- mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +1 -1
- mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +2 -2
- mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +3 -3
- mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +12 -10
- mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
- mx_bluesky/common/external_interaction/config_server.py +4 -4
- mx_bluesky/common/external_interaction/ispyb/data_model.py +11 -4
- mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +163 -4
- mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +76 -167
- mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -14
- mx_bluesky/common/external_interaction/nexus/nexus_utils.py +2 -2
- mx_bluesky/common/external_interaction/nexus/write_nexus.py +3 -3
- mx_bluesky/common/parameters/components.py +1 -0
- mx_bluesky/common/parameters/constants.py +4 -3
- mx_bluesky/common/parameters/device_composites.py +4 -2
- mx_bluesky/common/parameters/gridscan.py +2 -2
- mx_bluesky/common/utils/exceptions.py +24 -7
- mx_bluesky/common/utils/log.py +13 -4
- mx_bluesky/common/utils/tracing.py +5 -5
- mx_bluesky/common/utils/utils.py +56 -8
- mx_bluesky/hyperion/__main__.py +6 -16
- mx_bluesky/hyperion/baton_handler.py +38 -14
- mx_bluesky/hyperion/device_setup_plans/utils.py +1 -1
- mx_bluesky/hyperion/experiment_plans/experiment_registry.py +1 -1
- mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +15 -13
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +2 -2
- mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +9 -9
- mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +7 -8
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +3 -10
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +4 -2
- mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +10 -4
- mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -2
- mx_bluesky/hyperion/experiment_plans/udc_default_state.py +160 -0
- mx_bluesky/hyperion/external_interaction/agamemnon.py +3 -3
- mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +2 -2
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +3 -3
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +1 -0
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +3 -6
- mx_bluesky/hyperion/external_interaction/config_server.py +5 -5
- mx_bluesky/hyperion/parameters/constants.py +11 -4
- mx_bluesky/hyperion/parameters/device_composites.py +2 -2
- mx_bluesky/hyperion/parameters/gridscan.py +4 -4
- mx_bluesky/hyperion/parameters/robot_load.py +1 -9
- mx_bluesky/hyperion/plan_runner.py +6 -6
- mx_bluesky/hyperion/runner.py +10 -8
- mx_bluesky/jupyter_example.ipynb +3 -3
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/METADATA +9 -7
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/RECORD +118 -104
- mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -65
- mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -29
- mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -25
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/WHEEL +0 -0
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/entry_points.txt +0 -0
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/licenses/LICENSE +0 -0
- {mx_bluesky-1.5.10.dist-info → mx_bluesky-1.5.12.dist-info}/top_level.txt +0 -0
|
@@ -13,7 +13,7 @@ from dodal.devices.i24.pmac import PMAC
|
|
|
13
13
|
from dodal.devices.oav.oav_detector import OAV
|
|
14
14
|
|
|
15
15
|
from mx_bluesky.beamlines.i24.serial.fixed_target import (
|
|
16
|
-
|
|
16
|
+
i24ssx_chip_manager_py3v1 as manager,
|
|
17
17
|
)
|
|
18
18
|
from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import Fiducials
|
|
19
19
|
from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
|
|
@@ -52,12 +52,12 @@ def _move_on_mouse_click_plan(
|
|
|
52
52
|
position coordinates.
|
|
53
53
|
"""
|
|
54
54
|
zoomcalibrator = yield from _calculate_zoom_calibrator(oav)
|
|
55
|
-
|
|
55
|
+
beam_x, beam_y = yield from _get_beam_centre(oav)
|
|
56
56
|
x, y = clicked_position
|
|
57
|
-
xmove = -10 * (
|
|
58
|
-
ymove = 10 * (
|
|
57
|
+
xmove = -10 * (beam_x - x) * zoomcalibrator
|
|
58
|
+
ymove = 10 * (beam_y - y) * zoomcalibrator
|
|
59
59
|
SSX_LOGGER.info(f"Zoom calibrator {zoomcalibrator}")
|
|
60
|
-
SSX_LOGGER.info(f"Beam centre {
|
|
60
|
+
SSX_LOGGER.info(f"Beam centre {beam_x} {beam_y}")
|
|
61
61
|
SSX_LOGGER.info(f"Moving X and Y {xmove} {ymove}")
|
|
62
62
|
xmovepmacstring = "&2#5J:" + str(xmove)
|
|
63
63
|
ymovepmacstring = "&2#6J:" + str(ymove)
|
|
@@ -66,22 +66,22 @@ def _move_on_mouse_click_plan(
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
# Register clicks and move chip stages
|
|
69
|
-
def
|
|
69
|
+
def on_mouse(event, x, y, flags, param):
|
|
70
70
|
if event == cv.EVENT_LBUTTONUP:
|
|
71
|
-
|
|
71
|
+
run_engine = param[0]
|
|
72
72
|
pmac = param[1]
|
|
73
73
|
oav = param[2]
|
|
74
74
|
SSX_LOGGER.info(f"Clicked X and Y {x} {y}")
|
|
75
|
-
|
|
75
|
+
run_engine(_move_on_mouse_click_plan(oav, pmac, (x, y)))
|
|
76
76
|
|
|
77
77
|
|
|
78
|
-
def update_ui(oav, frame,
|
|
78
|
+
def update_ui(oav, frame, run_engine):
|
|
79
79
|
# Get beam x and y values
|
|
80
|
-
|
|
80
|
+
beam_x, beam_y = run_engine(_get_beam_centre(oav)).plan_result
|
|
81
81
|
|
|
82
82
|
# Overlay text and beam centre
|
|
83
83
|
cv.ellipse(
|
|
84
|
-
frame, (
|
|
84
|
+
frame, (beam_x, beam_y), (12, 8), 0.0, 0.0, 360, (0, 255, 255), thickness=2
|
|
85
85
|
)
|
|
86
86
|
cv.putText(
|
|
87
87
|
frame,
|
|
@@ -156,13 +156,13 @@ def update_ui(oav, frame, RE):
|
|
|
156
156
|
cv.imshow("OAV1view", frame)
|
|
157
157
|
|
|
158
158
|
|
|
159
|
-
def start_viewer(oav: OAV, pmac: PMAC,
|
|
160
|
-
# Create a video
|
|
159
|
+
def start_viewer(oav: OAV, pmac: PMAC, run_engine: RunEngine, oav1: str = OAV1_CAM):
|
|
160
|
+
# Create a video capture from OAV1
|
|
161
161
|
cap = cv.VideoCapture(oav1)
|
|
162
162
|
|
|
163
163
|
# Create window named OAV1view and set onmouse to this
|
|
164
164
|
cv.namedWindow("OAV1view")
|
|
165
|
-
cv.setMouseCallback("OAV1view",
|
|
165
|
+
cv.setMouseCallback("OAV1view", on_mouse, param=[run_engine, pmac, oav]) # type: ignore
|
|
166
166
|
|
|
167
167
|
SSX_LOGGER.info("Showing camera feed. Press escape to close")
|
|
168
168
|
# Read captured video and store them in success and frame
|
|
@@ -172,44 +172,44 @@ def start_viewer(oav: OAV, pmac: PMAC, RE: RunEngine, oav1: str = OAV1_CAM):
|
|
|
172
172
|
while success:
|
|
173
173
|
success, frame = cap.read()
|
|
174
174
|
|
|
175
|
-
update_ui(oav, frame,
|
|
175
|
+
update_ui(oav, frame, run_engine)
|
|
176
176
|
|
|
177
177
|
k = cv.waitKey(1)
|
|
178
178
|
if k == 113: # Q
|
|
179
|
-
|
|
179
|
+
run_engine(manager.moveto(Fiducials.zero, pmac))
|
|
180
180
|
if k == 119: # W
|
|
181
|
-
|
|
181
|
+
run_engine(manager.moveto(Fiducials.fid1, pmac))
|
|
182
182
|
if k == 101: # E
|
|
183
|
-
|
|
183
|
+
run_engine(manager.moveto(Fiducials.fid2, pmac))
|
|
184
184
|
if k == 97: # A
|
|
185
|
-
|
|
185
|
+
run_engine(bps.trigger(pmac.home, wait=True))
|
|
186
186
|
print("Current position set as origin")
|
|
187
187
|
if k == 115: # S
|
|
188
|
-
|
|
188
|
+
run_engine(manager.fiducial(1))
|
|
189
189
|
if k == 100: # D
|
|
190
|
-
|
|
190
|
+
run_engine(manager.fiducial(2))
|
|
191
191
|
if k == 99: # C
|
|
192
|
-
|
|
192
|
+
run_engine(manager.cs_maker(pmac))
|
|
193
193
|
if k == 98: # B
|
|
194
|
-
|
|
194
|
+
run_engine(
|
|
195
195
|
manager.block_check()
|
|
196
196
|
) # doesn't work well for blockcheck as image doesn't update
|
|
197
197
|
if k == 104: # H
|
|
198
|
-
|
|
198
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#6J:-10", wait=True))
|
|
199
199
|
if k == 110: # N
|
|
200
|
-
|
|
200
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#6J:10", wait=True))
|
|
201
201
|
if k == 109: # M
|
|
202
|
-
|
|
202
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#5J:-10", wait=True))
|
|
203
203
|
if k == 98: # B
|
|
204
|
-
|
|
204
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#5J:10", wait=True))
|
|
205
205
|
if k == 105: # I
|
|
206
|
-
|
|
206
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#7J:-150", wait=True))
|
|
207
207
|
if k == 111: # O
|
|
208
|
-
|
|
208
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#7J:150", wait=True))
|
|
209
209
|
if k == 117: # U
|
|
210
|
-
|
|
210
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#7J:-1000", wait=True))
|
|
211
211
|
if k == 112: # P
|
|
212
|
-
|
|
212
|
+
run_engine(bps.abs_set(pmac.pmac_string, "&2#7J:1000", wait=True))
|
|
213
213
|
if k == 0x1B: # esc
|
|
214
214
|
cv.destroyWindow("OAV1view")
|
|
215
215
|
print("Pressed escape. Closing window")
|
|
@@ -220,8 +220,8 @@ def start_viewer(oav: OAV, pmac: PMAC, RE: RunEngine, oav1: str = OAV1_CAM):
|
|
|
220
220
|
|
|
221
221
|
|
|
222
222
|
if __name__ == "__main__":
|
|
223
|
-
|
|
223
|
+
run_engine = RunEngine(call_returns_result=True)
|
|
224
224
|
# Get devices out of dodal
|
|
225
225
|
oav: OAV = i24.oav(connect_immediately=True)
|
|
226
226
|
pmac: PMAC = i24.pmac(connect_immediately=True)
|
|
227
|
-
start_viewer(oav, pmac,
|
|
227
|
+
start_viewer(oav, pmac, run_engine)
|
|
@@ -9,7 +9,7 @@ import bluesky.plan_stubs as bps
|
|
|
9
9
|
from bluesky.log import logger as bluesky_logger
|
|
10
10
|
from bluesky.utils import MsgGenerator
|
|
11
11
|
from dodal.log import DEFAULT_GRAYLOG_PORT, ophyd_async_logger
|
|
12
|
-
from dodal.log import LOGGER as
|
|
12
|
+
from dodal.log import LOGGER as DODAL_LOGGER
|
|
13
13
|
|
|
14
14
|
from mx_bluesky.common.utils.log import do_default_logging_setup
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ VISIT_PATH = Path("/dls_sw/i24/etc/ssx_current_visit.txt")
|
|
|
19
19
|
# Logging set up
|
|
20
20
|
SSX_LOGGER = logging.getLogger("I24serial")
|
|
21
21
|
SSX_LOGGER.addHandler(logging.NullHandler())
|
|
22
|
-
SSX_LOGGER.parent =
|
|
22
|
+
SSX_LOGGER.parent = DODAL_LOGGER
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
logging_config = {
|
|
@@ -101,14 +101,14 @@ def config(
|
|
|
101
101
|
"""
|
|
102
102
|
if logfile:
|
|
103
103
|
logs = _get_logging_file_path() / logfile
|
|
104
|
-
|
|
104
|
+
file_formatter = logging.Formatter(
|
|
105
105
|
"%(asctime)s %(levelname)s: \t(%(name)s) %(message)s",
|
|
106
106
|
datefmt="%d-%m-%Y %I:%M:%S",
|
|
107
107
|
)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
SSX_LOGGER.addHandler(
|
|
108
|
+
fh = logging.FileHandler(logs, mode=write_mode, encoding="utf-8", delay=delayed)
|
|
109
|
+
fh.setLevel(logging.DEBUG)
|
|
110
|
+
fh.setFormatter(file_formatter)
|
|
111
|
+
SSX_LOGGER.addHandler(fh)
|
|
112
112
|
do_default_logging_setup(
|
|
113
113
|
"mx-bluesky.log",
|
|
114
114
|
DEFAULT_GRAYLOG_PORT,
|
|
@@ -116,8 +116,8 @@ def config(
|
|
|
116
116
|
integrate_all_logs=False,
|
|
117
117
|
)
|
|
118
118
|
# Remove dodal StreamHandler to avoid duplication of messages above debug
|
|
119
|
-
|
|
120
|
-
_integrate_bluesky_logs(
|
|
119
|
+
DODAL_LOGGER.removeHandler(DODAL_LOGGER.handlers[0])
|
|
120
|
+
_integrate_bluesky_logs(DODAL_LOGGER)
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
def log_on_entry(func):
|
|
@@ -151,6 +151,6 @@ def clean_up_log_config_at_end() -> MsgGenerator:
|
|
|
151
151
|
# See https://github.com/DiamondLightSource/mx-bluesky/issues/609
|
|
152
152
|
for handler in SSX_LOGGER.handlers:
|
|
153
153
|
SSX_LOGGER.removeHandler(handler)
|
|
154
|
-
for handler in
|
|
155
|
-
|
|
154
|
+
for handler in DODAL_LOGGER.handlers:
|
|
155
|
+
DODAL_LOGGER.removeHandler(handler)
|
|
156
156
|
yield from bps.null()
|
|
@@ -7,7 +7,7 @@ from mx_bluesky.beamlines.i24.serial.parameters.experiment_parameters import (
|
|
|
7
7
|
)
|
|
8
8
|
from mx_bluesky.beamlines.i24.serial.setup_beamline import caget, pv
|
|
9
9
|
|
|
10
|
-
OXFORD_BLOCKS_PVS = [f"BL24I-MO-IOC-
|
|
10
|
+
OXFORD_BLOCKS_PVS = [f"BL24I-MO-IOC-13:GP{i}" for i in range(11, 75)]
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class EmptyMapError(Exception):
|
|
@@ -54,10 +54,10 @@ def get_chip_format(
|
|
|
54
54
|
defaults["b2b_horz"] = defaults["b2b_vert"] = 0.0
|
|
55
55
|
case ChipType.Custom:
|
|
56
56
|
if origin == "edm":
|
|
57
|
-
defaults["x_num_steps"] = int(caget(pv.
|
|
58
|
-
defaults["y_num_steps"] = int(caget(pv.
|
|
59
|
-
defaults["x_step_size"] = float(caget(pv.
|
|
60
|
-
defaults["y_step_size"] = float(caget(pv.
|
|
57
|
+
defaults["x_num_steps"] = int(caget(pv.ioc13_gp6))
|
|
58
|
+
defaults["y_num_steps"] = int(caget(pv.ioc13_gp7))
|
|
59
|
+
defaults["x_step_size"] = float(caget(pv.ioc13_gp8))
|
|
60
|
+
defaults["y_step_size"] = float(caget(pv.ioc13_gp99))
|
|
61
61
|
else:
|
|
62
62
|
# NOTE Test for WEB GUI
|
|
63
63
|
if not format:
|
|
@@ -38,15 +38,3 @@ def caput(pv, new_val):
|
|
|
38
38
|
else:
|
|
39
39
|
a = Popen(["caput", pv, str(new_val)], stdout=PIPE, stderr=PIPE)
|
|
40
40
|
a_stdout, a_stderr = a.communicate()
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def evaluate(val):
|
|
44
|
-
try:
|
|
45
|
-
int(val)
|
|
46
|
-
return int(val)
|
|
47
|
-
except Exception:
|
|
48
|
-
try:
|
|
49
|
-
float(val)
|
|
50
|
-
return float(val)
|
|
51
|
-
except ValueError:
|
|
52
|
-
return val
|