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