fix(flomni): warn and confirm instead of crashing when fttrx1 is missing
CI for csaxs_bec / test (push) Successful in 3m8s
CI for csaxs_bec / test (push) Successful in 3m8s
feye_in() called umv(dev.fttrx1, ...) unconditionally, so a config without fttrx1 crashed instead of degrading gracefully. Mirrors the existing feye_out() guard: warn that fttrx1 can't be moved and that skipping it risks a hardware collision on the real beamline, then ask yesno before continuing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,9 @@ class FlomniOpticsMixin:
|
||||
if "fttrx1" not in dev:
|
||||
if not self.OMNYTools.yesno(
|
||||
"Device 'fttrx1' does not exist in the current config, so it "
|
||||
"can't be moved out of the way. Continue anyway?"
|
||||
"can't be moved out of the way. Continue anyway? WARNING: "
|
||||
"this could cause collisions when operating on the real "
|
||||
"beamline."
|
||||
):
|
||||
print("Aborting feye_out(): fttrx1 not moved.")
|
||||
return
|
||||
@@ -44,9 +46,19 @@ class FlomniOpticsMixin:
|
||||
|
||||
def feye_in(self):
|
||||
bec.queue.next_dataset_number += 1
|
||||
fttrx_out = self._get_user_param_safe("feyex", "fttrx_out")
|
||||
umv(dev.fttrx1, fttrx_out)
|
||||
|
||||
if "fttrx1" not in dev:
|
||||
if not self.OMNYTools.yesno(
|
||||
"Device 'fttrx1' does not exist in the current config, so it "
|
||||
"can't be moved into position. Continue anyway? WARNING: "
|
||||
"this could cause collisions when operating on the real "
|
||||
"beamline."
|
||||
):
|
||||
print("Aborting feye_in(): fttrx1 not moved.")
|
||||
return
|
||||
else:
|
||||
fttrx_out = self._get_user_param_safe("feyex", "fttrx_out")
|
||||
umv(dev.fttrx1, fttrx_out)
|
||||
|
||||
feyex_in = self._get_user_param_safe("feyex", "in")
|
||||
feyey_in = self._get_user_param_safe("feyey", "in")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user