The stage won't be on movement when a move call is finished.#296
The stage won't be on movement when a move call is finished.#296sorny92 wants to merge 1 commit intomicro-manager:mainfrom
Conversation
|
Thank you for proposing a fix. Unfortunately, this is not usually the right way to ensure motion completion. It is intentional that Instead, there is a The Can you maybe test if the |
|
Thanks for the quick answer!
I see! This raises a question a bit unrelated. How is it supposed to work with systems that their API only have blocking calls (so it waits for the movement to finish before returning)? I'm asking because I wrote a wrapper around another stage and this is the case for it. There's no non-blocking call method so I implemented in a blocking way.
Will do! |
Our device interface is rather inconvenient in this case. To behave correctly, the blocking call would have to be made on a separate thread created by the device adapter. It might make sense to issue all calls to such an API from a dedicated thread (so that there is no danger of them overlapping), and have the rest of the code (i.e. interface to MMCore) interact with that thread through message queues. This usually requires a fairly significant programming effort. In some cases, a compromise could be made where the set-position functions block until the motion is complete. This is often "good enough" for faster devices (e.g. piezo stages). It is not ideal for motor-driven devices, but could be better than not having support for that device. |
We use the Standa8SMC4 with a XY stage and observed that when we use a multipoint acquisition in u-manager the images would be blurry.
We realised that one the trigger signal was send the stage was still moving so adding the wait to finish movement fix the wrong behaviour.
I also updated the expected version of
libximcto2.8.4so this call can be found. The current version in the documentation can't be found in the official webpage from Standa: https://files.xisupport.com/Software.en.htmlIt would be good to also update the webpage and documentation with the right version so it's consistent but I don't know where to find this information.