dodal.devices.apple2_undulator#

Classes

Apple2

Device representing the combined motor controls for an Apple2 undulator.

Apple2Controller

Abstract base class for controlling an Apple2 undulator device.

Apple2PhasesVal

Apple2PhasesVal(top_outer: str, top_inner: str, btm_inner: str, btm_outer: str)

Apple2Val

Apple2Val(top_outer: str, top_inner: str, btm_inner: str, btm_outer: str, gap: str)

BeamEnergy

Compound device to set both ID and energy motor at the same time with an option to add an offset.

EnergyMotorConvertor

InsertionDeviceEnergy

Apple2 ID energy movable device.

InsertionDeviceEnergyBase

Base class for ID energy movable device.

InsertionDevicePolarisation

Apple2 ID polarisation movable device.

Pol

SafeUndulatorMover

A device that will check it's safe to move the undulator before moving it and wait for the undulator to be safe again before calling the move complete.

UndulatorGap

A device with a collection of epics signals to set Apple 2 undulator gap motion.

UndulatorGateStatus

UndulatorJawPhase

A JawPhase movable, this is use for moving the jaw phase which is use to control the linear arbitrary polarisation but only on some of the beamline.

UndulatorPhaseAxes

A collection of 4 phase Motor to make up the full id phase motion. We are using the diamond pv convention. e.g. top_outer == Q1 top_inner == Q2 btm_inner == q3 btm_outer == q4.

UndulatorPhaseMotor

A collection of epics signals for ID phase motion.

Functions

estimate_motor_timeout(setpoint, curr_pos, ...)

async dodal.devices.apple2_undulator.estimate_motor_timeout(setpoint: SignalR, curr_pos: SignalR, velocity: SignalR)[source]#
Parameters:
  • setpoint (SignalR)

  • curr_pos (SignalR)

  • velocity (SignalR)