Skip to content

Resolve "CalcMotor: Missing parametric motor"

Perceval Guillou requested to merge 3036-calcmotor-missing-parametric-motor into master

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 a param axis.
  • elif rx or ry is found in tags, it is treated as a real.
  • 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).

Edited by Perceval Guillou

Merge request reports

Loading