Resolve "CalcMotor: Missing parametric motor"
Closes #3036 (closed)
This MR introduces the concept of parameter axes as proposed by @valentin.valls (see #3036 (closed) and !5031 (closed)) + tests.
It also re-work the CalcController
base class so that it ignores the real
tag to identify an input axis.
Instead it detects axes passed by reference (see $name
in yml) and treats them as input axes (real
or param
).
Else, it is considered as an output (CalcAxis, aka pseudo
).
An input axis is considered as a 'parameter' axis if the param
key is found in the tags (tags[0] == 'param'
).
Else, it is consider as a real
. (see def _add_input_axis
)
In the XYOnRotation
class, def _add_input_axis
is overidden.
For input axes:
- if
rot
is found in tags, it is treated as aparam
axis. - elif
rx
orry
is found in tags, it is treated as areal
. - else: ValueError => Unknown tags
Note:
In addition, it makes clearer the usage of user vs dial pos in CalcController
and hklmotor
classes (using explicit variable names).