dodal.plans.motor_util_plans#

Functions

home_and_reset_decorator(plan, device, ...)

home_and_reset_wrapper(plan, device, ...[, ...])

move_and_reset_wrapper(plan, ...[, group, ...])

Wrapper that does the following:

Exceptions

MoveTooLarge

dodal.plans.motor_util_plans.home_and_reset_wrapper(plan: Generator[Msg, Any, P], device: Device, smallest_move: float, maximum_move: float, group: str | None = None, wait_for_all: bool = True) Generator[Msg, Any, P][source]#
Parameters:
Return type:

Generator[Msg, Any, TypeVar(P)]

dodal.plans.motor_util_plans.move_and_reset_wrapper(plan: Generator[Msg, Any, P], device_and_positions: dict[MovableReadable, float], smallest_move: float, maximum_move: float, group: str | None = None, wait_for_all: bool = True) Generator[Msg, Any, P][source]#
Wrapper that does the following:
  1. Caches the positions of all Motors on device

2. Throws a MoveTooLarge exception if any positions are maximum_move away from home_position 2. Moves any motor that is more than smallest_move away from the home_position to home_position 3. Runs the specified plan 4. Moves all motors back to their cached positions

Parameters:
  • plan (Callable[[], MsgGenerator]) – The plan to move between homing and returning to the cache

  • device (Device) – The device to move. All Motors in the device will be cached and moved

  • smallest_move (float) – The smallest move that we care about doing the home and cache for. Useful for not wearing out motors if you have large tolerances

  • maximum_move (float) – If any Motor starts this far from the home an exception is raised and no moves occur

  • home_position (float) – The position to move every motor to after caching

  • group (str, optional) – If set the home move will be done using the home-{group} group and the reset to cache done using reset-{group}

  • wait_for_all (bool, optional) – If true the home and reset to cache will be waited on. If false it is left up to the caller to wait on them. Defaults to True.

  • device_and_positions (dict[MovableReadable, float])

Return type:

Generator[Msg, Any, TypeVar(P)]

dodal.plans.motor_util_plans.home_and_reset_decorator(plan: Generator[Msg, Any, P], device: Device, smallest_move: float, maximum_move: float, group: str | None = None, wait_for_all: bool = True) Generator[Msg, Any, P]#
Parameters:
Return type:

Generator[Msg, Any, TypeVar(P)]