Devices#

Ophyd-style Devices for the APS.

For complete API details see the Full API Reference.

Also consult the Index under the Ophyd heading for links to the Devices, Exceptions, Mixins, Signals, and other support items described here.

Categories#

See these categories:

APS General Support#

ApsCycleDM

get the APS cycle name from a local file (source: official APS schedule)

ApsMachineParametersDevice

common operational parameters of the APS of general interest

ApsPssShutter

APS PSS shutter

ApsPssShutterWithStatus

APS PSS shutter with separate status PV

SimulatedApsPssShutterWithStatus

simulated APS PSS shutter

Area Detector Support#

ad_class_factory()

build an area detector class with specified plugins

ad_creator()

create an area detector object from a custom class

Plugins

AD_EpicsFileNameHDF5Plugin

HDF5 plugin: EPICS area detector PV sets file name

AD_EpicsFileNameJPEGPlugin

JPEG plugin: EPICS area detector PV sets file name

AD_EpicsFileNameTIFFPlugin

TIFF plugin: EPICS area detector PV sets file name

Mix-in classes

AD_EpicsFileNameMixin

custom class to define image file name from EPICS

AD_EpicsHdf5FileName

custom class to define HDF5 image file name from EPICS PVs

AD_EpicsHDF5IterativeWriter

intermediate class between AD_EpicsHdf5FileName and AD_EpicsFileNameHDF5Plugin

AD_EpicsJPEGFileName

custom class to define JPEG image file name from EPICS PVs

AD_EpicsJPEGIterativeWriter

intermediate class between AD_EpicsJPEGFileName and AD_EpicsFileNameJPEGPlugin

AD_EpicsTIFFFileName

custom class to define TIFF image file name from EPICS PVs

AD_EpicsTIFFIterativeWriter

intermediate class between AD_EpicsTIFFFileName and AD_EpicsFileNameTIFFPlugin

BadPixelPlugin

ADCore NDBadPixel plugin, new in AD 3.13

CamMixin_V34

update cam support to AD release 3.4

CamMixin_V3_1_1

update cam support to AD release 3.1.1

SingleTrigger_V34

variation of ophyd’s SingleTrigger mixin supporting AcquireBusy

Other support

AD_full_file_name_local()

return AD plugin’s last filename using local filesystem path

AD_plugin_primed()

check whether an NDArray has been pushed to the file writer plugin

AD_prime_plugin2()

prime this area detector’s file writer plugin

AD_setup_FrameType()

configure frames to be identified and handled by type

ensure_AD_plugin_primed()

ensure the AD file writing plugin is primed, if allowed

Detector & Scaler Support#

MeasCompCtr

Measurement Computing USB CTR08 high-speed counter/timer

MeasCompCtrMcs

Measurement Computing USB CTR08 multi-channel scaler controls

Struck3820

Struck/SIS 3820 multi-channel scaler (as used by USAXS)

SynPseudoVoigt

evaluate a point on a pseudo-Voigt based on the value of a motor

use_EPICS_scaler_channels()

configure scaler for only the channels with names assigned in EPICS

Tip

The Measurement Computing USB-CTR08 EPICS support provides a compatible EPICS scaler record.

Factory Functions#

Object Factories

Object factories create ophyd objects.

ad_creator()

create an area detector object from a custom class

make_dict_device()

make a recordable DictionaryDevice instance from a dictionary

mb_creator()

create a MotorBundle with any number of motors

Class Factories

Class factories create ophyd Device classes.

ad_class_factory()

build an area detector class with specified plugins

dict_device_factory()

create a DictionaryDevice class using the supplied dictionary

mb_class_factory()

create a custom MotorBundle (or specified base) class

Fly Scan Support#

ScalerMotorFlyer() support withdrawn pending issue #763.

Insertion Devices#

PlanarUndulator

APS planar undulator

Revolver_Undulator

APS revolver insertion device

STI_Undulator

APS planar undulator built by STI Optronics

Undulator2M

APS 2M undulator

Undulator4M

APS 4M undulator

Note

The ApsUndulator and ApsUndulatorDual device support classes have been removed. These devices are not used in the APS-U era.

Motors, Positioners, Axes, …#

AcsMotor

AcsMotionControl motor support

AxisTunerException

exception during execution of AxisTunerBase subclass

AxisTunerMixin

mixin class to provide tuning capabilities for an axis

EpicsDescriptionMixin

add a record’s description field to a Device, such as EpicsMotor

EpicsMotorDialMixin

add motor record’s dial coordinate fields to Device

EpicsMotorEnableMixin

mixin providing access to motor enable/disable

EpicsMotorRawMixin

add motor record’s raw coordinate fields to Device

EpicsMotorResolutionMixin

add motor record’s resolution fields to motor

EpicsMotorServoMixin

add motor record’s servo loop controls to Device

EpicsMotorShutter

shutter implemented with an EPICS motor moved between two positions

EpicsOnOffShutter

shutter using a single EPICS PV moved between two positions

mb_class_factory()

create a custom MotorBundle (or specified base) class

mb_creator()

create a MotorBundle with any number of motors

PVPositionerSoftDone

PVPositioner that computes done as a soft signal

PVPositionerSoftDoneWithStop

PVPositionerSoftDone with stop() and inposition

SimulatedSwaitControllerPositioner

simulated process controller as positioner with EPICS swait record

SimulatedTransformControllerPositioner

simulated process controller as positioner with EPICS transform record

Shutters#

ApsPssShutter

APS PSS shutter

ApsPssShutterWithStatus

APS PSS shutter with separate status PV

EpicsMotorShutter

shutter implemented with an EPICS motor moved between two positions

EpicsOnOffShutter

shutter using a single EPICS PV moved between two positions

OneSignalShutter

shutter Device using one Signal for open and close

ShutterBase

base class for all shutter Devices

SimulatedApsPssShutterWithStatus

simulated APS PSS shutter

Slits#

HHLSlits

high heat load slit

Optics2Slit1D

EPICS synApps optics 2slit.db 1D support: xn, xp, size, center, sync

Optics2Slit2D_HV

EPICS synApps optics 2slit.db 2D support: h.xn, h.xp, v.xn, v.xp

Optics2Slit2D_InbOutBotTop

EPICS synApps optics 2slit.db 2D support: inb, out, bot, top

SlitGeometry

slit size and center as a named tuple

XiaSlit2D

EPICS synApps optics xia_slit.db 2D support

synApps Support#

See separate synApps section.

Temperature Support#

Controllers#

Eurotherm2216e

Eurotherm 2216e temperature controller

LakeShore336Device

LakeShore 336 temperature controller

LakeShore340Device

LakeShore 340 temperature controller

Linkam_CI94_Device

Linkam model CI94 temperature controller

Linkam_T96_Device

Linkam model T96 temperature controller

PTC10AioChannel

SRS PTC10 AIO module

PTC10PositionerMixin

mixin so SRS PTC10 can be used as a temperature positioner

PTC10RtdChannel

SRS PTC10 RTD module channel

PTC10TcChannel

SRS PTC10 thermocouple module channel

SimulatedSwaitControllerPositioner

simulated process controller as positioner with EPICS swait record

SimulatedTransformControllerPositioner

simulated process controller as positioner with EPICS transform record

Readers#

MeasCompTc32

Measurement Computing TC-32 32-channel thermocouple reader

Other Support#

ApsBssUserInfoDevice

provide current experiment info from the APS BSS

DG645Delay

SRS DG-645 digital delay/pulse generator

dict_device_factory()

create a DictionaryDevice class using the supplied dictionary

DM_WorkflowConnector

support for APS Data Management tools

DualPf4FilterBox

(legacy, use Pf4FilterDual) dual XIA PF4 filter boxes

EpicsDescriptionMixin

add a record’s description field to a Device, such as EpicsMotor

EpicsScanIdSignal

use an EPICS PV as the source of the RunEngine’s scan_id

KohzuSeqCtl_Monochromator

synApps Kohzu double-crystal monochromator sequence control

LabJackBase

LabJack T-series data acquisition unit (DAQ)

LabJackT4

LabJack T4 DAQ

LabJackT7

LabJack T7 DAQ

LabJackT7Pro

LabJack T7 Pro DAQ

LabJackT8

LabJack T8 DAQ

make_dict_device()

make a recordable DictionaryDevice instance from a dictionary

MeasCompCtr

Measurement Computing USB CTR08 high-speed counter/timer

Pf4FilterBank

single module of XIA PF4 filters (4 blades)

Pf4FilterCommon

XIA PF4 filters — common support

Pf4FilterDual

XIA PF4 filter: two sets of 4 filters (A, B)

Pf4FilterSingle

XIA PF4 filter: one set of 4 filters (A)

Pf4FilterTriple

XIA PF4 filter: three sets of 4 filters (A, B, C)

SimulatedSwaitControllerPositioner

simulated process controller as positioner with EPICS swait record

SimulatedTransformControllerPositioner

simulated process controller as positioner with EPICS transform record

SRS570_PreAmplifier

Stanford Research Systems 570 preamplifier from synApps

Struck3820

Struck/SIS 3820 multi-channel scaler (as used by USAXS)

Internal Routines#

ApsOperatorMessagesDevice

general messages from the APS main control room

DeviceMixinBase

base class for apstools Device mixin classes

TrackingSignal

non-EPICS signal for use when coordinating Device actions