malcolm.modules.pmac.infos

class malcolm.modules.pmac.infos.PmacVariablesInfo(i_variables: str, p_variables: str, m_variables: str)[source]

List variable values for variables required in kinematics

Parameters
  • i_variables – i variable list

  • p_variables – p variable list

  • m_variables – m variable list

class malcolm.modules.pmac.infos.PmacCsKinematicsInfo(cs_port: str, q_variables: str, forward: str, inverse: str)[source]

Coordinate sys kinematics programs and Q variable values

Parameters
  • cs_port – the port name for this coordinate system

  • q_variables – i variable list

  • forward – forward kinematic code

  • inverse – inverse kinematic code

class malcolm.modules.pmac.infos.MotorInfo(cs_axis: str, cs_port: str, acceleration: float, resolution: float, offset: float, max_velocity: float, current_position: float, scannable: str, velocity_settle: float, units: str)[source]
make_velocity_profile(v1, v2, distance, min_time, min_interval=0.002)[source]

Calculate PVT points that will perform the move within motor params

Parameters
  • v1 (float) – Starting velocity in EGUs/s

  • v2 (float) – Ending velocity in EGUs/s

  • distance (float) – Relative distance to travel in EGUs

  • min_time (float) – The minimum time the move should take

  • min_interval (float) – Minimum time between profile points

Returns

defining a list of times and velocities

Return type

VelocityProfile

in_cts(position: float)int[source]

Return the position (in EGUs) translated to counts