dodal.devices.beamlines.i05_shared.PolynomCompoundMotors#

class dodal.devices.beamlines.i05_shared.PolynomCompoundMotors[source]#

Compound motor controller that synchronizes the movement of multiple motors based on polynomial relationships.

When the master motor is moved, all driven (slave) motors are asynchronously moved to positions calculated using polynomial coefficients from master motor position. The master motor is always included with a default polynomial coefficient of [0.0, 1.0], representing a direct mapping. Driven motors’ positions are calculated using NumPy’s polynomial evaluation.

Parameters:
  • master (Motor) – master motor.

  • driven_dict (dict[Motor, Array1D[np.float64]]) – dictionary that defines mapping of each driven motor to its polynomial coefficients (NumPy array).

  • name (str,optional) – name of the device. Defaults to an empty string.

Methods

locate()

set(new_position)

stop([success])

Attributes