Note

Ophyd async is considered experimental until the v1.0 release and may change API on minor release numbers before then

ophyd_async.epics.motor#

Members

InvalidFlyMotorException

Motor

Device that moves a motor record

MotorLimitsException

pydantic model ophyd_async.epics.motor.FlyMotorInfo[source]#

Minimal set of information required to fly a motor:

Show JSON schema
{
   "title": "FlyMotorInfo",
   "description": "Minimal set of information required to fly a motor:",
   "type": "object",
   "properties": {
      "start_position": {
         "title": "Start Position",
         "type": "number"
      },
      "end_position": {
         "title": "End Position",
         "type": "number"
      },
      "time_for_move": {
         "exclusiveMinimum": 0.0,
         "title": "Time For Move",
         "type": "number"
      },
      "timeout": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "const": "CALCULATE_TIMEOUT",
               "enum": [
                  "CALCULATE_TIMEOUT"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "CALCULATE_TIMEOUT",
         "title": "Timeout"
      }
   },
   "required": [
      "start_position",
      "end_position",
      "time_for_move"
   ]
}

Fields:
field end_position: float [Required]#

Absolute position of the motor once it begins decelerating from desired velocity, in EGUs

field start_position: float [Required]#

Absolute position of the motor once it finishes accelerating to desired velocity, in motor EGUs

field time_for_move: float [Required]#

Time taken for the motor to get from start_position to end_position, excluding run-up and run-down, in seconds.

Constraints:
  • gt = 0

field timeout: float | None | Literal['CALCULATE_TIMEOUT'] = 'CALCULATE_TIMEOUT'#

Maximum time for the complete motor move, including run up and run down. Defaults to time_for_move + run up and run down times + 10s.

class ophyd_async.epics.motor.Motor(prefix: str, name='')[source]#

Device that moves a motor record

prepare(value: FlyMotorInfo)[source]#

Calculate required velocity and run-up distance, then if motor limits aren’t breached, move to start position minus run-up distance

kickoff()[source]#

Begin moving motor from prepared position to final position.

complete() WatchableAsyncStatus[source]#

Mark as complete once motor reaches completed position.