Skip to content

Commit

Permalink
Merge branch 'develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
HilbertCorsair authored Dec 11, 2024
2 parents 808a1a2 + 2032be0 commit c6f80eb
Show file tree
Hide file tree
Showing 7 changed files with 315 additions and 232 deletions.
6 changes: 3 additions & 3 deletions mxcubecore/HardwareObjects/EMBLFlexHarvester.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ def _set_loaded_sample_and_prepare(self, loaded_sample_tup, previous_sample_tup)
res = True

if res:
if self._harvester_hwo.get_room_temperature_mode():
if self._harvester_hwo.get_room_temperature_mode() == False:
self.queue_harvest_next_sample(loaded_sample.get_address())

# in this case we expect CENTRING_METHOD=None
Expand Down Expand Up @@ -252,7 +252,7 @@ def _do_load(self, sample=None):

return self._set_loaded_sample_and_prepare(loaded_sample, previous_sample)

def harvest_and_mount_sample(self, xtal_uuid: str, sampleID: str) -> bool:
def harvest_and_mount_sample(self, xtal_uuid: str, sample) -> bool:
"""
return (Bool) : wether the crystal has been Harvest then mount
Expand All @@ -261,7 +261,7 @@ def harvest_and_mount_sample(self, xtal_uuid: str, sampleID: str) -> bool:
self._harvester_hwo.harvest_crystal(xtal_uuid)
self._harvester_hwo._wait_sample_transfer_ready(None)

self._do_load(sampleID)
self._do_load(sample)
except Exception:
logging.getLogger("user_level_log").exception("Could not Harvest Crystal")
return "Could not Harvest Crystal"
Expand Down
58 changes: 18 additions & 40 deletions mxcubecore/HardwareObjects/Gphl/CollectEmulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ class CollectEmulator(CollectMockup):
def __init__(self, name):
CollectMockup.__init__(self, name)

self.instrument_data = None
self.segments = None

self._counter = 1

# def init(self):
Expand All @@ -64,33 +61,13 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
# Set up and add crystal data
result = OrderedDict()
setup_data = result["setup_list"] = crystal_data

if self.instrument_data is None:
# Read instrumentation.nml and put data into mock objects
# NB if we are here we must be in mock mode.
#
# update with instrument data
# You cannot do this at init time,
# as GPhL_wporkflow is not yet inittialised then.
fp0 = HWR.beamline.gphl_workflow.file_paths.get("instrumentation_file")
instrument_input = f90nml.read(fp0)

self.instrument_data = instrument_input["sdcp_instrument_list"]
self.segments = instrument_input.get("segment_list")
instrument_data = HWR.beamline.gphl_workflow.instrument_data

#
# # update with instrument data
#

sweep_count = len(data_collect_parameters["oscillation_sequence"])

# Move beamstop settings to top level
ll0 = self.instrument_data.get("beamstop_param_names")
ll1 = self.instrument_data.get("beamstop_param_vals")
if ll0 and ll1:
for tag, val in zip(ll0, ll1):
self.instrument_data[tag.lower()] = val

# Setting parameters in order (may not be necessary, but ...)
# Missing: *mu*
remap = {
Expand Down Expand Up @@ -118,7 +95,7 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
"det_coord_def",
)
for tag in tags:
val = self.instrument_data.get(remap.get(tag, tag))
val = instrument_data.get(remap.get(tag, tag))
if val is not None:
setup_data[tag] = val

Expand All @@ -127,14 +104,14 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
setup_data["det_org_y"],
) = HWR.beamline.detector.get_beam_position()

ll0 = self.instrument_data["gonio_axis_dirs"]
setup_data["omega_axis"] = ll0[:3]
setup_data["kappa_axis"] = ll0[3:6]
setup_data["phi_axis"] = ll0[6:]
ll0 = self.instrument_data["gonio_centring_axis_dirs"]
setup_data["trans_x_axis"] = ll0[:3]
setup_data["trans_y_axis"] = ll0[3:6]
setup_data["trans_z_axis"] = ll0[6:]
ll0 = list(HWR.beamline.gphl_workflow.rotation_axes.values())
setup_data["omega_axis"] = ll0[0]
setup_data["kappa_axis"] = ll0[1]
setup_data["phi_axis"] = ll0[2]
ll0 = list(HWR.beamline.gphl_workflow.translation_axes.values())
setup_data["trans_x_axis"] = ll0[0]
setup_data["trans_y_axis"] = ll0[1]
setup_data["trans_z_axis"] = ll0[2]
tags = (
"cone_radius",
"cone_s_height",
Expand All @@ -143,7 +120,7 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
"beam_stop_s_distance",
)
for tag in tags:
val = self.instrument_data.get(remap.get(tag, tag))
val = instrument_data.get(remap.get(tag, tag))
if val is not None:
setup_data[tag] = val

Expand All @@ -158,16 +135,17 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
setup_data["n_sweeps"] = sweep_count

# Add segments
if self.segments:
if isinstance(self.segments, dict):
segments = HWR.beamline.gphl_workflow.detector_segments
if segments:
if isinstance(segments, dict):
segment_count = 1
else:
segment_count = len(self.segments)
segment_count = len(segments)
setup_data["n_segments"] = segment_count
result["segment_list"] = self.segments
result["segment_list"] = segments

# Adjustments
val = self.instrument_data.get("beam")
val = instrument_data.get("beam")
if val:
setup_data["beam"] = val

Expand Down Expand Up @@ -208,7 +186,7 @@ def _get_simcal_input(self, data_collect_parameters, crystal_data):
sweep["lambda"] = conversion.HC_OVER_E / energy
sweep["res_limit"] = setup_data["res_limit_def"]
sweep["exposure"] = osc["exposure_time"]
ll0 = HWR.beamline.gphl_workflow.translation_axis_roles
ll0 = list(HWR.beamline.gphl_workflow.translation_axes)
sweep["trans_xyz"] = list(motors.get(x) or 0.0 for x in ll0)
sweep["det_coord"] = detector_distance
# NBNB hardwired for omega scan TODO
Expand Down
Loading

0 comments on commit c6f80eb

Please sign in to comment.