Pcdsdevices

Latest version: v8.6.0

Safety actively analyzes 681881 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 12

6.1.0

Device Updates
--------------
- Updated the Laser Beam Transport Protection system configuration to reflect the latest PLC/IOC changes: the image sum from near and
far-field cameras is now used instead of centroid positioning. The relevant screens have been updated as well.
- Added an optional ``acr_status_suffix`` argument to ``BeamEnergyRequest`` that instantiates an alternate version of the class that waits on an ACR PV to know when the motion is done. This is a more suitable version of the class for step scans and a less suitable version of the class for fly scans.

New Devices
-----------
- Added ``KBOMirrorHEStates`` - a class for KBO mirrors with coating states and cooling.
- Added ``KBOMirrorStates`` - a class for KBO mirrors with coating states and no cooling.

Bugfixes
--------
- Fixed the ``Stopper`` ``happi`` container definition.
- Removed unusable ``bunch_charge_2`` signal from LCLS beam stats. This PV seems to contain a stale value that disagrees with ``bunch_charge`` and causes EPICS errors on certain hosts.

Maintenance
-----------
- Added a run constraint for pyqt to avoid latest while we work out testing failures.

Contributors
------------
- klauer
- nrwslac
- tangkong
- zllentz

6.0.0

API Changes
-----------
- ``MultiDerivedSignal`` and ``MultiDerivedSignalRO`` calculation functions
(``calculate_on_get`` and ``calculate_on_put``) now take new signatures.
Calculation functions may be either methods on an ``ophyd.Device`` (with
``self``) or standalone functions with the following signature:
.. code::
calculate_on_get(mds: MultiDerivedSignal, items: SignalToValue) -> OphydDataType
calculate_on_put(mds: MultiDerivedSignal, value: OphydDataType) -> SignalToValue

Features
--------
- adds ``.screen()`` method to BaseInterface, which opens a typhos screen
- adds AreaDetector specific ``.screen()`` method, which calls camViewer
- Add utilities for rearranging the order of components as seen by typhos.
This can be helpful for classes that inherit components from other classes
if they want to slot their new components in at specific places in the
automatic typhos tree.

Device Updates
--------------
- Added "ref" signal to "BeamEnergyRequest" to track the energy
reference PV.
- ``TwinCATStatePositioner`` has been updated due to underlying
``MultiDerivedSignal`` API changes.
- TM1K4 now has its own class with 8 position states (7 targets and and OUT state)
- Updated AT2L0 to utilize newly implemented MultiderivedSignal for error checking and clearing in GUI and at the command line
- Updated AT2L0 Typhos GUI, includes error clearing button and display of error on individual blades
- clear_errors() method for AT2L0 to clear errors; e.g. at2l0.clear_errors()
- print_errors() method for AT2l0 to print error summary; e.g. at2l0.print_errors()

New Devices
-----------
- New ``JJSlits`` class and typhos screen for controlling JJSlits model AT-C8-HV with Beckhoff controls.
- XOffsetMirrorRTDs, offset mirrors with RTDs for measuring temperatures.
- FFMirrorZ, an extension to FFMirror to add a Z axis.
- The X apertures for AT1K0 now have their own device with 1 state, "centered"
- The Y apertures for AT1K0 now have their own device with 4 states, ["5.5mm","8mm","10mm","13mm"]
- OpticsPitchNotepad - a class for storing pitch positions based on state in a notepad IOC
for mr1l0, mr2l0, mr1l4, mr1l3, and mr2l3.

Bugfixes
--------
- Fix calls to ipm_screen.
- Fix an issue where Beckhoff motion error reset signals could not be set twice in the same session.
- Fix an issue where the TMO Spectrometer and the HXRSSS would spam errors
when loaded in lightpath.

Maintenance
-----------
- Ran pre-commit on all files in the repository, except the ones where it
causes issues. Update the CI to require these checks to pass. (passive
update, this is the new pcds-ci-helpers master). Notable changes were
related to import sorting and removal of trailing whitespace.

Contributors
------------
- klauer
- mbosum
- mkestra
- nrwslac
- rsmm97
- tangkong
- zllentz

5.2.0

Features
--------
- Added a post_elog_status method to the ``BaseInterface`` class, which posts to the registered primary elog if it exists.
- Added a function for posting ophyd object status (and lists of objects) to the ELog as html.
- Added new ``AggregateSignal`` variant ``MultiDerivedSignal``. With a list of signal names and a calculation function, it is now possible to create a new signal derived from the values of the provided signals. For example, if a hutch has many temperature sensors - each with their own corresponding ``EpicsSignal`` instance - a signal that shows the maximum value from all of those temperatures would be easy to implement.
- Added the scale keyword argument to tweak() method, allowing the user to pick the initial step size.

Device Updates
--------------
- Added the Y axis to the ``KBOMirror`` status printout
- TwinCAT state devices now have a top-level "state_velo" summary signal. This can be used to view the highest speed of all the configured state speeds, and it can also be used to do a bulk edit. These are stored per state destination in the IOC.
- Added a biological parent attribute to ``GroupDevice``, for tracking parents without alerting stage() methods
- Added the current monitoring PV to ``pcdsdevices.pump.PTMPLC``.
- Allow for user offsets to TMO Spectrometer motors.
- Commented out the GasNeedleTheta motor for 3/22 LAMPMBES configuration.

New Devices
-----------
- Added ``PCDSHDF5BlueskyTriggerable``, a variant of area detector specialized for doing ``bluesky`` scans.
- Added the ``KBOMirrorHE`` class to be used with KBO mirrors with cooling, like MR2K4.
- Added the laser beam transport protection system device classes and related screens.
- Added the Dg /DelayGenerator class to handle SRS645 delay generator
- Added the ``MMC100`` class, for motors controlled by Micronix MMC100 controllers
- Added a class for the HXR Single Shot Spectrometer.
- Add ``VRCDA``, a dual-acting valve class.

Bugfixes
--------
- Fixed an issue in sim.slow_motor classes where threading behavior could fail.
- State readbacks from preset positions are now correct.
- Fixed a race condition on initialization of new ``EpicsSignalEditMD`` and ``EpicsSignalROEditMD``. (963, 978)
- Fix an issue where mirror devices had overfiltered tab completion results.

Maintenance
-----------
- Removed the instantiation of a status object at motor startup to help improve the performance of loading large sessions. This object was not strictly needed.
- Removed the deprecation warning from ``pcdsdevices.utils`` import.
- Updated the docstrings in the valve submodule with detailed descriptions.

Contributors
------------
- klauer
- mbosum
- nrwslac
- spenc333
- vespos
- tangkong
- zrylettc
- zllentz

5.1.0

Features
--------
- Adds a new script, make_ophyd_device.py, that helps with autogeneration of
an ophyd device class from an IOC db file. Includes a helper script.
- State names are no longer case-sensitive.

Device Updates
--------------
- Add pmgr methods to the IMS class's tab whitelist.

New Devices
-----------
- SliceDhvChannel: a device for controlling a single channel on a Vescent
Photonics Slice-DHV controller.
- SliceDhvController: a device for controlling the controller of a Vescent
Photonics Slice-DHV controller.
- SliceDhv: a top-level device for controlling a complete 2-channel Vescent
Photonics Slice-DHV controller.
- QadcBase: Base class for qadc digitizers
- Qadc: Class for FMC126 (old) digitizers
- QadcSparsification: Class for holding FMC134 sparsification PVs.
- Qadc134: Class for FMC134 (new) digitizers
- Wave8V2Simple: A simple class for the LCLS-II Wave8. Provides waveforms
and acquisition start/stop buttons.
- Wave8V2: A complete top-level class for the LCLS-II Wave8. Includes many
configuration and diagnostic PVs, in addition to what is provided by
Wave8V2Simple.
- DiconSwitch: new device class for the DiCon fiber switch.
- CycleRfofRx: class for Cycle RFoF receiver.
- CycleRfofTx: class for Cycle RFoF transmitter.
- Agilent53210A: Device for controlling frequency counters by the same name.
- Adds a new class to interface with the LAMP motion configuration for LV17.

Bugfixes
--------
- EpicsSignalEditMD will be more lenient for cases where we have unset
metadata strings ("Invalid") from TwinCAT. This fixes recent issues
involving terminal spam and failure to update enum strings for
devices like the solid attenuators.
- EpicsSignalEditMD will not send metadata updates until all composite
signals have connected and updated us with their values.
- Fix SL1K2 target count (2 states + out instead of default).
- Fixed mr1l0_homs and mr2l0_homs state counts in TwinCATMirrorStripe.
This should be set to 2 for mr1l0 (B4C, B4C/Ni) and mr2l0 (B4C, Ni).

Maintenance
-----------
- ``detailed_tree.ui`` was vendored from typhos. The default attenuator screens
AT2L0, AT1K4, and AT2K2 will now default to ``detailed_tree.ui``.
- HelpfulIntEnum has been vendored from pcdsutils. This will be
switched to an import in a future release.

Contributors
------------
- mbosum
- klauer
- slactjohnson
- tangkong
- zllentz

5.0.2

Bugfixes
--------
- Fix issue where EpicsSignalEditMD could log enum error messages
for signals that did not edit their enum metadata.

Contributors
------------
- zllentz

5.0.1

Bugfixes
--------
- CCM status representation fixed in certain situations. (908)
- Exceptions will no longer be raised when generating device status
representations. (909)

Contributors
------------
- klauer

Page 4 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.