diff --git a/common/pyproject.toml b/common/pyproject.toml index f7b9e9ec..72ef4d9b 100644 --- a/common/pyproject.toml +++ b/common/pyproject.toml @@ -7,7 +7,7 @@ requires-python = ">=3.11" dependencies = [ "pydantic==2.11.4", "numpy==2.2.5", - "jfjoch_client==1.0.0rc45", + "jfjoch_client==1.0.0rc49", "aareDB==0.1.1a8" ] diff --git a/daq/src/aaredaq/aaredb.py b/daq/src/aaredaq/aaredb.py index 589590da..f8f68384 100644 --- a/daq/src/aaredaq/aaredb.py +++ b/daq/src/aaredaq/aaredb.py @@ -16,7 +16,7 @@ from aareDBclient import ( GridScanParameters, Datasets, Detector as DetectorParameters, - BeamlineParameters, + BeamlineParametersInput, ExperimentParametersCreate) from aaredaqlib.diffraction_geometry import DiffractionGeometry @@ -180,7 +180,7 @@ class AareWrapper: pixelSizeY_um=d.diffraction.pixel_size_mm * 1000, dataset=dataset ) - beamline_params = BeamlineParameters( + beamline_params = BeamlineParametersInput( synchrotron="Swiss Light Source", beamline=d.bl.name, detector=detector_data, @@ -240,7 +240,7 @@ class AareWrapper: pixelSizeY_um=d.diffraction.pixel_size_mm * 1000, dataset=dataset ) - beamline_params = BeamlineParameters( + beamline_params = BeamlineParametersInput( synchrotron="Swiss Light Source", beamline=d.bl.name, detector=detector_data, @@ -303,7 +303,7 @@ class AareWrapper: pixelSizeY_um=d.diffraction.pixel_size_mm * 1000, dataset=dataset ) - beamline_params = BeamlineParameters( + beamline_params = BeamlineParametersInput( synchrotron="Swiss Light Source", beamline=d.bl.name, detector=detector_data, diff --git a/daq/src/aaredaq/workflows.py b/daq/src/aaredaq/workflows.py index 3a82394d..8b21ec54 100644 --- a/daq/src/aaredaq/workflows.py +++ b/daq/src/aaredaq/workflows.py @@ -286,9 +286,7 @@ def sa2dh(devs: BeamlineDevices, cfg: BeamlineConfig): except Exception as e: print(f"Error for unmounting: {e}") devs.tell.dry(wait_cold=-1, wait=False) - # devs.tell.move_park(wait=True) - #devs.tell.set_samples_info(devs.aare.get_pucks_beamline())# replaced by script stream def dh2sa(devs: BeamlineDevices, cfg: BeamlineConfig): - devs.aare.set_pucks_beamline(devs.tell.get_detected_pucks()) + devs.tell.move_cold(wait=True) diff --git a/daq/src/mxlibs3/jfjoch.py b/daq/src/mxlibs3/jfjoch.py index 06b1f777..777a8d1d 100644 --- a/daq/src/mxlibs3/jfjoch.py +++ b/daq/src/mxlibs3/jfjoch.py @@ -42,11 +42,17 @@ class JFJochWrapper: pgroup = s.sample.user sample = s.sample.sample_name + if r.screening: + wedge = r.wedge_omega_deg + else: + wedge = None + goniometer_settings = jfjoch_client.RotationAxis( step=r.incr_omega_deg, start=r.start_omega_deg, name="omega", - vector= [0,1,0] + vector= [0,1,0], + screening_wedge_deg = wedge ) if r.screening: @@ -102,7 +108,9 @@ class JFJochWrapper: sample_name=sample, image_time_us=round(r.exp_time_s * 1e6), experiment_group=pgroup, - transmission=s.bl.transmission + transmission=s.bl.transmission, + ring_current_m_a=s.bl.ring_current_mA, + sample_temperature_k=s.bl.cryojet_K ) self.__api.start_post(dataset_settings=dataset_settings) diff --git a/daq/src/mxlibs3/tell_client.py b/daq/src/mxlibs3/tell_client.py index d7d05f66..0cccece6 100755 --- a/daq/src/mxlibs3/tell_client.py +++ b/daq/src/mxlibs3/tell_client.py @@ -363,10 +363,13 @@ class TellClient: if wait: self.check_command_ok(timeout=360.0, msg=f"Move to park failed") - def move_cold(self, reset_timestamp=False): + def move_cold(self, reset_timestamp=False, wait=False): if self.__simulation: return - return self.start_cmd("move_cold", reset_timestamp) + self._last_cmd_id = self.start_cmd("move_cold", reset_timestamp) + + if wait: + self.check_command_ok(timeout=360.0, msg=f"Move to park failed") def trash(self): if self.__simulation: diff --git a/gui/src/aaregui/scan_logic/raster_grid_manager.py b/gui/src/aaregui/scan_logic/raster_grid_manager.py index fc2cc95d..8f1ae44b 100644 --- a/gui/src/aaregui/scan_logic/raster_grid_manager.py +++ b/gui/src/aaregui/scan_logic/raster_grid_manager.py @@ -212,7 +212,7 @@ class RasterGridManager(QObject): txt += f"Spot count {grid.result.images[cell].spots}
" if grid.result.images[cell].index is not None and grid.result.images[cell].index > 0 and grid.result.images[cell].uc is not None: - txt += f"Indexed {grid.result.images[cell].uc.a:.1f} {grid.result.images[cell].uc.b:.1f} {grid.result.images[cell].uc.c:.1f} {grid.result.images[cell].uc.alpha:.1f} {grid.result.images[cell].uc.beta:.1f}{grid.result.images[cell].uc.gamma:.1f}
" + txt += f"Indexed {grid.result.images[cell].uc.a:.1f} {grid.result.images[cell].uc.b:.1f} {grid.result.images[cell].uc.c:.1f} {grid.result.images[cell].uc.alpha:.1f} {grid.result.images[cell].uc.beta:.1f} {grid.result.images[cell].uc.gamma:.1f}
" if grid.result.images[cell].b is not None and grid.result.images[cell].b >= 0: txt += f"B-factor {grid.result.images[cell].b:.2f}
" diff --git a/gui/src/aaregui/widgets/camera_image.py b/gui/src/aaregui/widgets/camera_image.py index aacf5cbd..e56d177c 100644 --- a/gui/src/aaregui/widgets/camera_image.py +++ b/gui/src/aaregui/widgets/camera_image.py @@ -408,12 +408,14 @@ class SampleCameraImageLabel(QGraphicsView): if not self.wheel_event_timer.isActive(): delta_y = event.angleDelta().y() - if event.modifiers() & Qt.KeyboardModifier.MetaModifier: + if event.modifiers() & Qt.KeyboardModifier.AltModifier: new_exp_time = self.__sam_cam.exposure * (1.0 + math.copysign(0.1, delta_y)) new_settings = SampleCameraSettings(exposure=new_exp_time, gain=self.__sam_cam.gain) self.samcam_updated.emit(new_settings) elif event.modifiers() & Qt.KeyboardModifier.ControlModifier: - self.set_omega.emit(self.__geom.omega_deg + math.copysign(180.0, delta_y)) + new_exp_time = self.__sam_cam.exposure * (1.0 + math.copysign(0.5, delta_y)) + new_settings = SampleCameraSettings(exposure=new_exp_time, gain=self.__sam_cam.gain) + self.samcam_updated.emit(new_settings) elif event.modifiers() & Qt.KeyboardModifier.ShiftModifier: self.set_omega.emit(self.__geom.omega_deg + math.copysign(10.0, delta_y)) else: