id3c.devices.laser_optics#
Laser optics bundle (us / ds axes) with IN/OUT state.
The us and ds axes are upstream and downstream positioners of the
laser optics. At nominal positions they are either
fully IN (in the beam path) or fully OUT (retracted).
This device declares its two axes as
InterlockedEpicsMotor. The
actual interlock callable (against sample_stage.omega) is wired
late, in id3c.startup.
Configuration Components (plain ophyd.Signal, kind="config"):
in_position– nominal IN location (mm), applied to both axesout_position– nominal OUT location (mm), applied to both axestolerance– +/- window (mm) for IN/OUT comparisonsettle_time– post-move delay (s) inmove_in/move_out
Derived Components (ophyd.signal.AttributeSignal, kind="omitted"):
out_status– mirrorsis_out
Derived signals are subscribable, which is what the mid-motion
interlock watcher on sample_stage.omega uses. Note however that
AttributeSignal itself does not emit on EPICS updates; the
watcher should subscribe to the underlying us.user_readback and
ds.user_readback signals (which it does, by wiring in
startup.py). out_status is exposed for
manual .get() queries and for any code that just wants the
boolean.
Attributes#
Classes#
Retractable laser optics with IN/OUT state and motion plans. |
Module Contents#
- class id3c.devices.laser_optics.LaserOptics(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=DEFAULT_CONNECTION_TIMEOUT, **kwargs)[source]#
Bases:
ophyd.MotorBundleRetractable laser optics with IN/OUT state and motion plans.