ophyd_async.epics.motor#

Support for EPICS motor record.

https://github.com/epics-modules/motor

Module Contents#

Classes#

Motor

Device that moves a motor record.

InstantMotorMock

Mock behaviour that instantly moves readback to setpoint.

OffsetMode

In Set mode, determine what to do when the motor setpoint is written.

UseSetMode

Determine what to do when the motor setpoint is written.

API#

exception ophyd_async.epics.motor.MotorLimitsError[source]#

Bases: Exception

Exception for invalid motor limits.

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

Bases: ophyd_async.core.StandardMovable[float], ophyd_async.core.StandardFlyable[ophyd_async.core.FlyMotorInfo, ophyd_async.epics.motor.MotorFlyCtx], ophyd_async.core.StandardReadable

Device that moves a motor record.

movable_logic() MotorFlyableMovableLogic#

The logic object that describes how this device moves.

This is intentionally public so that mock helpers (e.g. InstantMovableMock) and subclasses can access the setpoint and readback signals directly. Subclasses must implement this as a @cached_property that returns a MovableLogic instance.

flyable_logic() MotorFlyableMovableLogic#

The logic object that describes how this device flies.

A static flyer (e.g. Motor) provides this as a @cached_property that builds a FlyableLogic from its signals. An ephemeral flyer created by FlyableLogic.with_device has it set directly on the instance.

class ophyd_async.epics.motor.InstantMotorMock(name: str = '', parent: DeviceMock | None = None)[source]#

Bases: ophyd_async.core.DeviceMock[Motor]

Mock behaviour that instantly moves readback to setpoint.

async connect(device: Motor) None[source]#

Mock signals to do an instant move on setpoint write.

class ophyd_async.epics.motor.OffsetMode[source]#

Bases: ophyd_async.core.StrictEnum

In Set mode, determine what to do when the motor setpoint is written.

VARIABLE#

‘Variable’

Change the offset so the readback matches the setpoint.

FROZEN#

‘Frozen’

Tell the controller to change the readback without changing the offset.

class ophyd_async.epics.motor.UseSetMode[source]#

Bases: ophyd_async.core.StrictEnum

Determine what to do when the motor setpoint is written.

USE#

‘Use’

Tell the controller to move to the setpoint.

SET#

‘Set’

Change offset (in record or in controller) when setpoint is written.