The BTMS should not attempt automated motion if the stages to be moved are not properly homed.
Current Behavior
The BTMS makes no such checks.
Possible Solution
Use the MSTA field that is now available in most of our motor classes in the epics_motor module. If one or more stages in the source stage stack are not homed, then throw an error and ask the user to home the stages before executing an automated move.
We could still allow expert manual motion for position tuning and operating point determination.
Context
We've had problems before with the motors not being properly homed and confusion arising when automatically moving to the delivery position did not result in proper beam delivery.
Now that the MSTA field is available in our motor classes, this is much easier to do. The BTMS already uses this data to display home status; this would just take things a bit further.
Expected Behavior
The BTMS should not attempt automated motion if the stages to be moved are not properly homed.
Current Behavior
The BTMS makes no such checks.
Possible Solution
Use the MSTA field that is now available in most of our motor classes in the
epics_motor
module. If one or more stages in the source stage stack are not homed, then throw an error and ask the user to home the stages before executing an automated move.We could still allow expert manual motion for position tuning and operating point determination.
Context
We've had problems before with the motors not being properly homed and confusion arising when automatically moving to the delivery position did not result in proper beam delivery.
Now that the MSTA field is available in our motor classes, this is much easier to do. The BTMS already uses this data to display home status; this would just take things a bit further.