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
CI for csaxs_bec / test (push) Successful in 3m47s

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M8zoDvEVcT4jbFjSNU9Rii
This commit is contained in:
Mirko HollerandClaude Opus 5.5 committed 2026-11-05 14:52:43 +01:00
1 parent b189e2e4c7
commit 892fe1b9cc
1 file changed
+11 -4
+11 -4
View File
@@ -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"