AllenNeuralDynamics / AllenNeuralDynamics/exa-spim-control
Switch to absolute, not relative move commands
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The ASI stages store relative movements as an integer in units of encoder ticks. Therefore, if we request repeated relative movements of a non-integer encoder tick value, we will accumulate error. Since we move ~20K steps in units of 1[um], it is possible to introduce about 20[um] of error at the end of this movement. This phenomenon is documented in the [MOVEREL](http://asiimaging.com/docs/commands/movrel) command.
The fix is to communicate with the box using absolute movements. Since we don't know when the NI card is outputting triggers, it would be prudent to setup a transaction where we fill up the Tigerbox buffer with as many moves as possible, and then regularly query the buffer size and refill it such that it never goes empty while being externally triggered.
Since the current refactor need not be any more accurate than the existing code, this feature can wait for a while.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.