-
Notifications
You must be signed in to change notification settings - Fork 2
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
Reflectometry: corrections for DirectParameter #8063
Comments
we could make directparameter take a transformation function (optional, defaulting to None, or even or we could subclass directparameter and call it TransformedParameter |
just realised you'd need the inverse of that as well which i think makes things more complicated than they probably need to be. I think the first option is ideal, but we might need this in general in the future. I guess the engineering correction may not work for this reason either? does it do both ways ie. apply to SP but un-apply to RBV ? |
Refl: ISISComputingGroup/EPICS-refl#50 |
Will need to patch this over to NDXINTER after deploy as they require it for their bench. To review check the code, run unit tests and ioctestframework tests as they should cover pretty much everything. I decided on allowing directparameter take an optional argument which is an engineering correction, in inter's case it'll be a constantcorrection(x) which returns x and adds it to SP + subtracts it from RBVs. |
As an INTER scientist, I would like to be able to make a correction to a parameter value applied via DirectParameters.
We already have engineering corrections in the Reflectometry server, however these apply at the IocDriver level which DirectParameters circumvent entirely (they are just a thin wrapper around a low level motor PV).
Post tank upgrade, Theta on INTER is now a direct parameter on the measurement angle axis in the Beckhoff. The measurement angle however is 2x the value of theta so we need to add a scaling factor for Theta to have the expected value. If we do not do this it might create unintended knock on effects e.g. reflectometry scripts expect theta to be equal to phi and would break as a result.
Acceptance Criteria
What is the acceptance criteria?
Insert the 2x scaling factor in a suitable place. Suggested possible solutions (choose one):
DirectParameter
an optional scaling factor which is applied to setpoints and applied in reverse to RBVs (current hotfix solution)DirectParameter
use a dummy version of the whole reflectometry server stack (components, iocdrivers) allowing the addition of Engineering Corrections (this is the same as Reflectometry: Add component for PV Wrapper #4902)Extra Information
Why it is needed?
Where required files/links are
How to Test
verbose instructions for reviewer to test changes
(Add before making a PR)
The text was updated successfully, but these errors were encountered: