diff --git a/docs/source/releases.rst b/docs/source/releases.rst index 4646696dbb5..d61cdd498ec 100644 --- a/docs/source/releases.rst +++ b/docs/source/releases.rst @@ -2,6 +2,104 @@ Release History ############### +v8.0.0 (2023-09-27) +=================== + +API Breaks +---------- +- Removes rarely-used TwinCAT state config PVs from `TwinCATStateConfigOne` + that are also being removed from the IOCs. + These are still available on the PLC itself. + + - ``delta`` + - ``accl`` + - ``dccl`` + - ``locked`` + - ``valid`` + +- Removes lens motors from `TMOSpectrometer` (``SP1K4``). + +Features +-------- +- EPICS motors now support setattr on their ``limits`` attribute. + That is, you can do e.g. ``motor.limits = (0, 100)`` to set + the low limit to 0 and the high limit to 100. +- Adds a blank subclass of `PPM`, `IM3L0`, to allow for screens specific to this device that don't interfere with other `PPM` devices. +- Adds a ``IM3L0.detailed.ui`` template to add embedded Keithley readout screen to detailed screen for `IM3L0`. + `IM3L0` has a Keithley multimeter added to it for higher-resolution readouts of its power meter. +- ND (N-dimensional) TwinCAT states are now supported. +- Updates supported positioner typhos templates to use the new row widget, + ``TyphosPositionerRowWidget``. + +Device Updates +-------------- +- Updates limits for `LaserTiming`, `LaserTimingCompensation`, and `LxtTtcExample` from +/-10us to +/-100us. +- Adds missing ``pump_state`` (``:STATE_RBV``) signal to `PTMPLC`. +- Adds chin guard RTDs to `FFMirrorZ` in `mirror.py`. +- `LODCM`: Adds the ``E1C`` pseudo-interface for moving only the first tower energy. +- `SmarAct`: Adds signals for performing axis calibration and checking calibration status. +- Adds laser destination 1 (LD1), where a diagnostics box is installed, to + the Laser Beam Transport System (BTPS) state configuration. Updates + overview and configuration screens to display LD1. +- ``TwinCATInOutPositioner`` by default now uses 2 states as its name implies + (excluding the "unknown" transition sate), with one representing the "out" + state and one representing the "in" state. +- `XOffsetMirrorSwitch`: adds ``cool_flow1``, ``cool_flow2``, and ``cool_press``. +- `XOffsetMirrorSwitch` gets component reordering. +- Adds TIXEL Manipulator motors to `LAMPMagneticBottle`. +- Adds twincat states and the ST3K4 automation switch to the SXR test absorber. + This device is ``pcdsdevices.sxr_test_absorber.SxrTestAbsorber`` and is named ST1K4. +- Includes the Fresnel Zone Plate (FZP) 3D states on the `TMOSpectrometer` device. +- `TMOSpectrometer` (``SP1K4``): adds two new motors for solid attenuator and one for thorlabs lens x. +- Add the following signals to `BeckhoffAxis`: + - ``enc_count``: the raw encoder count. + - ``pos_diff``: the distance between the readback and trajectory setpoint. + - ``hardware_enable``: an indicator for hardware enable signals, such as STO buttons. +- Added new PVS to `OpticsPitchNotepad` for storing the ``MR2L3`` channel-cut monochromator (CCM) pitch position setpoints for its two coatings. + +New Devices +----------- +- `FDQ` flow meter implemented in ``analog_signals.py``. +- `PPMCOOL` added to ``pim.py``. +- `KBOMirrorChin` added to ``mirror.py`` +- `SQR1Axis`: A class representing a single axis of the tri-sphere motion system. It inherits + from PVPositionerIsClose and includes attributes for setpoint, readback, actuation, and + stopping the motion. +- `SQR1`: A class representing the entire tri-sphere motion system. It is a Device that + aggregates multiple SQR1Axis instances for each axis. It also includes methods for + multi-axis movement and stopping the motion. +- Includes example devices and components that correspond to + `lcls-plc-example-motion `_. +- Adds `BeckhoffAxisEPS`, which has the new-style EPS PVs on its directional and power enables. + These correspond to structured EPS logic on the PLC that can be inspected from higher level applications. + +Bugfixes +-------- +- `KBOMirrorHE` in `mirror.py` only has 1 flow sensor per mirror, so remove one. +- Fixes an issue where the generic `Motor` factory function would not recognize devices with + ``MCS2`` in the PV name. These are now recognized as `SmarAct` devices. + +Maintenance +----------- +- Updates `BtpsState` comments and logic to help guide future port additions. +- TwinCAT state devices now properly report that their ``state_velo`` + should be visualized with 3 decimal places instead of with 0. + This caused no issues in hutch-python and was patched as a bug in + typhos, and is done for completeness here. + +Contributors +------------ +- baljamal +- jozamudi +- kaushikmalapati +- klauer +- nrwslac +- slactjohnson +- tongju12 +- vespos +- zllentz + + v7.4.3 (2023-07-11) =================== diff --git a/docs/source/upcoming_release_notes/1113-btps_ld1.rst b/docs/source/upcoming_release_notes/1113-btps_ld1.rst deleted file mode 100644 index ce5e9a19f04..00000000000 --- a/docs/source/upcoming_release_notes/1113-btps_ld1.rst +++ /dev/null @@ -1,32 +0,0 @@ -1113 btps_ld1 -############# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Added laser destination 1 (LD1), where a diagnostics box is installed, to - the Laser Beam Transport System (BTPS) state configuration. Updated - overview and configuration screens to display LD1. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- Updated ``BtpsState`` comments and logic to help guide future port additions. - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/1123-square-one_tri-sphere_motion_system.rst b/docs/source/upcoming_release_notes/1123-square-one_tri-sphere_motion_system.rst deleted file mode 100644 index 7cd2ac1bd65..00000000000 --- a/docs/source/upcoming_release_notes/1123-square-one_tri-sphere_motion_system.rst +++ /dev/null @@ -1,35 +0,0 @@ -1123 square-one tri-sphere motion system -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- N/A - -New Devices ------------ -- SQR1Axis: A class representing a single axis of the tri-sphere motion system. It inherits - from PVPositionerIsClose and includes attributes for setpoint, readback, actuation, and - stopping the motion. -- SQR1: A class representing the entire tri-sphere motion system. It is a Device that - aggregates multiple SQR1Axis instances for each axis. It also includes methods for - multi-axis movement and stopping the motion. - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- baljamal diff --git a/docs/source/upcoming_release_notes/1136-enh_nd_twincat_states.rst b/docs/source/upcoming_release_notes/1136-enh_nd_twincat_states.rst deleted file mode 100644 index 19ccd091445..00000000000 --- a/docs/source/upcoming_release_notes/1136-enh_nd_twincat_states.rst +++ /dev/null @@ -1,31 +0,0 @@ -1136 enh_nd_twincat_states -########################## - -API Changes ------------ -- N/A - -Features --------- -- ND (N-dimensional) TwinCAT states are now supported. - -Device Updates --------------- -- Included the Fresnel Zone Plate (FZP) 3D states on the TMOSpectrometer device. - -New Devices ------------ -- Included example devices and components that correspond to - `lcls-plc-example-motion `_. - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/1143-optics-notepad.rst b/docs/source/upcoming_release_notes/1143-optics-notepad.rst deleted file mode 100644 index b3e857c674b..00000000000 --- a/docs/source/upcoming_release_notes/1143-optics-notepad.rst +++ /dev/null @@ -1,30 +0,0 @@ -1143 optics-notepad -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Added new PVS to ``OpticsPitchNotepad`` for storing the MR2L3 channel-cut monochromator (CCM) pitch position setpoints for its two coatings. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- nrwslac diff --git a/docs/source/upcoming_release_notes/1144-enh_limits_setter.rst b/docs/source/upcoming_release_notes/1144-enh_limits_setter.rst deleted file mode 100644 index d7ca61f2629..00000000000 --- a/docs/source/upcoming_release_notes/1144-enh_limits_setter.rst +++ /dev/null @@ -1,32 +0,0 @@ -1144 enh_limits_setter -###################### - -API Changes ------------ -- N/A - -Features --------- -- EPICS motors now support setattr on their ``limits`` attribute. - That is, you can do e.g. ``motor.limits = (0, 100)`` to set - the low limit to 0 and the high limit to 100. - -Device Updates --------------- -- N/A - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/1145-enh_ptmplc_status.rst b/docs/source/upcoming_release_notes/1145-enh_ptmplc_status.rst deleted file mode 100644 index 05d09da2334..00000000000 --- a/docs/source/upcoming_release_notes/1145-enh_ptmplc_status.rst +++ /dev/null @@ -1,30 +0,0 @@ -1145 enh_ptmplc_status -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Add missing ``pump_state`` (``:STATE_RBV``) signal to ``PTMPLC``. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/1148-tcinout_2state.rst b/docs/source/upcoming_release_notes/1148-tcinout_2state.rst deleted file mode 100644 index 51ffbb36e62..00000000000 --- a/docs/source/upcoming_release_notes/1148-tcinout_2state.rst +++ /dev/null @@ -1,32 +0,0 @@ -1148 tcinout_2state -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- ``TwinCATInOutPositioner`` by default now uses 2 states as its name implies - (excluding the "unknown" transition sate), with one representing the "out" - state and one representing the "in" state. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/1150-enh_update_test_absorber.rst b/docs/source/upcoming_release_notes/1150-enh_update_test_absorber.rst deleted file mode 100644 index cddf9e55c0e..00000000000 --- a/docs/source/upcoming_release_notes/1150-enh_update_test_absorber.rst +++ /dev/null @@ -1,31 +0,0 @@ -1150 enh_update_test_absorber -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Add twincat states and the ST3K4 automation switch to the SXR test absorber. - This device is ``pcdsdevices.sxr_test_absorber.SxrTestAbsorber`` and is named ST1K4. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/1153-add_spectrometer_solid_attenuator.rst b/docs/source/upcoming_release_notes/1153-add_spectrometer_solid_attenuator.rst deleted file mode 100644 index e284b4edb10..00000000000 --- a/docs/source/upcoming_release_notes/1153-add_spectrometer_solid_attenuator.rst +++ /dev/null @@ -1,23 +0,0 @@ -1153 add spectrometer solid attenuator -################# -API Changes ------------ -- Remove lens motors -Features --------- -- Add a new TMOSpectrometerSOLIDATTStates class -Device Updates --------------- -- Spectrometer SP1K4 add two new motors for solid attenuator and modify len x to thorlab len x -New Devices ------------ -- N/A -Bugfixes --------- -- N/A -Maintenance ------------ -- N/A -Contributors ------------- -@tongju12 diff --git a/docs/source/upcoming_release_notes/1154-add_TIXEL_Manipulaotr_Motors_to_Magenetic_Bottle.rst b/docs/source/upcoming_release_notes/1154-add_TIXEL_Manipulaotr_Motors_to_Magenetic_Bottle.rst deleted file mode 100644 index 3557eabea64..00000000000 --- a/docs/source/upcoming_release_notes/1154-add_TIXEL_Manipulaotr_Motors_to_Magenetic_Bottle.rst +++ /dev/null @@ -1,30 +0,0 @@ -1154 DOC: add TIXEL Manipulaotr Motors to Magenetic Bottle -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Added TIXEL Manipulator motors to LAMPMagneticBottle - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- jozamudi diff --git a/docs/source/upcoming_release_notes/1156-RTD-Cooling.rst b/docs/source/upcoming_release_notes/1156-RTD-Cooling.rst deleted file mode 100644 index 71b8b63f333..00000000000 --- a/docs/source/upcoming_release_notes/1156-RTD-Cooling.rst +++ /dev/null @@ -1,32 +0,0 @@ -1156 RTD-Cooling -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- added chin guard RTDs to `FFMirrorZ` in `mirror.py` - -New Devices ------------ -- `FDQ` Flow meter implemented in `analog_signals.py` -- `PPMCOOL` added to `pim.py` -- `KBOMirrorChin` added to `mirror.py` - -Bugfixes --------- -- `KBOMirrorHE` in `mirror.py` only has 1 flow sensor per mirror, so remove one. - -Maintenance ------------ -- N/A - -Contributors ------------- -- nrwslac diff --git a/docs/source/upcoming_release_notes/1157-api_motion_pv_cull.rst b/docs/source/upcoming_release_notes/1157-api_motion_pv_cull.rst deleted file mode 100644 index 7ce02b173b2..00000000000 --- a/docs/source/upcoming_release_notes/1157-api_motion_pv_cull.rst +++ /dev/null @@ -1,43 +0,0 @@ -1157 api_motion_pv_cull -####################### - -API Changes ------------ -- Remove rarely-used TwinCAT state config PVs from `TwinCATStateConfigOne` - that are also being removed from the IOCs. - These are still available on the PLC itself. - - - ``delta`` - - ``accl`` - - ``dccl`` - - ``locked`` - - ``valid`` - -Features --------- -- N/A - -Device Updates --------------- -- Add the following signals to `BeckhoffAxis`: - - - ``enc_count``: the raw encoder count. - - ``pos_diff``: the distance between the readback and trajectory setpoint. - - ``hardware_enable``: an indicator for hardware enable signals, such as STO buttons. - -New Devices ------------ -- Add `BeckhoffAxisEPS`, which has the new-style EPS PVs on its directional and power enables. - These correspond to structured EPS logic on the PLC that can be inspected from higher level applications. - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/1159-row_positioner.rst b/docs/source/upcoming_release_notes/1159-row_positioner.rst deleted file mode 100644 index c5d8d53d53b..00000000000 --- a/docs/source/upcoming_release_notes/1159-row_positioner.rst +++ /dev/null @@ -1,32 +0,0 @@ -1159 row_positioner -################# - -API Changes ------------ -- N/A - -Features --------- -- Updated supported positioner typhos templates to use the new row widget - - ``TyphosPositionerRowWidget``. - -Device Updates --------------- -- N/A - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer -- zllentz diff --git a/docs/source/upcoming_release_notes/1160-Update_lxt_limits.rst b/docs/source/upcoming_release_notes/1160-Update_lxt_limits.rst deleted file mode 100644 index 278b17ba083..00000000000 --- a/docs/source/upcoming_release_notes/1160-Update_lxt_limits.rst +++ /dev/null @@ -1,30 +0,0 @@ -1160 Update lxt limits -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- Updates limits for LaserTiming, LaserTimingCompensation, and LxtTtcExample from +/-10us to +/-100us - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- vespos diff --git a/docs/source/upcoming_release_notes/1161-MSC2_PV_returning_SmarAct_device_class.rst b/docs/source/upcoming_release_notes/1161-MSC2_PV_returning_SmarAct_device_class.rst deleted file mode 100644 index 75879c44b4e..00000000000 --- a/docs/source/upcoming_release_notes/1161-MSC2_PV_returning_SmarAct_device_class.rst +++ /dev/null @@ -1,30 +0,0 @@ -1161 MCS2 PV returning SmarAct device class -################# - -API Changes ------------ -- N/A - -Features --------- -- _GetMotorClass: Add MCS2 PV to motor_types and link it to SmarAct device class - -Device Updates --------------- -- N/A - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- vespos diff --git a/docs/source/upcoming_release_notes/1162-IM3L0_class_and_detailed_screen.rst b/docs/source/upcoming_release_notes/1162-IM3L0_class_and_detailed_screen.rst deleted file mode 100644 index cad9e16e29d..00000000000 --- a/docs/source/upcoming_release_notes/1162-IM3L0_class_and_detailed_screen.rst +++ /dev/null @@ -1,30 +0,0 @@ -1162 IM3L0_class_and_detailed_screen -################# - -API Changes ------------ -- N/A - -Features --------- -- Added blank subclass of PPM, IM3L0, to allow for screens specific to this device that don't interfere with other PPM devices -- Added IM3L0.detailed.ui template to add embedded Keithley readout screen to detailed screen for IM3L0 - -Device Updates --------------- - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- KaushikMalapati diff --git a/docs/source/upcoming_release_notes/1164-Add_E1C_to_LODCM.rst b/docs/source/upcoming_release_notes/1164-Add_E1C_to_LODCM.rst deleted file mode 100644 index 497a00500db..00000000000 --- a/docs/source/upcoming_release_notes/1164-Add_E1C_to_LODCM.rst +++ /dev/null @@ -1,30 +0,0 @@ -1164 Add E1C to LODCM -################# - -API Changes ------------ -- self.E1C now available to move first tower energy only on LODCMs - -Features --------- -- N/A - -Device Updates --------------- -- LODCM: Add the E1C pseudo-interface - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- vespos diff --git a/docs/source/upcoming_release_notes/1166-xoffset-switch.rst b/docs/source/upcoming_release_notes/1166-xoffset-switch.rst deleted file mode 100644 index 65cdc1958fe..00000000000 --- a/docs/source/upcoming_release_notes/1166-xoffset-switch.rst +++ /dev/null @@ -1,31 +0,0 @@ -1166 xoffset-switch -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- `XOffsetMirrorSwitch` gets `cool_flow1`, `cool_flow2`, `cool_press` -- `XOffsetMirrorSwitch` gets component reordering. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- nrwslac diff --git a/docs/source/upcoming_release_notes/1167-maint_state_velo_prec.rst b/docs/source/upcoming_release_notes/1167-maint_state_velo_prec.rst deleted file mode 100644 index 3d5fba3e37d..00000000000 --- a/docs/source/upcoming_release_notes/1167-maint_state_velo_prec.rst +++ /dev/null @@ -1,33 +0,0 @@ -1167 maint_state_velo_prec -########################## - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- N/A - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- TwinCAT state devices now properly report that their state_velo - should be visualized with 3 decimal places instead of with 0. - This caused no issues in hutch-python and was patched as a bug in - typhos, and is done for completeness here. - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/925-Add_pvs_for_SmarAct_calibration.rst b/docs/source/upcoming_release_notes/925-Add_pvs_for_SmarAct_calibration.rst deleted file mode 100644 index 3267fff8fa4..00000000000 --- a/docs/source/upcoming_release_notes/925-Add_pvs_for_SmarAct_calibration.rst +++ /dev/null @@ -1,31 +0,0 @@ -925 Add pvs for SmarAct calibration -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Device Updates --------------- -- SmarAct: Add signals for performing axis calibration and checking - calibration status. - -New Devices ------------ -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- slactjohnson diff --git a/docs/source/upcoming_release_notes/template-full.rst b/docs/source/upcoming_release_notes/template-full.rst index 426fcf85882..b70b6febbfd 100644 --- a/docs/source/upcoming_release_notes/template-full.rst +++ b/docs/source/upcoming_release_notes/template-full.rst @@ -7,8 +7,8 @@ Your filename should be issuenumber-title.rst, substituting appropriately. Make sure to fill out any section that represents changes you have made, or replace the default bullet point with N/A. -API Changes ------------ +API Breaks +---------- - List backwards-incompatible changes here. Changes to PVs don't count as API changes for this library, but changing method and component names or changing default behavior does. diff --git a/docs/source/upcoming_release_notes/template-short.rst b/docs/source/upcoming_release_notes/template-short.rst index 088f5a2475f..0b7da73c17d 100644 --- a/docs/source/upcoming_release_notes/template-short.rst +++ b/docs/source/upcoming_release_notes/template-short.rst @@ -1,8 +1,8 @@ IssueNumber Title ################# -API Changes ------------ +API Breaks +---------- - N/A Features