AllenNeuralDynamics / AllenNeuralDynamics/exa-spim-control

Switch to absolute, not relative move commands

Open
#25 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.