API

pcdsdevices.analog_signals

pcdsdevices.analog_signals.Acromag(*args, ...)

Class for Acromag analog input/ouput signals.

pcdsdevices.analog_signals.FDQ(*args, **kwargs)

A collection of PVs to inteface python with a Keyence FDQ Flow Meter.

pcdsdevices.analog_signals.Mesh(prefix, ...)

Class for Mesh HV Supply that is connected to Acromag inputs and outputs.

pcdsdevices.analog_signals.acromag_ch_factory_func(...)

This is a factory function for creating an Acromag output or input signal.

pcdsdevices.areadetector.cam

pcdsdevices.areadetector.cam.FeeOpalCam([...])

Opal camera used in the FEE for the PIMs.

pcdsdevices.areadetector.detectors

pcdsdevices.areadetector.detectors.Basler([...])

Class for Basler cameras. .. seealso::.

pcdsdevices.areadetector.detectors.BaslerBase([...])

Base class with Basler specific PVs.

pcdsdevices.areadetector.detectors.LasBasler([...])

Class for the Basler cameras used in the laser control system.

pcdsdevices.areadetector.detectors.LasBaslerFF([...])

Class for the far-field Basler cameras used in the laser control system.

pcdsdevices.areadetector.detectors.LasBaslerNF([...])

Class for the near-field Basler cameras used in the laser control system.

pcdsdevices.areadetector.detectors.PCDSAreaDetector([...])

Standard area detector including all (*) standard PCDS plugins.

pcdsdevices.areadetector.detectors.PCDSAreaDetectorBase([...])

Standard area detector with no plugins.

pcdsdevices.areadetector.detectors.PCDSAreaDetectorEmbedded([...])

Minimal area detector including only the most-used PCDS plugins.

pcdsdevices.areadetector.detectors.PCDSAreaDetectorTyphos([...])

A 'bare' PCDS areadetector class specifically for Typhos screens.

pcdsdevices.areadetector.detectors.PCDSAreaDetectorTyphosBeamStats([...])

Adds in some PVs related to beam statistics, as well as a cross hair.

pcdsdevices.areadetector.detectors.PCDSAreaDetectorTyphosTrigger([...])

Expanded typhos-optimized areadetector class for cameras with triggers.

pcdsdevices.areadetector.detectors.PCDSHDF5BlueskyTriggerable(...)

Saves an HDF5 file in a bluesky plan.

pcdsdevices.areadetector.plugins

pcdsdevices.areadetector.plugins.ColorConvPlugin(...)

pcdsdevices.areadetector.plugins.FilePlugin(...)

pcdsdevices.areadetector.plugins.HDF5FileStore(...)

HDF5 Plugin to use for interactive/in-scan saving at LCLS.

pcdsdevices.areadetector.plugins.HDF5Plugin(...)

pcdsdevices.areadetector.plugins.ImagePlugin(...)

pcdsdevices.areadetector.plugins.JPEGPlugin(...)

pcdsdevices.areadetector.plugins.MagickPlugin(...)

pcdsdevices.areadetector.plugins.NetCDFPlugin(...)

pcdsdevices.areadetector.plugins.NexusPlugin(...)

pcdsdevices.areadetector.plugins.Overlay([...])

pcdsdevices.areadetector.plugins.OverlayPlugin(...)

pcdsdevices.areadetector.plugins.PluginBase(...)

Overridden PluginBase to make it work when the root device is not a CamBase class.

pcdsdevices.areadetector.plugins.ProcessPlugin(...)

pcdsdevices.areadetector.plugins.ROIPlugin(...)

pcdsdevices.areadetector.plugins.StatsPlugin(...)

pcdsdevices.areadetector.plugins.TIFFPlugin(...)

pcdsdevices.areadetector.plugins.TransformPlugin(...)

pcdsdevices.atm

pcdsdevices.atm.ATMTarget(prefix, *, name, ...)

Controls the ATM (ArrivalTimeMonitor)'s states.

pcdsdevices.atm.ArrivalTimeMonitor(*args, ...)

Determines the arrival time of the x-ray relative to the optical laser.

pcdsdevices.atm.MFXATM(*args, **kwargs)

An ATM in MFX that has no cooling.

pcdsdevices.atm.TM1K4(*args, **kwargs)

An ATM in TMO that has two extra target states.

pcdsdevices.atm.TM1K4Target(prefix, *, name, ...)

Controls TM1K4's states, and ATM in TMO.

pcdsdevices.atm.TM2K2(*args, **kwargs)

An ATM in RIX that has one extra target state.

pcdsdevices.atm.TM2K2Target(prefix, *, name, ...)

Controls TM2K2's states, an ATM in RIX.

pcdsdevices.atm.TM2K4(*args, **kwargs)

An ATM in TMO that has one fewer target state.

pcdsdevices.atm.TM2K4Target(prefix, *, name, ...)

Controls TM2K4's states, an ATM in TMO.

pcdsdevices.attenuator

pcdsdevices.attenuator.AT1K2(*args[, limits])

AT1K2 solid attenuator variant from the LCLS-II L2SI project.

pcdsdevices.attenuator.AT1K4(*args[, limits])

AT1K4 solid attenuator variant from the LCLS-II L2SI project.

pcdsdevices.attenuator.AT2K2(*args[, limits])

AT2K2 solid attenuator variant from the LCLS-II L2SI project.

pcdsdevices.attenuator.AT2L0(*args[, ...])

AT2L0 solid attenuator variant from the LCLS-II XTES project.

pcdsdevices.attenuator.AttBase(prefix, *, ...)

Base class for pre-L2SI beam power attenuators.

pcdsdevices.attenuator.AttBaseWith3rdHarmonic(...)

Base class for attenuators with 3rd harmonic frequency.

pcdsdevices.attenuator.AttBaseWith3rdHarmonicLP(...)

Base class for Lightpath-compatible attenuators with 3rd harmonic frequency.

pcdsdevices.attenuator.Attenuator(prefix, ...)

A series of filters that attenuates the beam.

pcdsdevices.attenuator.AttenuatorCalculatorBase(...)

Base class for new-style caproto IOC attenuator calculator devices.

pcdsdevices.attenuator.AttenuatorCalculatorFilter(...)

pcdsdevices.attenuator.AttenuatorCalculatorSXR_Blade(...)

A single blade, holding up to 8 filters.

pcdsdevices.attenuator.AttenuatorCalculatorSXR_FourBlade(...)

4 blade x 8 filter solid attenuator variant from the L2SI project.

pcdsdevices.attenuator.AttenuatorCalculatorSXR_TwoBlade(...)

2 blade x 8 filter solid attenuator variant from the L2SI project.

pcdsdevices.attenuator.AttenuatorCalculator_AT2L0(...)

Solid attenuator variant from the LCLS-II XTES project.

pcdsdevices.attenuator.AttenuatorSXR_Ladder(*args)

Ladder-style solid attenuator variant from the LCLS-II L2SI project.

pcdsdevices.attenuator.AttenuatorSXR_LadderTwoBladeLBD(*args)

Ladder-style solid attenuator variant from the LCLS-II L2SI project.

pcdsdevices.attenuator.FEESolidAttenuatorBlade(...)

Represents one basic solid attenuator blade.

pcdsdevices.attenuator.FEESolidAttenuatorStates(...)

The states class for a standard in/out attenuator blade.

pcdsdevices.attenuator.FeeAtt([prefix, name])

Old attenuator IOC in the FEE.

pcdsdevices.attenuator.FeeFilter(prefix, *, ...)

A single attenuation blade, as implemented in the FEE.

pcdsdevices.attenuator.Filter(prefix, *, ...)

A single attenuation blade.

pcdsdevices.attenuator.GasAttenuator(*args, ...)

AT*:GAS, Base class for an LCLS-II XTES gas attenuator.

pcdsdevices.attenuator.GattApertureX(prefix, ...)

AT1K0 is a gas attenuator containing 4 discrete aperture arrays, each with 4 discrete aperture sizes to attenuate the intensity of the beam.

pcdsdevices.attenuator.GattApertureY(prefix, ...)

AT1K0 is a gas attenuator containing 4 discrete aperture arrays, each with 4 discrete aperture sizes to attenuate the intensity of the beam.

pcdsdevices.attenuator.SXRGasAtt(*args, **kwargs)

pcdsdevices.attenuator.SXRLadderAttenuatorBlade(...)

Represents one ladder solid attenuator blade.

pcdsdevices.attenuator.SXRLadderAttenuatorStates(...)

The states class for the SXR Ladder-style attenuators.

pcdsdevices.attenuator.get_blade_enum(value)

pcdsdevices.attenuator.render_ascii_att(...)

Creates the attenuator ascii art.

pcdsdevices.beam_stats

pcdsdevices.beam_stats.BeamEnergyRequest(*args)

Positioner to request beam color changes from ACR in eV.

pcdsdevices.beam_stats.BeamEnergyRequestACRWait(*args)

BeamEnergyRequest variant that does wait on a PV.

pcdsdevices.beam_stats.BeamEnergyRequestNoWait(*args)

BeamEnergyRequest variant that does not wait on a PV.

pcdsdevices.beam_stats.BeamStats([prefix, name])

pcdsdevices.beam_stats.FakeBeamEnergyRequest(*args)

Required setup for fake classes to work properly with __new__ splitting

pcdsdevices.beam_stats.FakeBeamEnergyRequestACRWait(*args)

pcdsdevices.beam_stats.FakeBeamEnergyRequestNoWait(*args)

pcdsdevices.beam_stats.LCLS([prefix, name])

Object to query machine Lcls Linac status.

pcdsdevices.ccm

pcdsdevices.ccm.CCM(*[, prefix])

The full CCM assembly.

pcdsdevices.ccm.CCMAlio(prefix, *, name[, ...])

Controls specifically the Alio motor.

pcdsdevices.ccm.CCMConstantsMixin(prefix, ...)

Mixin class that includes PVs that hold CCM constants.

pcdsdevices.ccm.CCMEnergy(*args, **kwargs)

CCM energy motor.

pcdsdevices.ccm.CCMEnergyWithACRStatus(prefix)

CCM energy motor and ACR beam energy request with status.

pcdsdevices.ccm.CCMEnergyWithVernier(prefix)

CCM energy motor and the vernier.

pcdsdevices.ccm.CCMMotor(prefix, *, name[, ...])

Goofy records used in the CCM.

pcdsdevices.ccm.CCMPico(*args, **kwargs)

The Pico motors used here seem non-standard, as they are missing spg.

pcdsdevices.ccm.CCMX([prefix])

Combined motion of the CCM X motors.

pcdsdevices.ccm.CCMY([prefix])

Combined motion of the CCM Y motors.

pcdsdevices.ccm.alio_to_theta(alio, theta0, ...)

Converts alio position (mm) to theta angle (rad).

pcdsdevices.ccm.energy_to_wavelength(energy)

Converts photon energy (keV) to wavelength (A).

pcdsdevices.ccm.theta_to_alio(theta, theta0, ...)

Converts theta angle (rad) to alio position (mm).

pcdsdevices.ccm.theta_to_wavelength(theta, ...)

Converts theta angle (rad) to wavelength (A).

pcdsdevices.ccm.wavelength_to_energy(wavelength)

Converts wavelength (A) to photon energy (keV).

pcdsdevices.ccm.wavelength_to_theta(...)

Converts wavelength (A) to theta angle (rad).

pcdsdevices.crix_motion

pcdsdevices.crix_motion.QuadraticBeckhoffMotor(...)

Pseudomotor of the form calc = ax^2 + bx + c.

pcdsdevices.crix_motion.QuadraticSimMotor(...)

Simulated version of the QuadraticBeckhoffMotor for offline testing.

pcdsdevices.crix_motion.VLSOptics(*args, ...)

Device that collects the VLS mirror and grating together.

pcdsdevices.crix_motion.VLSOpticsSim(*args, ...)

Simulated version of VLSOptics for offline testing.

pcdsdevices.cvmi_motion

pcdsdevices.cvmi_motion.CVMI(*args, **kwargs)

CVMI Motion Class

pcdsdevices.cvmi_motion.KTOF(*args, **kwargs)

KTOF Motion Class

pcdsdevices.dc_devices

pcdsdevices.dc_devices.ICT(prefix[, name])

Complete ICT device with access to all buses and channels.

pcdsdevices.dc_devices.ICTBus(prefix, bus[, ...])

Class to define a current bus of the ICT.

pcdsdevices.dc_devices.ICTChannel(prefix, ...)

Class to define a particular channel of the ICT.

pcdsdevices.delay_generator

pcdsdevices.delay_generator.DelayGenerator(...)

pcdsdevices.delay_generator.DelayGeneratorBase(...)

Delay generator class.

pcdsdevices.delay_generator.DgChannel(*args, ...)

Delay generator single channel class

pcdsdevices.device

pcdsdevices.device.GroupDevice(*args, **kwargs)

A device that is a group of components that will act independently.

pcdsdevices.device.InterfaceDevice(*args, ...)

A device that can include pre-instantiated objects on init.

pcdsdevices.device.to_interface(device_class)

Convert an arbitrary Device into an InterfaceDevice.

pcdsdevices.digital_signals

pcdsdevices.digital_signals.J120K(*args, ...)

A class representing the J120K 24V dry contact cooling flow switch.

pcdsdevices.digitizers

pcdsdevices.digitizers.Qadc(*args, **kwargs)

Class for older qadc, based on Abaco FMC126.

pcdsdevices.digitizers.Qadc134(*args, **kwargs)

Class for the Abaco FMC134 digitizer card.

pcdsdevices.digitizers.Qadc134Sparsification(...)

Class for Abaco FMC134, which supports sparsification.

pcdsdevices.digitizers.QadcBase(*args, **kwargs)

Base class common to all qadc digitizers.

pcdsdevices.digitizers.Wave8V2(*args, **kwargs)

Complete top-level class for the LCLS-II Wave8.

pcdsdevices.digitizers.Wave8V2ADCDelayLanes(...)

Class for the LCLS-II Wave8 ADC delay lanes.

pcdsdevices.digitizers.Wave8V2ADCRegs(*args, ...)

Class for accessing LCLS-II Wave8 ADC registers.

pcdsdevices.digitizers.Wave8V2ADCSampleReadout(...)

Class for the LCLS-II Wave8 ADC sample readout registers.

pcdsdevices.digitizers.Wave8V2ADCSamples(...)

Class for the LCLS-II Wave8 ADC sample readout registers.

pcdsdevices.digitizers.Wave8V2AxiVersion(...)

Class for LCLS-II Wave8 AxiVersion registers.

pcdsdevices.digitizers.Wave8V2EventBuilder(...)

Class for controlling the LCLS-II Wave8 event builder registers.

pcdsdevices.digitizers.Wave8V2EvrV2(*args, ...)

Class for LCLS-II Wave8 EVR V2 (TPR) registers.

pcdsdevices.digitizers.Wave8V2Integrators(...)

Class for controlling the LCLS-II Wave8 integrators.

pcdsdevices.digitizers.Wave8V2PgpMon(*args, ...)

Class for monitoring the PGP status of the LCLS-II Wave8.

pcdsdevices.digitizers.Wave8V2RawBuffers(...)

Class for LCLS-II Wave8 raw buffer registers.

pcdsdevices.digitizers.Wave8V2Sfp(*args, ...)

Class for LCLS-II Wave8 SFP connection (PGP, EVR).

pcdsdevices.digitizers.Wave8V2Simple(*args, ...)

Simple class for viewing Wave8 waveforms, and stopping/starting acquisition.

pcdsdevices.digitizers.Wave8V2SystemRegs(...)

Class for Wave8 system registers.

pcdsdevices.digitizers.Wave8V2Timing(*args, ...)

Class for controlling the LCLS-II Wave8 timing registers.

pcdsdevices.digitizers.Wave8V2TriggerEventManager(...)

Class for controlling the LCLS-II Wave8 trigger event manager.

pcdsdevices.digitizers.Wave8V2XpmMini(*args, ...)

Class for controlling the LCLS-II Wave8 XPM Mini.

pcdsdevices.digitizers.Wave8V2XpmMsg(*args, ...)

Class for the LCLS-II Wave8 XPM message related PVs.

pcdsdevices.energy_monitor

pcdsdevices.energy_monitor.GEM(*args, **kwargs)

Gas Energy Monitor from the LUSI project.

pcdsdevices.energy_monitor.GMD(*args, **kwargs)

Gas Monitor Detector, installed in the LCLS-II XTES project.

pcdsdevices.energy_monitor.GMDPreAmp(*args, ...)

pcdsdevices.energy_monitor.XGMD(*args, **kwargs)

X Gas Monitor Detector (2nd generation GMD).

pcdsdevices.epics_motor

pcdsdevices.epics_motor.BeckhoffAxis(*args, ...)

Beckhoff Axis motor record as implemented by ESS and extended by us.

pcdsdevices.epics_motor.BeckhoffAxisEPS(...)

A beckhoff axis where the EPS indicators are relevant.

pcdsdevices.epics_motor.BeckhoffAxisEPSCustom(...)

A beckhoff axis where custom EPS Logic has been implemented in a PLC and needs a custom screen to display EPS information

pcdsdevices.epics_motor.BeckhoffAxisNoOffset(...)

A BeckhoffAxis with various fields read-only.

pcdsdevices.epics_motor.BeckhoffAxisPLC([...])

Error handling, debug, and aux functions for the Beckhoff Axis PLC code.

pcdsdevices.epics_motor.BeckhoffAxisPLCEPS([...])

Extended BeckhoffAxisPLC with relevant EPS fields.

pcdsdevices.epics_motor.BeckhoffAxisPLC_Pre140([...])

Disable some newly introduced signals.

pcdsdevices.epics_motor.BeckhoffAxis_Pre140(...)

Beckhoff Axis compatible with PLCs running older software.

pcdsdevices.epics_motor.EpicsMotorInterface(...)

The standard EpicsMotor class, but with our interface attached.

pcdsdevices.epics_motor.IMS(*args, **kwargs)

PCDS implementation of the Motor Record for IMS motors.

pcdsdevices.epics_motor.MMC100(*args, **kwargs)

PCDS implementation of the Motor Record for MMC100 controlled motors.

pcdsdevices.epics_motor.Motor(prefix, **kwargs)

Load a PCDSMotor with the correct class based on prefix.

pcdsdevices.epics_motor.Newport(*args, **kwargs)

PCDS implementation of the Motor Record for Newport motors.

pcdsdevices.epics_motor.OffsetIMSWithPreset(...)

Offset IMS with an additiona Offset _SET PV.

pcdsdevices.epics_motor.OffsetMotor(prefix, ...)

pcdsdevices.epics_motor.PCDSMotorBase(*args, ...)

EpicsMotor for PCDS.

pcdsdevices.epics_motor.PI_M824(prefix, *, name)

class for hexapod PI axis

pcdsdevices.epics_motor.PMC100(*args, **kwargs)

PCDS implementation of the Motor Record PMC100 motors.

pcdsdevices.epics_motor.SmarAct(*args, **kwargs)

Class for encoded SmarAct motors controlled via the MCS2 controller.

pcdsdevices.epics_motor.SmarActEncodedTipTilt([...])

Class for bundling two SmarAct encoded axes arranged in a tip-tilt mirror positioning configuration into a single device.

pcdsdevices.epics_motor.SmarActOpenLoop([...])

Class containing the open loop PVs used to control an un-encoded SmarAct stage.

pcdsdevices.epics_motor.SmarActOpenLoopPositioner(...)

Positioner class for SmarAct open loop stages.

pcdsdevices.epics_motor.SmarActPicoscale(...)

Class for encoded SmarAct motors controller via the MCS2 controller which use the PicoScale sensor heads for encoded positions.

pcdsdevices.epics_motor.SmarActTipTilt([prefix])

Class for bundling two SmarActOpenLoop axes arranged in a tip-tilt mirror positioning configuration into a single device.

pcdsdevices.eps

pcdsdevices.eps.EPS(*args, **kwargs)

Corresponds to DUT_EPS from lcls-twincat-general.

pcdsdevices.evr

pcdsdevices.evr.EvrMotor(prefix, *, name[, ...])

PV Positioner for adjusting an EVR channel.

pcdsdevices.evr.Trigger(*args, **kwargs)

Class for an individual Trigger.

pcdsdevices.example

pcdsdevices.example.Example3D(*args, **kwargs)

Full device for the 3D motion sim

pcdsdevices.example.Example3DStates(prefix, ...)

3D States with PMPS, simluated XYZ with OUT/T1/T2

pcdsdevices.example.ExampleL2L(*args, **kwargs)

Full device for the limit to limit sim

pcdsdevices.example.ExampleL2LStates(prefix, ...)

1D States, no PMPS, limit to limit in/out instead of state position based

pcdsdevices.example.PLCExampleMotion([...])

This matches the IOC for lcls-plc-example-motion

pcdsdevices.example.PLCOnlyXPIM(*args, **kwargs)

The PLC sim code doesn't include an area detector IOC, so remove it here.

pcdsdevices.fms

pcdsdevices.fms.LCP1([prefix, kind, ...])

For LCPs with CMC-III PU, with Door Module off

pcdsdevices.fms.LCP2([prefix, kind, ...])

For LCPs with CMC-III PU, with Door Module working

pcdsdevices.fms.PDU_Humidity2(*args[, ...])

Will be for portable racks or Racks that have a single PDU, with a total of 2 sensors for monitoring

pcdsdevices.fms.PDU_Humidity4(*args[, ...])

For racks with 2 PDUs, with total of 4 sensors for monitoring purposes

pcdsdevices.fms.PDU_Humidity6(*args[, ...])

Will be for PDUs that are linked, 1=Master, 2=Child (4 sensors) plus a single PDU (2 sensors), 6 total sensors

pcdsdevices.fms.PDU_Humidity8(*args[, ...])

Will be for PDUs that are linked, 1=Master, 2=Child (4 Sensors) plus 2 single PDUs (4 Sensors), 8 sensors total

pcdsdevices.fms.PDU_Load1(*args[, elevations])

For racks with 1 PDU

pcdsdevices.fms.PDU_Load2(*args[, elevations])

For racks with 2 PDUs

pcdsdevices.fms.PDU_Load3(*args[, elevations])

For racks with 3 PDUs

pcdsdevices.fms.PDU_Load4(*args[, elevations])

For racks with 4 PDUs

pcdsdevices.fms.PDU_Temp2(*args[, elevations])

Will be for portable racks or Racks that have a single PDU, with a total of 2 sensors for monitoring

pcdsdevices.fms.PDU_Temp4(*args[, elevations])

For racks with 2 PDUs, with total of 4 sensors for monitoring purposes

pcdsdevices.fms.PDU_Temp6(*args[, elevations])

Will be for PDUs that are linked, 1=Master, 2=Child (4 sensors) plus a single PDU (2 sensors), 6 total sensors

pcdsdevices.fms.PDU_Temp8(*args[, elevations])

Will be for PDUs that are linked, 1=Master, 2=Child (4 Sensors) plus 2 single PDUs (4 Sensors), 8 sensors total

pcdsdevices.fms.Setra5000([prefix, kind, ...])

pcdsdevices.gauge

pcdsdevices.gauge.BaseGauge(*args, **kwargs)

Base class for vacuum gauges.

pcdsdevices.gauge.GCC500PLC([prefix, kind, ...])

Class for a GCC500 controlled by PLC.

pcdsdevices.gauge.GCCPLC([prefix, kind, ...])

Class for a Cold Cathode Gauge controlled by PLC.

pcdsdevices.gauge.GCT([prefix, kind, ...])

Base class for Gauge Controllers accessed via serial.

pcdsdevices.gauge.GFSPLC([prefix, kind, ...])

Class for a fast shutter sensor gauge controlled by PLC.

pcdsdevices.gauge.GHCPLC([prefix, kind, ...])

Class for a Hot Cathode Gauge controlled by PLC.

pcdsdevices.gauge.GaugeColdCathode(*args, ...)

Class for Cold Cathode Gauges.

pcdsdevices.gauge.GaugePLC([prefix, kind, ...])

Base class for gauges controlled by PLC.

pcdsdevices.gauge.GaugePirani(*args, **kwargs)

Class for Pirani gauges.

pcdsdevices.gauge.GaugeSerial([prefix, ...])

Base class for Vacuum Gauges controlled via serial.

pcdsdevices.gauge.GaugeSerialGCC([prefix, ...])

Class for Cold Cathode Gauges controlled via serial.

pcdsdevices.gauge.GaugeSerialGPI([prefix, ...])

Class for Pirani Vacuum Gauges controlled via serial.

pcdsdevices.gauge.GaugeSet(prefix, *, name, ...)

Factory function for Gauge Set.

pcdsdevices.gauge.GaugeSetBase(prefix, *, ...)

Class for a Gauge Set.

pcdsdevices.gauge.GaugeSetMks(prefix, *, ...)

Class for a Gauge Set w/o Pirani, but with controller.

pcdsdevices.gauge.GaugeSetPirani(prefix, *, ...)

Class for a Gauge Set.

pcdsdevices.gauge.GaugeSetPiraniMks(prefix, ...)

Class for a Gauge Set including the controller.

pcdsdevices.gauge.MKS937AController([...])

Class for MKS937A gauge controllers accessed via serial.

pcdsdevices.gauge.MKS937BController([...])

Class for MKS937B gauge controllers accessed via serial.

pcdsdevices.gauge.MKS937a(*args, **kwargs)

A base class for an MKS637a vacuum gauge controller.

pcdsdevices.gon

pcdsdevices.gon.BaseGon(*, name, prefix_hor, ...)

Basic goniometer, as present in XPP.

pcdsdevices.gon.GonWithDetArm(*, name, ...)

Goniometer with a detector arm, as present in XCS.

pcdsdevices.gon.Goniometer(**kwargs)

Factory function for Goniometers.

pcdsdevices.gon.Kappa(*, name, prefix_x, ...)

Kappa stage, control the Kappa diffractometer in spherical coordinates.

pcdsdevices.gon.KappaXYZStage(*args, parent, ...)

Helper initializing function for XYZStage object.

pcdsdevices.gon.SamPhi(*, name, prefix_samz, ...)

Sample Phi stage.

pcdsdevices.gon.SimKappa()

Test version of the Kappa object.

pcdsdevices.gon.SimSampleStage(*args, ...)

pcdsdevices.gon.XYZStage(*, name, prefix_x, ...)

Sample XYZ stage.

pcdsdevices.inout

pcdsdevices.inout.CombinedInOutRecordPositioner(...)

InOutPositioner for a standard combined states record.

pcdsdevices.inout.InOutPVStatePositioner(...)

InOutPositioner on top of a PVStatePositioner.

pcdsdevices.inout.InOutPositioner(prefix, *, ...)

Base class for a device that can be inserted and removed from the beam.

pcdsdevices.inout.InOutRecordPositioner(...)

InOutPositioner for a standard states record.

pcdsdevices.inout.LightpathInOutRecordPositioner(...)

Lightpath-compatible InOutRecordPositioner

pcdsdevices.inout.Reflaser(prefix, *, name, ...)

Simple ReferenceLaser with In/Out States.

pcdsdevices.inout.TTReflaser(prefix, *, ...)

Motor stack that includes both a timetool and a reflaser.

pcdsdevices.inout.TwinCATInOutPositioner(...)

InOutPositioner on top of a TwinCATStatePositioner.

pcdsdevices.interface

pcdsdevices.interface.BaseInterface(*args, ...)

Interface layer to attach to any Device for SLAC features.

pcdsdevices.interface.FltMvInterface(*args, ...)

Extension of MvInterface for when the position is a float.

pcdsdevices.interface.LegacyLightpathMixin(...)

Mix-in class that makes it easier to establish a lightpath interface.

pcdsdevices.interface.LightpathInOutCptMixin(*args)

LightpathMixin for parent device with InOut components.

pcdsdevices.interface.LightpathInOutMixin(*args)

LightpathMixin for devices that themselves implement InOut interface

pcdsdevices.interface.LightpathMixin(*args)

Mix-in class that makes it easier to establish a lightpath interface.

pcdsdevices.interface.MvInterface(*args, ...)

Interface layer to attach to a positioner for motion shortcuts.

pcdsdevices.interface.TabCompletionHelperClass(cls)

Tab completion helper for the class itself.

pcdsdevices.interface.TabCompletionHelperInstance(...)

Tab completion helper for one instance of a class.

pcdsdevices.interface._TabCompletionHelper()

Base class for TabCompletionHelperClass, TabCompletionHelperInstance.

pcdsdevices.interface.device_info(device[, ...])

pcdsdevices.interface.get_engineering_mode()

Get the last value set by set_engineering_mode().

pcdsdevices.interface.get_kind(obj)

pcdsdevices.interface.get_name(obj, default)

pcdsdevices.interface.get_units(signal)

pcdsdevices.interface.get_value(signal)

pcdsdevices.interface.ophydobj_info(obj[, ...])

pcdsdevices.interface.positionerbase_info(...)

pcdsdevices.interface.set_engineering_mode(expert)

Switches between expert and user modes for BaseInterface features.

pcdsdevices.interface.setup_preset_paths(**paths)

Prepare the Presets class.

pcdsdevices.interface.signal_info(signal)

pcdsdevices.interface.tweak_base(*args[, scale])

Base function to control motors with the arrow keys.

pcdsdevices.ipm

pcdsdevices.ipm.IPIMB(prefix, *, name[, ...])

Class for an IPIMB box.

pcdsdevices.ipm.IPIMBChannel(prefix, *, ...)

Class for a single channel read out by an IPIMB box.

pcdsdevices.ipm.IPM(prefix, *, name, **kwargs)

Factory function for an IPM.

pcdsdevices.ipm.IPMDiode(prefix, *, name, ...)

Diode of a standard intensity position monitor.

pcdsdevices.ipm.IPMMotion(*args, **kwargs)

Standard intensity position monitor.

pcdsdevices.ipm.IPMTarget(prefix, *, name, ...)

Target of a standard intensity position monitor.

pcdsdevices.ipm.IPM_Det(prefix, *, name, ...)

Base class for IPM_IPIMB and IPM_Wave8.

pcdsdevices.ipm.IPM_IPIMB(prefix, *, name, ...)

Standard intensity position monitor.

pcdsdevices.ipm.IPM_Wave8(prefix, *, name, ...)

Standard intensity position monitor.

pcdsdevices.ipm.Wave8(prefix, *, name[, ...])

Class for a wave8.

pcdsdevices.ipm.Wave8Channel(prefix, *, ...)

Class for a single channel read out by a wave8.

pcdsdevices.jet

pcdsdevices.jet.BeckhoffJet(*args, **kwargs)

Full liquid jet setup controlled by a Beckhoff PLC.

pcdsdevices.jet.BeckhoffJetManipulator(...)

Jet Manipulator controlled by Beckhoff PLC.

pcdsdevices.jet.BeckhoffJetSlits(*args, **kwargs)

Pair of Beckhoff-controlled slits where each blade has X & Y motors.

pcdsdevices.jet.Injector(*, name, **kwargs)

Positioner for liquid jet Injector.

pcdsdevices.jet.InjectorWithFine(*, name, ...)

Positioner for liquid jet Injector, with fine control.

pcdsdevices.keithley

pcdsdevices.keithley.IM3L0_K2700(*args, **kwargs)

One-off subclass of K2700 to use a pydm screen specific to this device.

pcdsdevices.keithley.K2700(*args, **kwargs)

Keithley 2700 digital multimeter.

pcdsdevices.keithley.K6514(*args, **kwargs)

Keithley 6514 electrometer.

pcdsdevices.lamp_motion

pcdsdevices.lamp_motion.LAMP(*args, **kwargs)

LAMP Motion Class

pcdsdevices.lamp_motion.LAMPFlowCell(*args, ...)

LAMP Motion Class

pcdsdevices.lamp_motion.LAMPMagneticBottle(...)

LAMPMagneticBottle Motion Class

pcdsdevices.lamp_motion.LAMP_LV_17(*args, ...)

LAMP Motion Class

pcdsdevices.lasers.btps

pcdsdevices.lasers.btps.BtpsSourceStatus(...)

BTPS per-source shutter safety status.

pcdsdevices.lasers.btps.BtpsState(*args, ...)

Beam Transport Protection System (BTPS) State.

pcdsdevices.lasers.btps.BtpsVGC(*args[, ...])

VGC subclass with 'valve_position' component added.

pcdsdevices.lasers.btps.CentroidConfig(...)

BTPS camera centroid range comparison.

pcdsdevices.lasers.btps.DestinationConfig(...)

BTPS per-destination configuration settings and state.

pcdsdevices.lasers.btps.GlobalConfig(*args, ...)

BTPS global configuration settings.

pcdsdevices.lasers.btps.LssShutterStatus(...)

BTPS per-source shutter status per the laser safety system.

pcdsdevices.lasers.btps.RangeComparison(...)

BTPS single value range comparison check.

pcdsdevices.lasers.btps.SourceToDestinationConfig(...)

BTPS per-(source, destination) configuration settings and state.

pcdsdevices.lasers.counters

pcdsdevices.lasers.counters.Agilent53210A(...)

Agililent 53210A frequency counter class.

pcdsdevices.lasers.dicon

pcdsdevices.lasers.dicon.DiconSwitch(*args, ...)

Class for controlling the DiCon fiber matrix switch.

pcdsdevices.lasers.ek9000

pcdsdevices.lasers.ek9000.El3174AiCh([...])

EL3174 analog input card channel.

pcdsdevices.lasers.ek9000.EnvironmentalMonitor([...])

Class for the MODS environmental monitoring system, which typically consists of three measurements: P, T, and %RH.

pcdsdevices.lasers.elliptec

pcdsdevices.lasers.elliptec.Ell6(prefix[, ...])

Class for Thorlabs ELL6 2 position filter slider.

pcdsdevices.lasers.elliptec.Ell9(prefix[, ...])

Class for Thorlabs ELL9 4 position filter slider.

pcdsdevices.lasers.elliptec.EllBase(prefix)

Base class for Elliptec stages.

pcdsdevices.lasers.elliptec.EllLinear(prefix)

Class for Thorlabs ELL17/20 (28/60mm) linear stage.

pcdsdevices.lasers.elliptec.EllRotation(prefix)

Class for Thorlabs ELL14/18 (rotation) stages.

pcdsdevices.lasers.qmini

pcdsdevices.lasers.qmini.QminiSpectrometer([...])

Qmini Spectrometer

pcdsdevices.lasers.qmini.QminiWithEvr(...[, ...])

A class for Qmini spectrometers that use an EVR for hardware triggering.

pcdsdevices.lasers.rfof

pcdsdevices.lasers.rfof.CycleRfofRx(*args, ...)

Class for reading back the Cycle RFoF receiver PVs.

pcdsdevices.lasers.rfof.CycleRfofTx(*args, ...)

Class for reading back the Cycle RFoF transmitter PVs.

pcdsdevices.lasers.rfof.ItechRfofAll(*args, ...)

Class for including all subclasses For example, for receiver PVs, use object would use object.receiver.<pv>

pcdsdevices.lasers.rfof.ItechRfofErrors(...)

Itech RFOF Error PVs

pcdsdevices.lasers.rfof.ItechRfofRx(*args, ...)

Itech RFoF receiver PVs.

pcdsdevices.lasers.rfof.ItechRfofStatus(...)

Itech RFOF Status PVs

pcdsdevices.lasers.rfof.ItechRfofTx(*args, ...)

Itech RFoF transmitter PVs.

pcdsdevices.lasers.thorlabsWFS

pcdsdevices.lasers.thorlabsWFS.ThorlabsWfs40([...])

Class to implement a Thorlabs WFS40 Wavefront sensor.

pcdsdevices.lasers.tuttifrutti

pcdsdevices.lasers.tuttifrutti.TuttiFrutti(...)

Factory function for Tuttifrutti diagnostic stack device.

pcdsdevices.lasers.tuttifrutti.TuttiFruttiCls(...)

Generate a TuttiFrutti class.

pcdsdevices.lasers.zoomtelescope

pcdsdevices.lasers.zoomtelescope.ZoomTelescope([...])

Zoom telescope

pcdsdevices.lens

pcdsdevices.lens.LensStack(x_prefix, ...[, ...])

Class for Be lens.

pcdsdevices.lens.LensStackBase(x_prefix, ...)

Class for Be lens macros and safe operations.

pcdsdevices.lens.Prefocus(prefix, *, name, ...)

PreFocussing Lens Stack (PFLS).

pcdsdevices.lens.SimLensStack(x_prefix, ...)

pcdsdevices.lens.SimLensStackBase(x_prefix, ...)

Test version of the lens stack for testing the Be lens class.

pcdsdevices.lens.XFLS(prefix, *, name, **kwargs)

X-ray Focusing (Be) Lens Stack.

pcdsdevices.lic

pcdsdevices.lic.LICMirror(prefix, *, name, ...)

Standard TwinCATStatePMPS motion.

pcdsdevices.lic.LaserInCoupling(*args, **kwargs)

Device to bring the optical laser to the sample via mirrors.

pcdsdevices.lic_2d_tmo

pcdsdevices.lic_2d_tmo.LaserCouplingStates(...)

Laser InCoupling 2D States Setup

pcdsdevices.lic_2d_tmo.TMOLaserInCouplingTwoDimension(...)

TMO two dimension laser coupling LI2K4 class.

pcdsdevices.light_control

pcdsdevices.light_control.LightControl([...])

Basic control and readback PVs for LEDs/Fiber-Lites.

pcdsdevices.lodcm

pcdsdevices.lodcm.CHI1(prefix, *, name, **kwargs)

Rotation axis, it does not have an OUT state.

pcdsdevices.lodcm.CHI2(prefix, *, name, **kwargs)

Rotation axis, it does not have an OUT state.

pcdsdevices.lodcm.CrystalTower1(prefix, ...)

LODCM Crystal Tower 1.

pcdsdevices.lodcm.CrystalTower2(prefix, ...)

LODCM Crystal Tower 2.

pcdsdevices.lodcm.Dectris(prefix, *, name, ...)

pcdsdevices.lodcm.DiagnosticsTower(prefix, ...)

LODCM Diagnostic Tower.

pcdsdevices.lodcm.Diode(prefix, *, name, ...)

pcdsdevices.lodcm.Foil(prefix, *args, **kwargs)

pcdsdevices.lodcm.H1N(prefix, *, name, **kwargs)

pcdsdevices.lodcm.H2N(prefix, *, name, **kwargs)

pcdsdevices.lodcm.LODCM(prefix, *, name[, ...])

Large Offset Dual Crystal Monochromator.

pcdsdevices.lodcm.LODCMEnergyC(prefix, ...)

Energy calculations for the C material.

pcdsdevices.lodcm.LODCMEnergyC1(prefix, ...)

Energy calculations for the C material.

pcdsdevices.lodcm.LODCMEnergySi(prefix, ...)

Energy calculations for the Si material.

pcdsdevices.lodcm.SimDiagnosticsTower(...)

Diagnostics Tower Simulator for Testing.

pcdsdevices.lodcm.SimEnergyC(prefix, *args, ...)

Energy C Simulator for Testing

pcdsdevices.lodcm.SimEnergySi(prefix, *args, ...)

Energy Si Simulator for Testing

pcdsdevices.lodcm.SimFirstTower(prefix, ...)

Crystal Tower 1 Simulator for Testing.

pcdsdevices.lodcm.SimLODCM(prefix, *args, ...)

LODCM Simulator for Testing

pcdsdevices.lodcm.SimSecondTower(prefix, ...)

Crystal Tower 2 Simulator for Testing.

pcdsdevices.lodcm.XCSLODCM(prefix, *, name)

The XCS implementation of a LODCM.

pcdsdevices.lodcm.XPPLODCM(prefix, *, name)

The XPP implementation of a LODCM.

pcdsdevices.lodcm.Y1(prefix, *, name, **kwargs)

Vertical y motion.

pcdsdevices.lodcm.Y2(prefix, *, name, **kwargs)

pcdsdevices.lodcm.YagLom(prefix, *, name, ...)

pcdsdevices.lxe

pcdsdevices.lxe.FakeLxtTtc()

pcdsdevices.lxe.LaserEnergyPositioner(*args, ...)

Uses the lookup-table positioner to convert energy <-> motor positions.

pcdsdevices.lxe.LaserTiming([prefix, egu])

"lxt" motor, which may also have been referred to as Vitara.

pcdsdevices.lxe.LaserTimingCompensation(...)

LaserTimingCompensation (lxt_ttc) synchronously moves LaserTiming (lxt) with TimeToolDelay (txt) to compensate so that the true laser x-ray delay by using the lxt-value and the result of time tool data analysis, avoiding double-counting.

pcdsdevices.lxe.Lcls2LaserTiming([prefix, egu])

A "lxt" motor for the LCLS-II laser locker, AKA the OPCPA laser locker.

pcdsdevices.lxe.LxtTtcExample(*args, **kwargs)

Example of one way to set up the lxt_ttc construct using SyncAxis

pcdsdevices.lxe.TimeToolDelay(*args[, egu, ...])

Laser delay stage to rescale the physical time tool delay stage to units of time.

pcdsdevices.lxe._ReversedTimeToolDelay(*args)

An inverted version of TimeToolDelay.

pcdsdevices.lxe._ScaledUnitConversionDerivedSignal(...)

pcdsdevices.lxe.load_calibration_file(filename)

Load a calibration file.

pcdsdevices.make_ophyd_device

pcdsdevices.make_ophyd_device.flatten_list(lofl)

Flatten a list of lists.

pcdsdevices.make_ophyd_device.get_components(pv_list)

Separate PVs in a given list of PVs based on whether a corresponding '_RBV' PV exists for the PV in the list.

pcdsdevices.make_ophyd_device.make_class(name, d)

Generate the requisite code for a simple python class for interacting with a device.

pcdsdevices.make_ophyd_device.make_class_line(...)

Make the first line of a class definition, based on a given PV or name.

pcdsdevices.make_ophyd_device.make_class_name(pv)

Make a class name based on a given PV.

pcdsdevices.make_ophyd_device.make_cpt(name, ...)

Make a component line for a sub-class, based on the supplied name.

pcdsdevices.make_ophyd_device.make_signal(...)

Create a Cpt line with specified suffix.

pcdsdevices.make_ophyd_device.make_signal_wrbv(...)

Create a Cpt line with RBV pv and separate write_PV.

pcdsdevices.make_ophyd_device.print_class(...)

pcdsdevices.make_ophyd_device.recurse_record(d, ...)

Recurse through a given record, supplied as a list of strings, and create nested dictionaries.

pcdsdevices.make_ophyd_device.write_file(...)

pcdsdevices.mirror

pcdsdevices.mirror.FFMirror(*args, **kwargs)

Fixed Focus Kirkpatrick-Baez Mirror.

pcdsdevices.mirror.FFMirrorZ(*args, **kwargs)

Fixed Focus Kirkpatrick-Baez Mirror with Z axis.

pcdsdevices.mirror.Gantry(prefix, *[, ...])

Gantry Axis.

pcdsdevices.mirror.KBOMirror(*args, **kwargs)

Kirkpatrick-Baez Mirror with Bender Axes.

pcdsdevices.mirror.KBOMirrorChin(*args, **kwargs)

Kirkpatrick-Baez Mirror with Bender Axes.

pcdsdevices.mirror.KBOMirrorHE(*args, **kwargs)

Kirkpatrick-Baez Mirror with Bender Axes and Cooling.

pcdsdevices.mirror.KBOMirrorHEStates(*args, ...)

Kirkpatrick-Baez Mirror with Bender Axes and Cooling and Coating States.

pcdsdevices.mirror.KBOMirrorStates(*args, ...)

Kirkpatrick-Baez Mirror with Bender Axes and Coating States.

pcdsdevices.mirror.MirrorInsertState(prefix, ...)

A state positioner with two states (3 including Unknown) representing insertion state of mirror

pcdsdevices.mirror.MirrorStripe2D4P(prefix, ...)

2D Coating states with 4 positons and PMPS.

pcdsdevices.mirror.OMMotor(*args, **kwargs)

Base class for each motor in the LCLS offset mirror system.

pcdsdevices.mirror.OffsetMirror(prefix, *[, ...])

X-ray Offset Mirror class.

pcdsdevices.mirror.OpticsPitchNotepad(*args, ...)

class for storing pitch positions based on state

pcdsdevices.mirror.Pitch(prefix, **kwargs)

HOMS Pitch Mechanism.

pcdsdevices.mirror.PointingMirror(prefix, *)

Retractable OffsetMirror.

pcdsdevices.mirror.TwinCATMirrorStripe(...)

Subclass of TwinCATStatePMPS for the mirror coatings.

pcdsdevices.mirror.XOffsetMirror(*args[, ...])

X-ray Offset Mirror.

pcdsdevices.mirror.XOffsetMirror2D4PState(*args)

X-ray Offset Mirror with coating states that have 4 positions.

pcdsdevices.mirror.XOffsetMirrorBend(*args)

X-ray Offset Mirror with 2 bender acutators.

pcdsdevices.mirror.XOffsetMirrorNoBend(*args)

X-ray Offset Mirror with no bender.

pcdsdevices.mirror.XOffsetMirrorRTDs(*args)

X-ray Offset Mirror.

pcdsdevices.mirror.XOffsetMirrorState(*args)

X-ray Offset Mirror with Yleft/Yright

pcdsdevices.mirror.XOffsetMirrorStateCool(*args)

X-ray Offset Mirror with Yleft/Yright

pcdsdevices.mirror.XOffsetMirrorStateCoolNoBend(*args)

X-ray offset Mirror with all the features of

pcdsdevices.mirror.XOffsetMirrorSwitch(*args)

X-ray Offset Mirror with Yleft/Yright

pcdsdevices.mirror.XOffsetMirrorXYState(...)

X-ray Offset Mirror with state positioners for both coating (y) and insertion (x).

pcdsdevices.movablestand

pcdsdevices.movablestand.MovableStand(...)

Stand that can be moved.

pcdsdevices.mpod

pcdsdevices.mpod.MPOD(channel_prefix[, ...])

Determine the appropriate MPOD Channel class based on the max voltage.

pcdsdevices.mpod.MPODChannel(channel_prefix)

MPOD Channel Object.

pcdsdevices.mpod.MPODChannelHV(...[, name])

MPOD High Voltage Channel Object.

pcdsdevices.mpod.MPODChannelLV(channel_prefix)

MPOD Low Voltage Channel Object.

pcdsdevices.mpod.get_card_number(channel)

Helper function for creating the card prefix for HV channels.

pcdsdevices.mpod_apalis

pcdsdevices.mpod_apalis.MPODApalisChannel(...)

MPODApalis Channel Object.

pcdsdevices.mpod_apalis.MPODApalisCrate(...)

MPODApalis Crate Object.

pcdsdevices.mpod_apalis.MPODApalisModule(...)

MPODApalis Module Object.

pcdsdevices.mpod_apalis.MPODApalisModule16Channel(...)

MPODApalis 16 channel Module Object.

pcdsdevices.mpod_apalis.MPODApalisModule24Channel(...)

MPODApalis 24 channel Module Object.

pcdsdevices.mpod_apalis.MPODApalisModule4Channel(...)

MPODApalis 4 channel Module Object.

pcdsdevices.mpod_apalis.MPODApalisModule8Channel(...)

MPODApalis 8 channel Module Object.

pcdsdevices.mps

pcdsdevices.mps.MPS(*args[, veto])

Class to interpret a single bit of MPS information.

pcdsdevices.mps.MPSBase(*args[, veto])

Base MPS class.

pcdsdevices.mps.MPSLimits(prefix, logic, ...)

Logical combination of two MPS bits.

pcdsdevices.mps.mps_factory(clsname, cls, ...)

Create a new object of arbitrary class capable of storing MPS information.

pcdsdevices.mps.must_be_known(in_limit, ...)

Logical combination of limits enforcing a known state.

pcdsdevices.mps.must_be_out(in_limit, out_limit)

Logical combination of limits enforcing an out state.

pcdsdevices.mrco_motion

pcdsdevices.mrco_motion.MRCO(*args, **kwargs)

MRCO Motion Class

pcdsdevices.pc

pcdsdevices.pc.PhotonCollimator([prefix, ...])

Photon Collimator Stub for Cooling Readback

pcdsdevices.piezo

pcdsdevices.piezo.SliceDhv(*args, **kwargs)

Class for a complete two channel Vescent Photonics Slice-DHV piezo driver.

pcdsdevices.piezo.SliceDhvChannel(*args, ...)

Class for controlling a single channel from a Vescent Photonics Slice-DHV piezo driver channel PVs.

pcdsdevices.piezo.SliceDhvController(*args, ...)

Class for the Vescent Photonics Slice-DHV piezo driver controller PVs.

pcdsdevices.pim

pcdsdevices.pim.IM2K0(*args, **kwargs)

One-off combination of an XPIM and a PPM for scientific merit.

pcdsdevices.pim.IM3L0(*args, **kwargs)

One-off subclass of PPM to include this device's Keithley 2700

pcdsdevices.pim.LCLS2ImagerBase(*args, **kwargs)

Shared PVs and components from the LCLS2 imagers.

pcdsdevices.pim.LCLS2Target(prefix, *, name, ...)

Controls the PPM and XTES Imager states.

pcdsdevices.pim.PIM(prefix, *, name[, ...])

Profile Intensity Monitor.

pcdsdevices.pim.PIMWithBoth(prefix, *, name)

Profile Intensity Monitor with LED and Focus control.

pcdsdevices.pim.PIMWithFocus(prefix, *, name)

Profile Intensity Monitor with Focus control.

pcdsdevices.pim.PIMWithLED(prefix, *, name)

Profile Intensity Monitor with LED.

pcdsdevices.pim.PIMY(prefix, *, name, **kwargs)

Standard Y-motor for a Profile Intensity Monitor.

pcdsdevices.pim.PPM(*args, **kwargs)

L2SI's Power and Profile Monitor design.

pcdsdevices.pim.PPMCOOL(*args, **kwargs)

L2SI's Power and Profile Monitor design with cooling.

pcdsdevices.pim.PPMCoolSwitch(*args, **kwargs)

L2SI's Power and Profile Monitor design with cooling switch.

pcdsdevices.pim.PPMPowerMeter(*args, **kwargs)

Analog measurement tool for beam energy as part of the PPM assembly.

pcdsdevices.pim.XPIM(*args, **kwargs)

XTES's Imager design.

pcdsdevices.pim.XPIMFilterWheel(prefix, *, ...)

Controllable optical filters to prevent camera saturation.

pcdsdevices.pim.XPIMLED(*args, **kwargs)

Controllable illumination with auto-on, auto-off, and shutdown timer.

pcdsdevices.pmps

pcdsdevices.pmps.TwinCATStatePMPS(prefix, *, ...)

TwinCAT In/Out State Positioner with PMPS Protections

pcdsdevices.pneumatic

pcdsdevices.pneumatic.BeckhoffPneumatic(...)

Class containing basic Beckhoff Pneumatic support

pcdsdevices.positioner

pcdsdevices.positioner.FuncPositioner(*, ...)

Class for hacking together a positioner-like object.

pcdsdevices.pseudopos

pcdsdevices.pseudopos.DelayBase(*args[, ...])

Laser delay stage to rescale a physical axis to a time axis.

pcdsdevices.pseudopos.DelayMotor(motor[, ...])

Generic time delay-stage with variable units and number of bounces.

pcdsdevices.pseudopos.LookupTablePositioner(...)

A pseudo positioner which uses a look-up table to compute positions.

pcdsdevices.pseudopos.OffsetMotorBase(...)

Motor with an offset.

pcdsdevices.pseudopos.PseudoPositioner(...)

pcdsdevices.pseudopos.PseudoSingleInterface([...])

PseudoSingle with FltMvInterface mixed in.

pcdsdevices.pseudopos.SimDelayStage(*args[, ...])

pcdsdevices.pseudopos.SyncAxesBase(*args, ...)

Synchronized Axes.

pcdsdevices.pseudopos.SyncAxis(*args, **kwargs)

Pseudomotor class for moving motors with linear relationships.

pcdsdevices.pseudopos.delay_class_factory(...)

Create a subclass of DelayBase that controls a motor of class motor_class.

pcdsdevices.pseudopos.delay_instance_factory(...)

Laser delay stage to rescale a physical axis to a time axis.

pcdsdevices.pulsepicker

pcdsdevices.pulsepicker.PulsePicker(*args, ...)

Device that picks which pulses to let through.

pcdsdevices.pulsepicker.PulsePickerInOut(...)

PulsePicker paired with a states record to control the Y position.

pcdsdevices.pump

pcdsdevices.pump.AgilentSerial([prefix, ...])

Class for Agilent Turbo Pump controlled via serial.

pcdsdevices.pump.EbaraPump(*args, **kwargs)

Ebara Turbo Pump.

pcdsdevices.pump.Ebara_EV_A03_1([prefix, ...])

Class for the Ebara EV-A03-1 model of roughing pump.

pcdsdevices.pump.GammaController(*args, **kwargs)

Ion Pump Gamma controller.

pcdsdevices.pump.GammaPCT([prefix, kind, ...])

Class for Gamma Pump Controller accessed via serial.

pcdsdevices.pump.IonPump(prefix, *, name, ...)

Ion Pump

pcdsdevices.pump.IonPumpBase(*args, **kwargs)

Ion Pump Base Class.

pcdsdevices.pump.IonPumpWithController(...)

Ion Pump w/ controller.

pcdsdevices.pump.Navigator([prefix, kind, ...])

Class for Navigator Pump controlled via serial.

pcdsdevices.pump.PIPPLC([prefix, kind, ...])

Class for PLC-controlled Ion Pumps.

pcdsdevices.pump.PIPSerial([prefix, kind, ...])

Class for Positive Ion Pump controlled via serial.

pcdsdevices.pump.PROPLC([prefix, kind, ...])

Class for PLC-controlled Roughing Pump.

pcdsdevices.pump.PTMPLC([prefix, kind, ...])

Class for PLC-controlled Turbo Pump.

pcdsdevices.pump.QPCPCT([prefix, kind, ...])

Class for Quad Pump Controller accessed via ethernet.

pcdsdevices.pump.TurboPump(*args, **kwargs)

Turbo Vacuum Pump.

pcdsdevices.pv_positioner

pcdsdevices.pv_positioner.OnePVMotor(prefix, ...)

The simplest possible pv_positioner: a single PV.

pcdsdevices.pv_positioner.PVPositionerComparator(...)

PV Positioner with a software done signal.

pcdsdevices.pv_positioner.PVPositionerDone(...)

PV Positioner with no readback that reports done immediately.

pcdsdevices.pv_positioner.PVPositionerIsClose(...)

PV Positioner that updates done state based on np.isclose.

pcdsdevices.pv_positioner.PVPositionerNoInterrupt(...)

A PV positioner whose moves cannot be interrupted.

pcdsdevices.qadc

pcdsdevices.qadc.Qadc(*args, **kwargs)

Class for an older Abaco FMC PCIe digitzer, used in the LCLS-I hutches.

pcdsdevices.qadc.Qadc134(*args, **kwargs)

Class for LCLS-I FMC134 digitizers.

pcdsdevices.qadc.Qadc134Common(*args, **kwargs)

Common class for FMC134 digitizers.

pcdsdevices.qadc.Qadc134Lcls2(*args, **kwargs)

Class for LCLS-2 FMC134 digitizers.

pcdsdevices.qadc.QadcCommon(*args, **kwargs)

Common class for Abaco FMC digitizers.

pcdsdevices.qadc.QadcLcls1Timing(*args, **kwargs)

LCLS-I timing interface for FMC134 QADCs.

pcdsdevices.qadc.QadcLcls2Timing(*args, **kwargs)

LCLS-II timing interface for FMC134 QADCs.

pcdsdevices.radiation

pcdsdevices.radiation.HPI6030([prefix, ...])

The Human Physics Instrument 6030 radiation sensor is controlled by the HPI 6012 which sends readout data over RS232.

pcdsdevices.ref

pcdsdevices.ref.ReflaserL2SI(*args, **kwargs)

The L2SI design for the reference laser.

pcdsdevices.ref.ReflaserL2SIMirror(prefix, ...)

Controls the reference laser's states.

pcdsdevices.rs_powersupply

pcdsdevices.rs_powersupply.RSChannel([...])

Class to define PVs for a single channel of the RSPowerSupply NGP800.

pcdsdevices.rs_powersupply.RohdeSchwarzPowerSupply([...])

Class to define PVs of all channels of the RSPowerSupply NGP800.

pcdsdevices.rtds_ebd

pcdsdevices.rtds_ebd.PneumaticActuator(...)

pcdsdevices.rtds_ebd.RTDSBase(*args, **kwargs)

Rapid Turnaround Diagnostic Station.

pcdsdevices.rtds_ebd.RTDSK0(*args, **kwargs)

RTDS Configuration on the SXR Line.

pcdsdevices.rtds_ebd.RTDSL0(*args, **kwargs)

RTDS Configuration on the HXR Line.

pcdsdevices.rtds_ebd.RTDSX0ThreeStage(*args, ...)

Three stages X,Y,Z, for solid drilling experiments

pcdsdevices.sample_delivery

pcdsdevices.sample_delivery.Bronkhorst(...)

A Bronkhorst mass flow meter/controller for sample delivery systems.

pcdsdevices.sample_delivery.CoolerShaker(...)

A Cooler/Shaker for the sample delivery system.

pcdsdevices.sample_delivery.FlowIntegrator(*, ...)

A Flow Integrator for the sample delivery system.

pcdsdevices.sample_delivery.GasManifold(...)

A Gas Manifold as used in the sample delivery system.

pcdsdevices.sample_delivery.HPLC(prefix, *, ...)

An HPLC for the sample delivery system.

pcdsdevices.sample_delivery.IntegratedFlow(...)

A single flow for the FlowIntegrator.

pcdsdevices.sample_delivery.M3BasePLCDevice(...)

Base device for M3 SDS PLC devices.

pcdsdevices.sample_delivery.ManifoldValve(...)

A single valve as present in the SDS Gas Manifold.

pcdsdevices.sample_delivery.PCM(*args, **kwargs)

A Pressure Control Module for the sample delivery system.

pcdsdevices.sample_delivery.PropAir(*args, ...)

A Proportionair pressure regulator used by the Pressure Control Module.

pcdsdevices.sample_delivery.Selector(*args, ...)

A Selector for the sample delivery system.

pcdsdevices.sample_delivery.Sensirion(*args, ...)

A Sensirion liquid flow meter for sample delivery systems.

pcdsdevices.sample_delivery.ViciValve(*args, ...)

A Vici Valve as used in the SDS Selector.

pcdsdevices.sensors

pcdsdevices.sensors.RTD(*args, **kwargs)

Resistive Temperature Device.

pcdsdevices.sensors.TwinCATTempSensor(*args, ...)

Basic twincat temperature sensor class.

pcdsdevices.sensors.TwinCATThermocouple(...)

Basic twincat temperature sensor class.

pcdsdevices.sequencer

pcdsdevices.sequencer.EventSequence(*args, ...)

Class for the event sequence of the event sequencer.

pcdsdevices.sequencer.EventSequencer(prefix, *)

Event Sequencer.

pcdsdevices.signal

pcdsdevices.signal.AggregateSignal(*, name)

Signal that is composed of a number of other signals.

pcdsdevices.signal.AvgSignal(signal, ...[, ...])

Signal that acts as a rolling average of another signal.

pcdsdevices.signal.EpicsSignalBaseEditMD(*args)

EpicsSignal variant which allows for user correction of various metadata.

pcdsdevices.signal.EpicsSignalEditMD(read_pv)

EpicsSignal variant which allows for user correction of various metadata.

pcdsdevices.signal.EpicsSignalROEditMD(...)

EpicsSignal variant which allows for user correction of various metadata.

pcdsdevices.signal.FakeEpicsSignalEditMD(*args)

API stand-in for EpicsSignalEditMD Add to this if you need it to actually work for your test.

pcdsdevices.signal.FakeEpicsSignalROEditMD(*args)

API stand-in for EpicsSignalROEditMD

pcdsdevices.signal.FakeNotepadLinkedSignal(read_pv)

A suitable fake class for NotepadLinkedSignal.

pcdsdevices.signal.FakePytmcSignal(prefix[, io])

A suitable fake class for PytmcSignal.

pcdsdevices.signal.FakePytmcSignalRO(prefix)

pcdsdevices.signal.FakePytmcSignalRW(prefix)

pcdsdevices.signal.InternalSignal(*args, ...)

Class Signal that stores info but should only be updated by the class.

pcdsdevices.signal.MultiDerivedSignal(*args, ...)

Signal derived from multiple signals in the device hierarchy.

pcdsdevices.signal.MultiDerivedSignalRO(...)

Read-only variant of a MultiDerivedSignal.

pcdsdevices.signal.NotImplementedSignal(...)

Dummy signal for a not implemented feature.

pcdsdevices.signal.NotepadLinkedSignal(read_pv)

Create the notepad metadata dict for usage by pcdsdevices-notepad.

pcdsdevices.signal.PVStateSignal(*, name, ...)

Signal that implements the PVStatePositioner state logic.

pcdsdevices.signal.PytmcSignal(prefix[, io])

Class for a connection to a pytmc-generated EPICS record.

pcdsdevices.signal.PytmcSignalRO(prefix[, io])

Read-only connection to a pytmc-generated EPICS record.

pcdsdevices.signal.PytmcSignalRW(prefix[, io])

Read-write connection to a pytmc-generated EPICS record.

pcdsdevices.signal.SignalEditMD(*, name[, ...])

Subclass for allowing an external override of signal metadata.

pcdsdevices.signal.SummarySignal(*, name[, ...])

Signal that holds a hash of the values of the constituent signals.

pcdsdevices.signal.UnitConversionDerivedSignal(...)

A DerivedSignal which performs unit conversion.

pcdsdevices.signal._OptionalEpicsSignal(read_pv)

An EPICS Signal which may or may not exist.

pcdsdevices.signal.pytmc_writable(io)

Returns True if the pytmc io arg represents a writable PV.

pcdsdevices.signal.select_pytmc_class([io])

Return the class to use for PytmcSignal's constructor.

pcdsdevices.sim

pcdsdevices.sim.FastMotor(*args[, init_pos, ...])

Instant motor with FltMvInterface.

pcdsdevices.sim.SimTwoAxis([prefix, kind, ...])

Test assembly with two slow motors.

pcdsdevices.sim.SlowMotor(*args[, init_pos, ...])

Simulated slow-moving motor.

pcdsdevices.sim.SynMotor(*args, **kwargs)

SynAxis with the FltMvInterface additions.

pcdsdevices.slits

pcdsdevices.slits.BadSlitPositionerBase(...)

Base class for slit positioner with awful PV names.

pcdsdevices.slits.BeckhoffSlitPositioner(...)

Abstraction of a Slit axis from LCLS-II.

pcdsdevices.slits.BeckhoffSlits(prefix, *, ...)

pcdsdevices.slits.ExitSlitTarget(prefix, *, ...)

Controls the exit slits target state.

pcdsdevices.slits.ExitSlits(*args, **kwargs)

pcdsdevices.slits.JJSlits(*args[, ...])

Beckhoff Controlled AT-C8-HV JJ X-Ray Slits.

pcdsdevices.slits.LusiSlitPositioner(prefix, *)

Abstraction of a Slit axis from LCLS-I

pcdsdevices.slits.LusiSlits(*args[, ...])

Beam slits with combined motion for center and width.

pcdsdevices.slits.PowerSlits(prefix, *, ...)

'SL*:POWER'.

pcdsdevices.slits.SimLusiSlits(*args[, ...])

pcdsdevices.slits.SlitPositioner(prefix, *)

pcdsdevices.slits.Slits(*args[, ...])

pcdsdevices.slits.SlitsBase(*args[, ...])

Base class for slit motion interfacing.

pcdsdevices.smarpod

pcdsdevices.smarpod.SmarPod([prefix, kind, ...])

SmarPod is a hexapod-like positioning system from SmarAct

pcdsdevices.smarpod.SmarPodPose([prefix, ...])

The translation and orientation of the SmarPod stage is called the pose.

pcdsdevices.smarpod.SmarPodStatus([prefix, ...])

This class holds basic status information about the SmarPod.

pcdsdevices.spectrometer

pcdsdevices.spectrometer.FZPStates(prefix, ...)

Fresnel Zone Plate (FZP) 3D States Setup

pcdsdevices.spectrometer.Gen1VonHamos4Crystal(...)

Four crystal Von Hamos setup controlled with a Beckhoff PLC.

pcdsdevices.spectrometer.Gen1VonHamosCrystal(...)

Pitch, yaw, and translation motors for control of a single crystal.

pcdsdevices.spectrometer.HXRSpectrometer(...)

HXR Single Shot Spectrometer motion components class.

pcdsdevices.spectrometer.Kmono(*args, **kwargs)

K-edge Monochromator: Used for Undulator tuning and other experiments.

pcdsdevices.spectrometer.Mono(*args, **kwargs)

L2S-I NEH 2.X Monochromator

pcdsdevices.spectrometer.TMOSpectrometer(...)

TMO Fresnel Photon Spectrometer Motion components class.

pcdsdevices.spectrometer.TMOSpectrometerSOLIDATTStates(...)

Spectrometer Solid Attenuator(FOIL X and Y) 2D States Setup

pcdsdevices.spectrometer.VonHamos4Crystal(...)

von Hamos spectrometer with four crystals and focus and energy motors.

pcdsdevices.spectrometer.VonHamos6Crystal(...)

MFX 6-crystal VonHamos spectrometer

pcdsdevices.spectrometer.VonHamosCrystal(...)

Pitch, yaw, and translation motors for control of a single crystal of the 4-crystals VonHamos spectrometer.

pcdsdevices.spectrometer.VonHamosCrystal_2(...)

Translation, rotation and tilt motors for control of a single crystal of the MFX 6-crystals spectrometer.

pcdsdevices.spectrometer.VonHamosFE(*args, ...)

von Hamos spectrometer with Focus and Energy motors.

pcdsdevices.spectrometer.VonHamosFER(*args, ...)

von Hamos spectrometer with Focus, Energy, and Rotation motors.

pcdsdevices.sqr1

pcdsdevices.sqr1.SQR1([prefix, kind, ...])

Ophyd device represents the entire square-one tri-sphere motion system.

pcdsdevices.sqr1.SQR1Axis(prefix, axis[, ...])

Single axis of the square-one tri-sphere motion system.

pcdsdevices.state

pcdsdevices.state.CombinedStateRecordPositioner(...)

A StatePositioner for an X/Y combined state positioner EPICS record.

pcdsdevices.state.FakeTwinCATStateConfigDynamic(...)

Proper fake device class for TwinCATStateConfigDynamic.

pcdsdevices.state.PVStatePositioner(prefix, ...)

A StatePositioner that combines a set of PVs into a single state.

pcdsdevices.state.StatePositioner(prefix, *, ...)

Base class for state-based positioners.

pcdsdevices.state.StateRecordPositioner(...)

A StatePositioner for an EPICS states record.

pcdsdevices.state.StateRecordPositionerBase(...)

A StatePositioner for an EPICS states record.

pcdsdevices.state.TwinCATStateConfigDynamic(...)

Configuration of a variable number of TwinCAT states.

pcdsdevices.state.TwinCATStateConfigOne([...])

Configuration of a single state position in TwinCAT.

pcdsdevices.state.TwinCATStatePositioner(...)

A StatePositioner from Beckhoff land.

pcdsdevices.state.get_dynamic_state_attr(...)

Get the attr string associated with a single state index.

pcdsdevices.state.state_config_dotted_attribute(...)

Returns the full dotted name of all associated state config components.

pcdsdevices.state.state_config_dotted_names(...)

Returns the full dotted names of the state config state_name components.

pcdsdevices.state.state_config_dotted_velos(...)

Returns the full dotted names of the state config velo components.

pcdsdevices.stopper

pcdsdevices.stopper.PPSStopper(prefix, *[, ...])

PPS Stopper.

pcdsdevices.stopper.PPSStopper2PV(prefix, *)

PPS Stopper with two PVs defining the state together.

pcdsdevices.stopper.Stopper(prefix, *, name, ...)

Controls Stopper.

pcdsdevices.sxr_test_absorber

pcdsdevices.sxr_test_absorber.SxrTestAbsorber(...)

SXR Test Absorber: Used for testing the sxr beamline at high pulse rates.

pcdsdevices.sxr_test_absorber.SxrTestAbsorberStates(...)

SXR Test absorber states

pcdsdevices.tags

pcdsdevices.tags.explain_tag(tag_name)

Return a user-friendly explanation of a tag's meaning.

pcdsdevices.tags.get_valid_tags()

Return a set of all valid variety tags.

pcdsdevices.targets

pcdsdevices.targets.StageStack(mdict, name)

Conveniencefunction for generating a stage stack device.

pcdsdevices.targets.convert_to_physical(...)

Convert to physical coordinates from logical coordinates.

pcdsdevices.targets.get_unit_meshgrid(...)

Based on the 4 coordinates and m and n points, find the meshgrid.

pcdsdevices.targets.mesh_interpolation(...)

Mapping functions for an arbitrary quadrilateral.

pcdsdevices.targets.snake_grid_list(points)

Flatten them into lists with snake_like pattern coordinate points.

pcdsdevices.timetool

pcdsdevices.timetool.Timetool(prefix, *, ...)

Timetool motion with x- and y-motion motors.

pcdsdevices.timetool.TimetoolWithNav(prefix, ...)

Timetool motion with zoom, focus, and x- & y-motion motors.

pcdsdevices.tmo_ip1

pcdsdevices.tmo_ip1.CalibrationAxis(prefix, ...)

Sample calibration 1D State Setup Here, we specify 5 states, and 1 motor, for Y axe.

pcdsdevices.tmo_ip1.SCaFoil(*args, **kwargs)

TMO PMPS1D sample calibration class. Parameters: ----------- prefix : str Base PV for the motion system name : str Alias for the device.

pcdsdevices.tpr

pcdsdevices.tpr.TprMotor(prefix, *, sys, ...)

PV Positioner for adjusting an TPR channel.

pcdsdevices.tpr.TprTrigger(prefix, *, ...[, ...])

Class for an individual TprTrigger.

pcdsdevices.usb_encoder

pcdsdevices.usb_encoder.UsDigitalUsbEncoder(...)

Class for the USB encoder by US Digital.

pcdsdevices.utils

pcdsdevices.utils.check_kind_flag(kind, flag)

Return True if kind contains flag.

pcdsdevices.utils.combine_status_info(obj, ...)

Combine status information from the given attributes.

pcdsdevices.utils.convert_unit(value, unit, ...)

One-line unit conversion.

pcdsdevices.utils.doc_format_decorator(...)

Decorator for substituting values into a docstring.

pcdsdevices.utils.format_ophyds_to_html(obj)

Recursively construct html that contains the output from .status() for each object provided.

pcdsdevices.utils.format_status_table(...[, ...])

Create a PrettyTable based on status information.

pcdsdevices.utils.get_component(obj)

Get the component that made the given object.

pcdsdevices.utils.get_input()

Waits for a single character input and returns it.

pcdsdevices.utils.get_status_float(...[, ...])

Get the value of a dictionary key.

pcdsdevices.utils.get_status_value(...[, ...])

Get the value of a dictionary key.

pcdsdevices.utils.ipm_screen(dettype, ...)

Function to call the (pyQT) screen for an IPM box.

pcdsdevices.utils.is_input()

Utility to check if there is input available.

pcdsdevices.utils.maybe_make_method(func, owner)

Bind func as a method of owner if self is the first parameter.

pcdsdevices.utils.move_subdevices_to_start([...])

Arrange the component order of a device class to put subdevices first.

pcdsdevices.utils.post_ophyds_to_elog(objs)

Take a list of ophyd objects and post their status representations to the elog.

pcdsdevices.utils.re_arg(kwarg_map)

Decorator to redefine a kwarg to a function, while still supporting the old kwarg, and warning the end user.

pcdsdevices.utils.reorder_components([cls, ...])

Rearrange the components in cls for typhos displays.

pcdsdevices.utils.schedule_task(func[, ...])

Use ophyd's dispatcher to schedule a task for later.

pcdsdevices.utils.set_many(to_set, *[, ...])

Call set on all given signal-to-value pairs with a single Status return value.

pcdsdevices.utils.set_standard_ordering(cls)

Set a sensible "standard" ordering for use in typhos.

pcdsdevices.utils.sort_components_by_kind(cls)

Arrange the component order of a device class in kind order.

pcdsdevices.utils.sort_components_by_name([...])

Arrange the component order of a device class in alphabetical order.

pcdsdevices.valve

pcdsdevices.valve.GateValve(prefix, *, name, ...)

Basic Vacuum Valve.

pcdsdevices.valve.VCN([prefix, kind, ...])

VCN = Variable Controlled Needle valve

pcdsdevices.valve.VCN_VAT590(*args, **kwargs)

VCN_VAT590 = Variable Controlled Needle Valve using the VAT590

pcdsdevices.valve.VCN_VAT590_Status([...])

See VCN_VAT590

pcdsdevices.valve.VFS(*args[, ...])

VFS = Fast Shutter Valve

pcdsdevices.valve.VGC(*args[, ...])

VGC = Vacuum Gate valve, Controlled

pcdsdevices.valve.VGCLegacy([prefix, kind, ...])

Class for Basic Vacuum Valve.

pcdsdevices.valve.VGC_2S(*args[, ...])

VGC_2S = Vacuum Gate valve, Controlled, with 2 Setpoints.

pcdsdevices.valve.VRC(*args[, ...])

VRC = Valve with Readback and Control

pcdsdevices.valve.VRCClsLS([prefix, kind, ...])

Valve with Readback and Control and only a Closed Limit Switch.

pcdsdevices.valve.VRCDA(*args[, ...])

VRCDA = Valve with Readback and Control, Dual Acting

pcdsdevices.valve.VRCNO(*args[, ...])

VRCNO = Valve with Readback and Control, Normally Open

pcdsdevices.valve.VVC([prefix, kind, ...])

VVC = Vent Valve, Controlled.

pcdsdevices.valve.VVCNO([prefix, kind, ...])

VVCNO = Vent Valve, Controlled, Normally Open.

pcdsdevices.valve.ValveBase([prefix, kind, ...])

Base class for valves.

pcdsdevices.variety

pcdsdevices.variety.expand_dotted_dict(root)

Expand dotted dictionary keys.

pcdsdevices.variety.get_metadata(cpt)

Get "variety" metadata from a component or signal.

pcdsdevices.variety.set_metadata(cpt, metadata)

Set "variety" metadata on a given component.

pcdsdevices.variety.validate_metadata(md)

Validate a given metadata dictionary.

pcdsdevices.wfs

pcdsdevices.wfs.WaveFrontSensorStates(...)

Controls the WFS (Wavefront Sensor)'s target states.

pcdsdevices.wfs.WaveFrontSensorTarget(*args, ...)

An array of targets used to determine the beam's wavefront.

pcdsdevices.wfs.WaveFrontSensorTargetCool(...)

An array of targets used to determine the beam's wavefront.

pcdsdevices.wfs.WaveFrontSensorTargetFDQ(...)

An array of targets used to determine the beam's wavefront.