Skip to content
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

Add support for virtual axes #65

Merged
merged 1 commit into from
Feb 17, 2025

Conversation

jlmuir
Copy link
Contributor

@jlmuir jlmuir commented Feb 16, 2025

No description provided.


## Virtual Axes

Virtual axes are supported. An axis is considered to be virtual when its `MFLAGS.#DEFCON` bit is 1. The encoder resolution of the virtual axis is defined by `EFAC`. If a user-defined real array named `VPOS` (virtual feedback position) exists on the controller, motorAcsMotion considers it to be the logical equivalent of `FPOS` but for nonstandard `CONNECT` function virtual axes. `VPOS` is the virtual axis actual position (calculated from hardware axis `FPOS` values). If `VPOS` is not defined, motorAcsMotion falls back to using `APOS`. The motorAcsMotion report generated by `asynReport` shows whether virtual feedback positions are supported (i.e., whether motorAcsMotion is using `VPOS` for virtual axes) and the virtual feedback position of each axis (i.e., the value of `VPOS` for each axis, or 0 if `VPOS` is not being used).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I highly recommend adding an ERES reference to the 3rd sentence when "encoder resolution" is mentioned. People who are new to EPICS might not know about the encoder resolution field and will be very confused when setting UEIP to YES for an axis that uses VPOS and finding the motor doesn't move the expected amount due to MRES != ERES.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, good point. OK, fixed and force-pushed.

@kmpeters
Copy link
Contributor

@jlmuir, thanks for this excellent pull request.

@jlmuir jlmuir force-pushed the add-virtual-axis-support branch from 8410f04 to 719d3ca Compare February 17, 2025 18:51
@kmpeters kmpeters merged commit 8b1dde9 into epics-motor:master Feb 17, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants