dodal.devices.insertion_device#

Classes

Apple2

Device representing the combined motor controls for an Apple2 undulator.

Apple2Controller

Abstract base class for controlling an Apple2 undulator device.

Apple2EnforceLHMoveController

The latest Apple2 version allows unrestricted motor movement.

UndulatorGap

Apple 2 undulator gap motor device.

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.

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.

Apple2Val

Apple2Val(gap: float, phase: dodal.devices.insertion_device.apple2_undulator.Apple2LockedPhasesVal | dodal.devices.insertion_device.apple2_undulator.Apple2PhasesVal)

Apple2PhasesVal

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

LookupTable

Specialised lookup table for insertion devices to relate the energy and polarisation values to Apple2 motor positions.

LookupTableColumnConfig

Configuration on how to process a csv file columns into a LookupTable data model.

InsertionDeviceEnergy

Apple2 ID energy movable device.

InsertionDevicePolarisation

Apple2 ID polarisation movable device.

BeamEnergy

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

UndulatorLockedPhaseAxes

Two phase Motor to make up the locked id phase motion.

EnergyCoverage

Create a new model by parsing and validating input data from keyword arguments.

Pol

EnabledDisabledUpper

UndulatorGateStatus

Apple2LockedPhasesVal

Apple2LockedPhasesVal(top_outer: float, btm_inner: float)

EnergyMotorLookup

Handles a lookup table for Apple2 ID, converting energy/polarisation to a motor position.

ConfigServerEnergyMotorLookup

Fetches and parses lookup table (csv) from a config server, supports dynamic updates, and validates input.

EnergyMotorConvertor

UnstoppableMotor

A motor that does not support stop.

InsertionDeviceEnergyBase

Base class for ID energy movable device.

Functions

convert_csv_to_lookup(file_contents, lut_config)

Convert CSV content into the Apple2 lookup-table dictionary.

dodal.devices.insertion_device.convert_csv_to_lookup(file_contents: str, lut_config: LookupTableColumnConfig, skip_line_start_with: str = '#') LookupTable[source]#

Convert CSV content into the Apple2 lookup-table dictionary.

Return type:

LookupTable

Parameters:#

file_contents:

The CSV file contents as string.

lut_config:

The configuration that how to process the file_contents into a LookupTable.

skip_line_start_with

Lines beginning with this prefix are skipped (default “#”).

Returns:#

: LookupTable

param file_contents:

type file_contents:

str

param lut_config:

type lut_config:

LookupTableColumnConfig

param skip_line_start_with:

type skip_line_start_with:

str, default: "#"