APS-4ID-POLAR / APS-4ID-POLAR/ipython-polar
dynamic limit for coordinated theta:2theta motion
- Dominant language
- Python
- Stars
- 1
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Need to create a dynamic limit to protect against collision of theta & 2theta axes during coordinated motion. Discussed today with @timmmooney & @keenanlang. Joint decision was to use one of the userCalcs to prototype this calculation. Once satisfied, a custom database (including calculation, motion stop, ...) will be created in the IOC so that users do not accidentally break this new protection.
The coordinated motion of these two axes is sufficiently slow that a motion STOP could be implemented in a calculation record in the IOC.
## Prototype
The prototype would first check the validity of watching RBV from both axes and making sure they are no closer than a user-defined constant. If the axes are too close (say within 5 degrees) , the Bluesky RunEngine will be suspended. These steps are needed for the prototype:
* [x] use existing userCalc (from IOC) to make a prototype
* [x] interface this with Bluesky `ophyd.EpicsSignal`
* [x] create ophyd suspender to pause RunEngine (decide what action to take for suspension)
## Full implementation
Once satisfied with the prototype:
* [ ] create custom EPICS database (in IOC) and move from the userCalc, include STOP of all motor axes
* [ ] modify Bluesky for the change in PV name(s)
* [ ] interface this new EPICS support with SPEC (@jkirchman)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.