Pcdsdevices

Latest version: v8.6.0

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

Scan your dependencies

Page 3 of 12

7.2.0

Features
--------
- Added a ``diff_configuration`` function to the `IMS` class in
``epics_motor.py`` that compares the desired motor pv settings with the
current configuration assigned in the parameter manager.
- Made `IMS` pmgr only search through ``USR`` objects.

Device Updates
--------------
- Adds a preliminary attenuator class `AT1K2` and base classes for similar
two-blade ladder attenuators designed by JJ X-ray.
- Adds some PVs for `RohdeSchwarzPowerSupply`.
- Update `LusiSlits` to include individual blade controls.
- Add cooling PVs for `XOffsetMirrorBend`: ``FWM:*_RBV`` and ``PRSM:*_RBV``.
- For `KBOMirrorHE`, set PVs to ``FWM`` and ``PRSM`` to match the ccc list.
- For `Mono`, set PVs to ``FWM`` and ``PRSM`` to match the ccc list.
- For `EllBase`, change the base class to enable scanning via ``bluesky``.
- `CCM` energy moves no longer print about the PID loop being killed.
This was a leftover debug print.

New Devices
-----------
- Adds Leviton device classes and corresponding happi container for use in the
Facility Monitoring System (fms).
- Adds `XOffsetMirrorStateCool` for offset mirrors with state and cooling.
- Adds Device support for stoppers using ``FB_MotionPneumaticActuator`` on the PLC.
Users can now interface with these stoppers using the `BeckhoffPneumatic` class.
- Adds `VCN_VAT590` class for controlling the ``VAT590`` variant of the variable
controlled needle valve.
- Adds `RTDSX0ThreeStage` class, a 3DoF motion stage for Solid Drilling experiments
in the EBD's RTDS chambers.

Bugfixes
--------
- Fixes lightpath logic for `XPPLODCM` to use the correct line and show full
transmission when splitting beam.
- Fix an issue where `PseudoPositioner` devices defined in this module
but running from separate terminals would fight over control of the
``ophyd_readback`` helper signal, a PV that can be used to monitor
progress of the calculated readback.
- Certain PIMs, such as ``cxi_dg1_pim``, did not work properly because pcdsdevices
assumed that these devices had a "DIODE" state, which is not necessarily
true. This has been fixed by making all `PIM` objects autodiscover their states from
EPICS.

Maintenance
-----------
- Fix an issue with the pre-commit config pointing to a missing mirror.
- Add `AT1K2` and `AT2K2` to the attenuator smoke tests.
- Adding symbolic links for `AT1K2` so that screens generate in a nice,
organized way (like other SXR Attenuators)
- Pinning numpy to 1.23 to temporarily fix CI test suite.
- ``pcdsdevices`` no longer uses Travis CI and has migrated to GitHub Actions for
continuous integration, testing, and documentation deployment.
- ``pcdsdevices`` has been migrated to use setuptools-scm, replacing versioneer, as
its version-string management tool of choice.
- ``pcdsdevices`` has been migrated to use the modern ``pyproject.toml``, replacing
``setup.py`` and related files.
- Older language features and syntax found in the repository have been updated
to Python 3.9+ standards by way of ``pyupgrade``.
- Sphinx 6.0 is now supported for documentation building.
- ``docs-versions-menu`` replaces ``doctr-versions-menu`` and ``doctr`` usage
for documentation deployment on GitHub Actions. The deployment key is now
no longer required.
- Removed ``CoatingState`` class, used `reorder_components` instead.
- Specified compatible xraydb and sqlalchemy versions in requirements files.
- Testing dependencies are now specified in the conda recipe for conda-based
installations. ``dev-requirements.txt`` continues to be used for pip-based
installations.

Contributors
------------
- klauer
- ljansen7
- mcb64
- mkestra
- nrwslac
- slactjohnson
- spenc333
- tangkong
- tongju12
- vespos
- wwright-slac
- zllentz

7.1.0

Device Updates
--------------
- Allow ``BeckhoffAxis`` devices to report the NC error from the
beckhoff PLC as part of the move status.
- Throw a clear error when the user tries to move a ``BeckhoffAxis`` that has
the default velocity (zero), rather than failing silently.

Bugfixes
--------
- Fix an issue where ``BeckhoffAxis`` devices would show error status
after nearly any move, even those that ended normally.
- Fix ``_find_matching_range_indices`` method signature to include self.
This was causing startup errors for the XRT mirrors.

Maintenance
-----------
- Update quadratic equation and soft limits for VLS focus mirror. These were
no longer correct.
- Update example in docstring of ``LightpathMixin``. The previous example was
from an earlier implementation of the ``lightpath`` interface.
- Add argument to ``conftest.find_all_device_classes`` that allows specified
device classes to be skipped. This is helpful for skipping interface classes
that may not behave normally as independent devices.
- Set ``typhos>=2.4.0`` in run_constrainted to make sure the typhos feature
required for the template update is available.
- Four blade SXR solid attenuator (AT1K4 and AT2K2) screens have been updated
to include all of the filters installed on each blade. It will also show the
per-blade filters that the calculator will insert when "Apply Configuration"
is clicked. The custom energy line edit will now remain visible regardless of
the "Actual/Custom" Photon Energy selection.
- Adjust the ``BeckhoffAxis`` ``typhos`` templates to only show alarm state
from ``hinted`` components instead of all components. This reduces the noise
from an unresolved bug with alarm states that get stuck in a fake "major"
state for monitors despite being cleared.
- Slightly adjust the sizing on the ``BeckhoffAxis`` detailed ``typhos``
template so that the errors can be read.

Contributors
------------
- klauer
- tangkong
- wwright-slac
- zllentz


**Full Changelog**: https://github.com/pcdshub/pcdsdevices/compare/v7.0.1...v7.1.0

7.0.1

Device Updates
--------------
- Rename ``lens_pitch`` to ``lens_pitch to lens_pitch_up_down`` and ``lens_yaw`` to
``lens_yaw to lens_yaw_left_right``.

Bugfixes
--------
- When initializing the lightpath summary signal from a happi load,
guard against bad ``input_branches`` or ``output_branches``.
This stops us from spamming the terminal when loading from a db without
``input_branches`` and ``output_branches``.
- Fully removes ``LightpathItem`` from containers that subclassed it.

Contributors
------------
- tangkong
- tongju12
- zllentz


**Full Changelog**: https://github.com/pcdshub/pcdsdevices/compare/v7.0.0...v7.0.1

7.0.0

API Changes
-----------
- Now compatible with and expecting ``lightpath`` ``v1.0.0`` for ``lightpath`` support.
- Converted ``LightpathMixin`` to the new ``lightpath`` API, consolodating
reporting into a single ``LightpathState`` Dataclass. The ``lightpath``
subscription system has also been simplified by using an ``AggregateSignal``
to monitor all relevant components.
- Overwrote the default move method for the ``CCMEnergy`` class to kill the PID loop at the end of each move (default).
This should prevent the piezo motor from heating up and breaking vacuum or frying itself.

Features
--------
- Made ``LCLSItem`` fully ``lightpath``-compatible, to maintain backcompatibility
of happi db, as well as added happi containers that work with the new ``lightpath`` interface.
These containers allow ``input_branches`` and ``output_branches``
to be optional kwargs. This lets these containers work with devices
that both do and do not implement the ``lightpath`` interface.
In a future release the extra containers may be removed and should
not be considered a permanent API.
- Added LightControl.ui screen for controlling fiber-lites.
- Added useful qmini embedded screen that's been active in dev for over a year.

Device Updates
--------------
- Updated ``LightpathMixin`` implementation to the new API for all
existing ``lightpath``-active devices. This includes but is not limited to:

- Mirrors
- LODCMs
- Attenuators

- Added an ``ns_delay_scan motor`` to the evr ``Trigger`` class that is
convenient for scanning the delay in nanoseconds.
- Added the missing ``valve_position`` signal to ``ValveBase``,
making it available for all valve classes. This contains the valve's state,
e.g. "OPEN", "CLOSED", "MOVING", "INVALID".
- Made devices that use ``PVStateSignal`` like ``GateValve``
and ``PulsePicker`` report their enum states and write permissions
in subscriptions for applications like ``typhos`` and ``lightpath``.
- Updated ``pcdsdevices.laser.btps`` device classes following a PV rename.
- Updated ``pcdsdevices.laser.btps`` device classes to support the Laser Beam
Transport Motion System (BTMS). In addition, this includes a module
``pcdsdevices.laser.btms_config`` which has utilities to represent the state
of the BTS in a control system independent way and allows for motion
verification and other sanity checks.
- Added two new thorlabs ZST213 into ``TMOSpectrometer``, ``lens_pitch`` and ``lens_yaw``.
- Renamed the valve signal named ``close_override`` to ``override_force_close``
for consistency with ``override_force_open``, which is the corresponding "open" signal.

New Devices
-----------
- Added ``RohdeSchwarzPowerSupply`` class for controlling the Rohde Schwarz NGP800 power supply series.
- Added ``pcdsdevices.laser.btps.BtpsVGC`` a variant of the VGC class that included
``valve_position`` prior to this being added in ``ValveBase``.
- Added ``HPI6030`` in radiation.py, a device for reading out 6030 radiation data.
- Added ``Gen1VonHamos4Crystal`` and ``Gen1VonHamosCrystal`` to the ``spectrometer`` module to support the pre-ADS 4 crystal VonHamos.

Bugfixes
--------
- Fixed an issue where various types of motors could have inconsistent
limits metadata when the IOC or gateway doesn't behave as expected.
- Fixed an issue where the ``UpdateComponent`` was incompatible with
subscription decorators.
- Fixed PV typos in the ``BeckhoffSlits`` and ``PowerSlits`` typhos ui templates.

Maintenance
-----------
- Made some of the test motor simulations slightly more accurate.
- Mark ``test_presets`` as xfail because it has a race condition that is
slowing down our development.

Contributors
------------
- christina-pino
- jortiz-slac
- klauer
- nrwslac
- tangkong
- tongju12
- vespos
- wwright-slac
- zllentz

**Full Changelog**: https://github.com/pcdshub/pcdsdevices/compare/v6.3.0...v7.0.0

6.3.0

Features
--------
- Add new module for controlling intensity of LEDs or Fiber-Lites, ``light_control.py``.
CvmiLed from cvmi_motion.py has been moved to this new module and renamed to ``LightControl``.

Device Updates
--------------
- ``TM2K4`` now has its own class with 5 position states (4 targets and and OUT state)
- Upgrade ``BeamEnergyRequest`` from ``BaseInterface`` to ``FltMvInterface``
to pick up all the move aliases.
- slits.py: add 'hg', 'ho', 'vg', 'vo' to tab_whitelist in ``SlitsBase``, upon request from the XPP scientists
- New ``set_zero`` method to ``DelayBase``

New Devices
-----------
- ``UsDigitalUsbEncoder`` in ``pcdsdevices.usb_encoder``.
This is the EPICS interface for configuring the scale/offset of these encoders that are used in the DAQ.

Maintenance
-----------
- Delay the import of ``pint`` so that sessions with no unit conversions can
start up 2 seconds faster.

Contributors
------------
- mbosum
- vespos
- wwright-slac
- zllentz

6.2.0

===================

Device Updates
--------------
- Add IMS.setup_pmgr as a public API for applications that want to initialize pmgr support before the first device uses it. This was previously private API at IMS._setup_pmgr. (https://github.com/pcdshub/pcdsdevices/pull/1026)
- Added LED control PVs to CVMI motion class. (https://github.com/pcdshub/pcdsdevices/pull/1017)

New Devices
-----------
- Added ItechRfof class: Instrumentation Technologies RF over Fiber unit (https://github.com/pcdshub/pcdsdevices/pull/1020)

Bugfixes
--------
- Create the pmgr resources when they are first used rather than on IMS init, saving 3 seconds of startup time for users that don't need pmgr resources. (https://github.com/pcdshub/pcdsdevices/pull/1026)

Maintenance
-----------
- Vendor happi.device.Device as LegacyItem instead of importing it, pending deprecation of the happi.device module. (https://github.com/pcdshub/pcdsdevices/pull/1023)

Contributors
------------
- Mbosum
- mcb64
- slactjohnson
- wwright-slac (wwright-slac made their first contribution in https://github.com/pcdshub/pcdsdevices/pull/1020 🥳 )
- zllentz


**Full Changelog**: https://github.com/pcdshub/pcdsdevices/compare/v6.1.0...v6.2.0

Page 3 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.