Skip to content

v7.2.0

Compare
Choose a tag to compare
@swh76 swh76 released this 22 Dec 04:30
· 78 commits to main since this release
3b1bbbc

Tested on SLAC cryostat on an SMB in SLAC CMBS4 DR cooldown #20. Test notebook attached. Found minor bug in plot_tune_summary function which chokes on unassigned channels.

Known issues

Summary

Much of this release is new functionality developed as a part of the SO SAT1 integration at UCSD. In particular, a number of PRs deal with downsampling (PRs #733 and #739) and diagnostic and configuration capabilities for the external SMuRF timing system (PRs #738 and #746). Other functionality added in this release include:

  • PV caching : if there are issues with EPICs calls using this release, it's likely due to this change, which changes the way pysmurf handles all EPICs calls under the hood. See #744 for more details.
  • Duplicate eta scan data bug : A subtle bug in setup_notches was preventing eta scanning on unassigned channels, instead returning duplicate data from an assigned channel for every unassigned channel instead. Unassigned channels will no longer be scanned by default, but can optionally scanned by providing scan_unassigned=True as an argument to setup_notches. See #741 for more details.
  • No double setup by default : Some users report strange behavior for systems on which setup is run twice. Since setup should only ever need to be run once, running setup multiple times is no longer allowed by default, although it can be forced by passing force_configure=True to setup. However, users should be aware that the register which keeps track of whether or not a system has been configured, SystemConfigured, is a software register and will not persist through a reboot of the rogue server. See #741 for more details.

In addition to some minor bug fixes (PRs #748 and #750), this release also includes the final configuration files and scripts that were used to qualify all of SO's SMuRF systems in PR #752.

@jlashner and @BrianJKoopman contributed PRs to this release.

The stable server Docker image uses the following firmware and config

  • cryo-det firmware release: v1.1.0
  • smurf_cfg release: v2.0.0

Pull Requests Since release v7.1.0:

Client

  1. #733 - Modifies the set_downsample_factor function so that it will set the external bitmask if the downsampling mode is external, and adds @mhasself's dscounters module to pysmurf.client.util.
  2. #738 - Adds new functions to utils submodule which implement more convenient getting/setting for timing modes.
  3. #739 - Bug fix for the period_from_mask function and changes get_downsample_factor to work in external downsampling mode.
  4. #741 - Bug fix for duplicate data when eta scanning unassigned channels, new setup_notches option to scan unassigned channels, and setup now checks if system has been configured and won't double configure unless forced.
  5. #746 - Allows systems in slots 3-7 to be configured for fiber timing.
  6. #750 - Minor bug fix ; grad_kernel_width keyword wasn't being passed to find_peak in the smurf_tune submodule from the find_all_peak function.
  7. #748 - Minor bug fix ; show_plot and save_plot keywords weren't being passed to the find_all_peak function in the smurf_tune submodule from the find_freq function
  8. #752 - Final versions of the scripts and configuration files used to qualify all SO SMuRF systems at SLAC.
  9. #744 - Implements PV caching for all EPICs gets and sets to avoid cumulative overhead of large numbers of cagets/caputs.
  10. #755 - Removes remaining deprecated set_rtm_slow_dac_enable calls from smurf_command submodule functions.
  11. #751 - Adds gets for timing system data debug counters.

Other

  1. #732 - This adds all the dependencies listed in the requirements.txt file to the setup.py file, allowing a one-step installation via pip.

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.1.0...v7.2.0