-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Async Position Restoration for Movable via Database #738
Comments
Unless I misunderstood this, autosave already does this at the EPICS layer. Why do we need to do this at the ophyd level? |
ah right, it's not for 'every' position but only for the 'good' positions. to be able to revert back to a state. tbh that could go with a plan 'set motors x, y, z ' to position A/B/C where a plan causes a multi-dimensional move. @Relm-Arrowny thoughts? |
Presumably you could also use |
From the description above it is not clear whether you want:
|
I am not sure.... I thought we were talking about a data base where we can write and retrieve data related to the motion/experiment, e.g. look up table for the ID/mono, UB matrix setting, etc...Things that do not live in the motor record but are used to drive motor/devices. Data that are useful after restarting/starting bluesky. Is this better describe what we want? @stan-dot |
yeah I agree |
So this is then about storing and fetching matrices and lookup tables rather than actual positions? This doesn't sound like writing to hardware, so I question whether it lives in ophyd-async. |
Currently, Movables do not have the capability to restore their position from an asynchronous database. We could use a feature that allows a Movable object to fetch and restore its position from an async database. This functionality could be implemented via a decorator or a new interface method. Additionally, the position restoration should support caching, ensuring that the most recent 'set' call is recorded and used when restoring the position.
This decorator / interface could be persistence-mechanism-specific, for instance
RedisCacheable
interface or 'cache_with_redis(redis_client_instance)'.Discussed with @Relm-Arrowny
Stakeholders:
Users of ophyd-async who require Movables to restore positions after reboots or for devices that lack an encoder
Business Case:
Allowing Movables to restore their position from an async database would provide more robust state persistence across system restarts and long-running operations, improving reliability and automation for users with complex systems requiring position tracking.
Acceptance Criteria:
The text was updated successfully, but these errors were encountered: