continued with auto alignment and laser tracker

This commit is contained in:
Holler Mirko
2024-09-13 11:49:35 +02:00
committed by wakonig_k
parent 07543755d9
commit a07a56822f
2 changed files with 28 additions and 40 deletions
@@ -200,10 +200,10 @@ class OMNY_rt_client:
min_begin = self.mirror_parameters[mirror_channel]["opt_signal_min_begin"]
if previous_signal < min_begin:
#raise OMNY_rt_clientError("error1") #(f"Minimum signal of axis {self.mirror_parameters[mirror_channel]["opt_mirrorname"]} to start alignment not present.")
print(f"Minimum signal for auto alignment {min_begin} not reached.")
print(f"\rMinimum signal for auto alignment {min_begin} not reached.")
return
elif previous_signal > self.mirror_parameters[mirror_channel]["opt_signal_stop"]:
print(f"Interferometer signal of axis is good") # {self.mirror_parameters[mirror_channel]["opt_mirrorname"]} is good.")
print(f"\rInterferometer signal of axis is good") # {self.mirror_parameters[mirror_channel]["opt_mirrorname"]} is good.")
return
else:
direction = 1
@@ -409,3 +409,24 @@ class OMNY_rt_client:
self.mirror_channel=-1
def laser_tracker_check_and_wait_for_signalstrength(self):
#first check on target
dev.rtx.controller.laser_tracker_wait_on_target()
signal = dev.rtx.controller._omny_interferometer_get_signalsample("ssi_4",0.1)
min_signal = self.OMNYTools._get_user_param_safe("rtx","min_signal")
low_signal = self.OMNYTools._get_user_param_safe("rtx","low_signal")
wait_counter = 0
while signal < min_signal and wait_counter<10:
print(
f"The signal of the tracker {signal} is below the minimum required signal of {min_signal}. Waiting..."
)
wait_counter+=1
time.sleep(0.4)
self.feedback_get_status_and_ssi()
signal = dev.rtx.controller._omny_interferometer_get_signalsample("ssi_4",0.1)
if signal < low_signal:
print(
f"\x1b[91mThe signal of the tracker {signal} is below the low limit of {low_signal}. Auto readjustment...\x1b[0m"
)
self.omny_interferometer_align_tracking()
+5 -38
View File
@@ -68,6 +68,8 @@ class RtOMNYController(Controller):
"laser_tracker_galil_enable",
"laser_tracker_galil_disable",
"laser_tracker_print_intensity_for_otrack_tweaking",
"laser_tracker_check_on_target",
"laser_tracker_wait_on_target",
]
def __init__(
@@ -315,30 +317,7 @@ class RtOMNYController(Controller):
raise RtError("Failed to reach laser target position.")
def laser_tracker_check_and_wait_for_signalstrength(self):
#first check on target
self.laser_tracker_wait_on_target(self)
self.feedback_get_status_and_ssi()
signal = self.ssi["ssi_3"]
rtx = self.get_device_manager().devices.rtx
min_signal = rtx.user_parameter.get("min_signal")
low_signal = rtx.user_parameter.get("low_signal")
wait_counter = 0
while signal < min_signal and wait_counter<10:
print(
f"The signal of the tracker {signal} is below the minimum required signal of {min_signal}. Waiting..."
)
wait_counter+=1
time.sleep(1)
self.feedback_get_status_and_ssi()
signal = self.ssi["ssi_3"]
if signal < low_signal:
print(
f"\x1b[91mThe signal of the tracker {signal} is below the low limit of {low_signal}. Auto readjustment...\x1b[0m"
)
#todo
self.interferometer_align_tracking()
def laser_tracker_print_intensity_for_otrack_tweaking(self):
@@ -348,19 +327,6 @@ class RtOMNYController(Controller):
def laser_tracker_show_all(self):
self.laser_update_tracker_info()
# self.tracker_info = {
# "beampos_y": tracker_values[5],
# "beampos_z": tracker_values[0],
# "tracker_intensity": tracker_values[2],
# "target_y": tracker_values[6],
# "threshold_intensity_y": tracker_values[8],
# "piezo_voltage_y": tracker_values[9],
# "enabled_y": tracker_values[10],
# "target_z": tracker_values[1],
# "threshold_intensity_z": tracker_values[3],
# "piezo_voltage_z": tracker_values[4],
# "enabled_z": bool(tracker_values[10]),
# }
enabled_y = self.tracker_info["enabled_y"]
print(f"Tracker enabled: {bool(enabled_y)}")
if self.tracker_info["tracker_intensity"] < self.tracker_info["threshold_intensity_y"]:
@@ -414,13 +380,14 @@ 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"}
self.feedback_get_status_and_ssi()
t = PrettyTable()
t.title = f"Interferometer signal strength"
t.field_names = ["Axis", "Value"]
t.field_names = ["Channel", "Name", "Value"]
for i in range(1,6):
ssi = self.ssi[f"ssi_{i}"]
t.add_row([i, ssi])
t.add_row([i,channelnames[i], ssi])
print(t)
def _omny_interferometer_switch_open_socket(self):