Improve the stability of the serial connection for motor_stage_pi and zaber_motor_rotation_stage.
Motivation and Context
On setup 3 and after adding a few new serial devices, scanning the magnetic field with above stages was painfull and plagued by a lot of hangs and crashes.
The main change of this PR is to reduce the number of serial command issued by stacking together calls to the serial hardware where possible.
How Has This Been Tested?
On setup3 magnet alignment runs way smoother now.
In particular, the magnet gui wouldn't hang while scanning without any warning/error issued.
Types of changes
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Checklist:
[x] My code follows the code style of this project.
[ ] I have documented my changes in the changelog (documentation/changelog.md)
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added/updated for the module the config example in the docstring of the class accordingly.
[x] I have checked that the change does not contain obvious errors (syntax, indentation, mutable default values).
[ ] I have tested my changes using 'Load all modules' on the default dummy configuration with my changes included.
[ ] All changed Jupyter notebooks have been stripped of their output cells.
Improve the stability of the serial connection for motor_stage_pi and zaber_motor_rotation_stage.
Motivation and Context
On setup 3 and after adding a few new serial devices, scanning the magnetic field with above stages was painfull and plagued by a lot of hangs and crashes. The main change of this PR is to reduce the number of serial command issued by stacking together calls to the serial hardware where possible.
How Has This Been Tested?
On setup3 magnet alignment runs way smoother now. In particular, the magnet gui wouldn't hang while scanning without any warning/error issued.
Types of changes
Checklist:
documentation/changelog.md
)