DAQ/GUI: Fixes during pre-beamtime test
This commit is contained in:
@@ -251,7 +251,7 @@ class AareDAQ:
|
||||
|
||||
def __raster(self, r: RasterGridRequest) -> CompletedRasterGrid:
|
||||
max_time = r.exp_time_s * r.n_y * r.n_x + 60
|
||||
self.__cfg.dtz = r.dtz_mm
|
||||
self.__cfg.dtz = r.dtz
|
||||
self.__set_state(BeamlineStateEnum.DataCollection)
|
||||
self.__jfjoch.measure_raster(r, self.diffraction_geometry, self.sample)
|
||||
self.__devs.aerotech.move(r.omega_deg, wait=True, speed=360.0)
|
||||
@@ -275,11 +275,12 @@ class AareDAQ:
|
||||
self.__cfg.state_busy = False
|
||||
return result
|
||||
except Exception as e:
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
self.__cfg.state_busy = False
|
||||
raise e
|
||||
|
||||
def __rotation(self, request: RotationScanRequest):
|
||||
self.__cfg.dtz = request.dtz_mm
|
||||
self.__cfg.dtz = request.dtz
|
||||
self.__set_state(BeamlineStateEnum.DataCollection)
|
||||
|
||||
if request.start is not None:
|
||||
@@ -314,18 +315,20 @@ class AareDAQ:
|
||||
)
|
||||
time.sleep(smargon_time_step)
|
||||
|
||||
self.__devs.aerotech.wait_scan_done(request.total_time_sec + 60)
|
||||
self.__jfjoch.wait_till_done(5)
|
||||
self.__devs.aerotech.wait_scan_done(total_time + 60)
|
||||
self.__jfjoch.wait_till_done(60)
|
||||
self.__devs.aerotech.reset()
|
||||
|
||||
def measure_rotation(self, request: RotationScanRequest):
|
||||
self.__cfg.try_set_busy(timeout=ceil(request.total_time_sec + 360))
|
||||
total_time = request.exp_time_s * request.steps
|
||||
self.__cfg.try_set_busy(timeout=ceil(total_time + 360))
|
||||
|
||||
try:
|
||||
self.__rotation(request)
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
self.__cfg.state_busy = False
|
||||
except Exception as e:
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
self.__cfg.state_busy = False
|
||||
raise e
|
||||
|
||||
|
||||
@@ -148,6 +148,7 @@ class MainWindow(QMainWindow):
|
||||
self.beamline.loopctr.find_tip.clicked.connect(self.daq.center_loop)
|
||||
self.camera_image.smargon.connect(self.daq.move_smargon)
|
||||
self.beamline.smargon_panel.smargon.connect(self.daq.move_smargon)
|
||||
self.camera_image.samcam_updated.connect(self.daq.samcam_settings)
|
||||
|
||||
self.beamline.omega_panel.set_omega.connect(self.daq.set_omega)
|
||||
self.camera_image.set_omega.connect(self.daq.set_omega)
|
||||
|
||||
@@ -11,7 +11,6 @@ from aaregui.widgets.title_label import TitleLabel
|
||||
|
||||
class AbrTweakButtons(QWidget):
|
||||
abr_tweak = Signal(Coordinate)
|
||||
abr_goto_meas = Signal()
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
@@ -77,6 +76,7 @@ class AbrTweakButtons(QWidget):
|
||||
class AbrTweakWidget(QWidget):
|
||||
abr_tweak = Signal(Coordinate)
|
||||
abr_save = Signal()
|
||||
abr_goto_meas = Signal()
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
@@ -108,7 +108,7 @@ class AbrTweakWidget(QWidget):
|
||||
|
||||
@Slot()
|
||||
def goto_button_pressed(self):
|
||||
self.__abr_buttons.abr_goto_meas.emit()
|
||||
self.abr_goto_meas.emit()
|
||||
|
||||
@Slot(Coordinate)
|
||||
def abr_button_pressed(self, c: Coordinate):
|
||||
|
||||
@@ -8,7 +8,6 @@ from aaregui.widgets.title_label import TitleLabel
|
||||
class SamcamPanel(QWidget):
|
||||
# Signals for when exposure or gain values change
|
||||
changed = Signal(SampleCameraSettings)
|
||||
|
||||
old_settings = SampleCameraSettings(gain=100, exposure=0.001)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
|
||||
@@ -22,7 +22,7 @@ from PySide6.QtWidgets import (
|
||||
QFrame,
|
||||
)
|
||||
|
||||
from aaredaqlib.models import DAQStatusModel, AutofocusSettings
|
||||
from aaredaqlib.models import DAQStatusModel, AutofocusSettings, SampleCameraSettings
|
||||
from aaregui.models.bookmark import SmargonBookmarkList
|
||||
from aaredaqlib.coordinate import Coordinate, SmargonCoordinate
|
||||
from aaredaqlib.raster_grid import RasterGridRequest
|
||||
@@ -49,6 +49,7 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
set_helical_end = Signal(SmargonCoordinate)
|
||||
update_beam_center = Signal(float, float)
|
||||
autofocus = Signal(AutofocusSettings)
|
||||
samcam_updated = Signal(SampleCameraSettings)
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@@ -61,6 +62,7 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
|
||||
self.__raster_mgr = raster
|
||||
self.__state = SampleCameraImageState.IDLE
|
||||
self.__sam_cam = SampleCameraSettings(exposure=0.1, gain=100.0)
|
||||
|
||||
self.__geom = geom
|
||||
self.__bookmarks: SmargonBookmarkList = SmargonBookmarkList()
|
||||
@@ -300,6 +302,7 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
@Slot(DAQStatusModel)
|
||||
def update_daq_status(self, s: DAQStatusModel):
|
||||
self.__geom = s.geom
|
||||
self.__sam_cam = s.bl.sample_camera
|
||||
|
||||
def __left_single_click(self, event):
|
||||
match self.__state:
|
||||
@@ -404,17 +407,16 @@ class SampleCameraImageLabel(QGraphicsView):
|
||||
if not self.wheel_event_timer.isActive():
|
||||
delta_y = event.angleDelta().y()
|
||||
|
||||
if event.modifiers() & Qt.KeyboardModifier.ControlModifier:
|
||||
val = 180
|
||||
if event.modifiers() & Qt.KeyboardModifier.MetaModifier:
|
||||
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))
|
||||
elif event.modifiers() & Qt.KeyboardModifier.ShiftModifier:
|
||||
val = 10
|
||||
self.set_omega.emit(self.__geom.omega_deg + math.copysign(10.0, delta_y))
|
||||
else:
|
||||
val = 90
|
||||
|
||||
if delta_y > 0:
|
||||
self.set_omega.emit(self.__geom.omega_deg + val)
|
||||
else:
|
||||
self.set_omega.emit(self.__geom.omega_deg - val)
|
||||
self.set_omega.emit(self.__geom.omega_deg + math.copysign(90.0, delta_y))
|
||||
|
||||
# Start the timer to throttle further events
|
||||
self.wheel_event_timer.start(self.wheel_event_threshold)
|
||||
|
||||
Reference in New Issue
Block a user