Devices¶
(ophyd) Devices that might be useful at the APS using BlueSky
APS GENERAL SUPPORT
|
common operational parameters of the APS of general interest |
|
APS PSS shutter |
|
APS PSS shutter with separate status PV |
|
Simulated APS PSS shutter |
AREA DETECTOR SUPPORT
|
configure so frames are identified & handled by type (dark, white, or image) |
|
Has area detector pushed an NDarray to the HDF5 plugin? True or False |
|
custom class to define image file name from EPICS |
DETECTOR / SCALER SUPPORT
|
Struck/SIS 3820 Multi-Channel Scaler (as used by USAXS) |
|
configure scaler for only the channels with names assigned in EPICS |
MOTORS, POSITIONERS, AXES, …
Exception during execution of AxisTunerBase subclass |
|
|
Mixin class to provide tuning capabilities for an axis |
|
add a record’s description field to a Device, such as EpicsMotor |
|
add motor record’s dial coordinate fields to Device |
|
add motor record HLM & LLM fields & compatibility get_lim() and set_lim() |
|
add motor record’s raw coordinate fields to Device |
|
add motor record’s servo loop controls to Device |
|
a shutter, implemented with an EPICS motor moved between two positions |
|
a shutter using a single EPICS PV moved between two positions |
SHUTTERS
|
APS PSS shutter |
|
APS PSS shutter with separate status PV |
|
a shutter, implemented with an EPICS motor moved between two positions |
|
a shutter using a single EPICS PV moved between two positions |
|
shutter Device using one Signal for open and close |
|
base class for all shutter Devices |
|
Simulated APS PSS shutter |
synApps records
|
|
|
EPICS synApps sscan record: used as $(P):scan(N) |
|
synApps XXX IOC setup of sscan records: $(P):scan$(N) |
|
synApps swait record: used as $(P):userCalc$(N) |
|
setup swait record to generate random numbers |
|
setup swait for noisy Gaussian |
|
setup swait record for noisy Lorentzian |
|
setup swait record as an incrementer |
|
synApps XXX IOC setup of userCalcs: $(P):userCalc$(N) |
OTHER SUPPORT
|
Dual Xia PF4 filter boxes using support from synApps (using Al, Ti foils) |
|
add a record’s description field to a Device, such as EpicsMotor |
|
synApps Kohzu double-crystal monochromator sequence control program |
|
Struck/SIS 3820 Multi-Channel Scaler (as used by USAXS) |
Internal routines
|
general messages from the APS main control room |
|
Base class for apstools Device mixin classes |
-
apstools.devices.
AD_setup_FrameType
(prefix, scheme='NeXus')[source]¶ configure so frames are identified & handled by type (dark, white, or image)
PARAMETERS
prefix (str) : EPICS PV prefix of area detector, such as “13SIM1:” scheme (str) : any key in the AD_FrameType_schemes dictionary
This routine prepares the EPICS Area Detector to identify frames by image type for handling by clients, such as the HDF5 file writing plugin. With the HDF5 plugin, the FrameType PV is added to the NDattributes and then used in the layout file to direct the acquired frame to the chosen dataset. The FrameType PV value provides the HDF5 address to be used.
To use a different scheme than the defaults, add a new key to the AD_FrameType_schemes dictionary, defining storage values for the fields of the EPICS mbbo record that you will be using.
see: https://github.com/BCDA-APS/use_bluesky/blob/master/notebooks/images_darks_flats.ipynb
EXAMPLE:
AD_setup_FrameType("2bmbPG3:", scheme="DataExchange")
Call this function before creating the ophyd area detector object
use lower-level PyEpics interface
-
apstools.devices.
AD_warmed_up
(detector)[source]¶ Has area detector pushed an NDarray to the HDF5 plugin? True or False
Works around an observed issue: #598 https://github.com/NSLS-II/ophyd/issues/598#issuecomment-414311372
If detector IOC has just been started and has not yet taken an image with the HDF5 plugin, then a TimeoutError will occur as the HDF5 plugin “Capture” is set to 1 (Start). In such case, first acquire at least one image with the HDF5 plugin enabled.
-
exception
apstools.devices.
AxisTunerException
[source]¶ Exception during execution of AxisTunerBase subclass
-
apstools.devices.
logger
= <Logger apstools.devices (INFO)>¶ for convenience