Compare commits

...

3 Commits

Author SHA1 Message Date
Holler
3fac5ff9e3 fixed issue with move_to_start 2025-09-10 15:31:50 +02:00
Holler
81a63d0317 fixes 2025-09-10 15:31:50 +02:00
Holler
7513955674 flomni fixes 2025-09-10 15:31:50 +02:00
5 changed files with 23 additions and 14 deletions

View File

@@ -416,7 +416,7 @@ class FlomniSampleTransferMixin:
def laser_tracker_on(self): def laser_tracker_on(self):
dev.rtx.controller.laser_tracker_on() dev.rtx.controller.laser_tracker_on()
time.sleep(0.2) time.sleep(0.2)
self._laser_tracker_check_signalstrength() dev.rtx.controller.laser_tracker_check_signalstrength()
def laser_tracker_off(self): def laser_tracker_off(self):
dev.rtx.controller.laser_tracker_off() dev.rtx.controller.laser_tracker_off()
@@ -429,11 +429,11 @@ class FlomniSampleTransferMixin:
def feedback_enable_with_reset(self): def feedback_enable_with_reset(self):
self.device_manager.devices.rtx.controller.feedback_enable_with_reset() self.device_manager.devices.rtx.controller.feedback_enable_with_reset()
self.rt_feedback_status() self.feedback_status()
def feedback_enable_without_reset(self): def feedback_enable_without_reset(self):
self.device_manager.devices.rtx.controller.feedback_enable_without_reset() self.device_manager.devices.rtx.controller.feedback_enable_without_reset()
self.rt_feedback_status() self.feedback_status()
def feedback_status(self): def feedback_status(self):
feedback_status = self.device_manager.devices.rtx.controller.feedback_is_running() feedback_status = self.device_manager.devices.rtx.controller.feedback_is_running()

View File

@@ -63,6 +63,8 @@ class OmnyAlignment(BECWidget, QWidget):
self.ui.liveViewSwitch.enabled.connect(self.on_live_view_enabled) self.ui.liveViewSwitch.enabled.connect(self.on_live_view_enabled)
self.ui.moveUpButton.clicked.connect(self.on_move_up)
@property @property
def enable_live_view(self): def enable_live_view(self):
@@ -102,7 +104,6 @@ class OmnyAlignment(BECWidget, QWidget):
image.disconnect_monitor("cam200") image.disconnect_monitor("cam200")
@property @property
def enable_move_buttons(self): def enable_move_buttons(self):
move_up:QPushButton = self.ui.moveUpButton move_up:QPushButton = self.ui.moveUpButton

View File

@@ -172,7 +172,7 @@ class FlomniFermatScan(SyncFlyScanBase):
self.device_manager.connector.raise_alarm( self.device_manager.connector.raise_alarm(
severity=0, severity=0,
alarm_type="LaserTrackerSignalStrength", alarm_type="LaserTrackerSignalStrength",
source="rtx", source={"device": "rtx", "reason": "low signal strength", "method": "_prepare_setup_part2"},
metadata={}, metadata={},
msg="Signal strength of the laser tracker is low, sufficient to continue. Realignment recommended!", msg="Signal strength of the laser tracker is low, sufficient to continue. Realignment recommended!",
) )
@@ -295,9 +295,10 @@ class FlomniFermatScan(SyncFlyScanBase):
logger.debug("reading monitors") logger.debug("reading monitors")
# yield from self.device_rpc("rtx", "controller.kickoff") # yield from self.device_rpc("rtx", "controller.kickoff")
def return_to_start(self): def move_to_start(self):
"""return to the start position""" """return to the start position"""
# in flomni, we need to move to the start position of the next scan # in flomni, we need to move to the start position of the next scan, which is the end position of the current scan
# this method is called in finalize and overwrites the default move_to_start()
if isinstance(self.positions, np.ndarray) and len(self.positions[-1]) == 3: if isinstance(self.positions, np.ndarray) and len(self.positions[-1]) == 3:
yield from self.stubs.set(device=["rtx", "rty", "rtz"], value=self.positions[-1]) yield from self.stubs.set(device=["rtx", "rty", "rtz"], value=self.positions[-1])
return return

View File

@@ -280,9 +280,10 @@ class OMNYFermatScan(SyncFlyScanBase):
logger.debug("reading monitors") logger.debug("reading monitors")
# yield from self.device_rpc("rtx", "controller.kickoff") # yield from self.device_rpc("rtx", "controller.kickoff")
def return_to_start(self): def move_to_start(self):
"""return to the start position""" """return to the start position"""
# in omny, we need to move to the start position of the next scan # in omny, we need to move to the start position of the next scan, which is the end position of the current scan
# this method is called in finalize and overwrites the default move_to_start()
if isinstance(self.positions, np.ndarray) and len(self.positions[-1]) == 3: if isinstance(self.positions, np.ndarray) and len(self.positions[-1]) == 3:
yield from self.stubs.set(device=["rtx", "rty", "rtz"], value=self.positions[-1]) yield from self.stubs.set(device=["rtx", "rty", "rtz"], value=self.positions[-1])
return return

View File

@@ -147,8 +147,14 @@ Following functions exist to move the optics in and out, with self-explaining na
The position feedback in flOMNI is controlled in closed loop to an interferometric position measurement. To show the signal of the interferometers: The position feedback in flOMNI is controlled in closed loop to an interferometric position measurement. To show the signal of the interferometers:
`flomni.show_signal_strength_interferometer()` `flomni.show_signal_strength_interferometer()`
Typical values with proper alignment, sample stage at the measurement position and laser tracker running are Typical values with proper alignment, sample stage at the measurement position and laser tracker running are in the range of
_TODO_ | Axis | Value |
| --- | --- |
| 0 | 13681.0 |
| 1 | 12383.0 |
| 2 | 10716.0 |
| 3 | 11032.0 |
#### Laser tracker commands #### Laser tracker commands
@@ -162,10 +168,10 @@ The horizontal interferometer is built according to the [tracking interferometer
#### Interferometer feedback commands #### Interferometer feedback commands
The closed loop control of the Piezo stages can be controlled by The closed loop control of the Piezo stages can be controlled by
- `flomni.rt_feedback_enable_with_reset()`. - `flomni.feedback_feedback_enable_with_reset()`.
_There is also an enable without reset, which is used during tomography scans, when using coarse stages to increase the scan range. It should not be required to use manually._ _There is also an enable without reset, which is used during tomography scans, when using coarse stages to increase the scan range. It should not be required to use manually._
- `flomni.rt_feedback_disable()` - `flomni.feedback_disable()`
- `flomni.rt_feedback_status()` - `flomni.feedback_status()`
### Scanning in 2D and sample alignment ### Scanning in 2D and sample alignment