Looking at the code, the best place to check for this is when the fiducial fibre matching fails. Counting the number of detected spots is a poor test, as due to the black spots the number of detected dots varies (even with the illuminator on) and is not completely predictable ahead of time (due to cobras ending up behind black dotes during moves).
The fidicual fibre matching will fail (returning 0 matches) if the illuminator is not on, or if the fiducial fibres are not on. It will produce similar results (typically 0 to 2 matches) if the cobras are illuminated but the rotation angle is wrong.
In all three cases, the code should abort the convergence sequence in a graceful, non-crashing fashion. I will consult Craig and Chi-Hung about the best was of doing this, as it involves higher level actors (and maybe IIC).
This ticket connects with INSTRM-2299, in which unexpected behaviour was produced by nonsense input from cobra_target. The diagnostics are different, but the result should be the same; aborting the convergence sequence and producing a clear and impossible to miss error message.
Looking at the code, the best place to check for this is when the fiducial fibre matching fails. Counting the number of detected spots is a poor test, as due to the black spots the number of detected dots varies (even with the illuminator on) and is not completely predictable ahead of time (due to cobras ending up behind black dotes during moves).
The fidicual fibre matching will fail (returning 0 matches) if the illuminator is not on, or if the fiducial fibres are not on. It will produce similar results (typically 0 to 2 matches) if the cobras are illuminated but the rotation angle is wrong.
In all three cases, the code should abort the convergence sequence in a graceful, non-crashing fashion. I will consult Craig and Chi-Hung about the best was of doing this, as it involves higher level actors (and maybe IIC).
This ticket connects with
INSTRM-2299, in which unexpected behaviour was produced by nonsense input from cobra_target. The diagnostics are different, but the result should be the same; aborting the convergence sequence and producing a clear and impossible to miss error message.