From 892fe1b9ccc68ffc2ab5feed6c7db835a51a9d64 Mon Sep 17 00:00:00 2001 From: Mirko Holler Date: Thu, 5 Nov 2026 14:52:43 +0100 Subject: [PATCH] feat(omny): interferometer channels after the OMNY interferometer rework (Zygo 4004 only, flOMNI order: ST FZP Y, ST FZP X, RotZ, RotX); laser-tracker check on ssi_2; mirror table marked TODO Loop side: OMNY branch zygo-4004 (RT_sampler / server formats unchanged). To be tested as one package with the loop after the recabling. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01M8zoDvEVcT4jbFjSNU9Rii --- csaxs_bec/devices/omny/rt/rt_omny_ophyd.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py b/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py index 24804e2b..f97d7eb4 100644 --- a/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py +++ b/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py @@ -108,6 +108,10 @@ class RtOMNYController(Controller): self.ssi = {} self._min_scan_buffer_reached = False self.switchbox_socket = socket.socket() + # TODO (OMNY interferometer rework 2026-11-05, branch zygo-4004): the signal channels changed meaning - + # ssi_1 ST FZP Y, ssi_2 ST FZP X, ssi_3 RotZ, ssi_4 RotX, ssi_5 not read (before: ssi_1 OSA FZP Y, ssi_2 ST OSA Y, + # ssi_3 OSA FZP X, ssi_4 ST OSA X, ssi_5 Angle). The mirror list below is still the one before the rework; which + # mirrors remain and on which channel each is optimized is to be defined by Mirko (OMNY docs/feedback_report.md). self.mirror_parameters = { 1: { "opt_signalchannel": "ssi_5", @@ -284,8 +288,9 @@ class RtOMNYController(Controller): return # first check on target self.laser_tracker_wait_on_target() - # when on target, check interferometer signal - signal = self._omny_interferometer_get_signalsample("ssi_4", 0.1) + # when on target, check interferometer signal (ssi_2 = ST FZP X since the interferometer rework 2026-11-05; + # was ssi_4 = ST OSA X) + signal = self._omny_interferometer_get_signalsample("ssi_2", 0.1) rtx = self.device_manager.devices.rtx min_signal = rtx.user_parameter.get("min_signal") low_signal = rtx.user_parameter.get("low_signal") @@ -297,7 +302,7 @@ class RtOMNYController(Controller): wait_counter += 1 time.sleep(0.2) - signal = self._omny_interferometer_get_signalsample("ssi_4", 0.1) + signal = self._omny_interferometer_get_signalsample("ssi_2", 0.1) if signal < low_signal: print( @@ -749,7 +754,9 @@ class RtOMNYController(Controller): print(f"Galil Trackcounters y={trackyct}, z={trackzct}") def show_signal_strength_interferometer(self): - channelnames = {1: "OSA FZP Y", 2: "ST OSA Y", 3: "OSA FZP X", 4: "ST OSA X", 5: "Angle"} + # Zygo 4004 only in the flOMNI channel order since the OMNY interferometer rework (OMNY branch zygo-4004, + # 2026-11-05); before: 1 OSA FZP Y, 2 ST OSA Y, 3 OSA FZP X, 4 ST OSA X, 5 Angle (2402 card) + channelnames = {1: "ST FZP Y", 2: "ST FZP X", 3: "RotZ", 4: "RotX", 5: "(2402 not read)"} self.feedback_get_status_and_ssi() t = PrettyTable() t.title = f"Interferometer signal strength"