dodal.devices.insertion_device.UndulatorBase#

class dodal.devices.insertion_device.UndulatorBase[source]#

Base class for Apple2 undulator devices that use gated motion.

Subclasses implement writing demand positions and estimating move timeouts, while this class provides the common sequence of:

  • writing demand positions,

  • triggering the controller move,

set_move#

Signal used to trigger motion after demands have been written.

Methods

check_value(value)

Check the new position is valid.

get_timeout()

Get the timeout for the move based on an estimate of how long it will take.

set_demand_positions(value)

Set the demand positions on the device without actually hitting move.

Attributes

abstract async set_demand_positions(value: T) None[source]#

Set the demand positions on the device without actually hitting move.

Parameters:

value (TypeVar(T))

Return type:

None

abstract async check_value(value: T) None[source]#

Check the new position is valid.

Parameters:

value (TypeVar(T))

Return type:

None

abstract async get_timeout() float | None[source]#

Get the timeout for the move based on an estimate of how long it will take.

Return type:

float | None