Skip to content

Major Release v6.0.0

Compare
Choose a tag to compare
@ruck314 ruck314 released this 30 Jun 04:23
· 244 commits to main since this release
b8cf8d8

Pull Requests Since v5.18.4

Bug

  1. #946 - Fix stale tracking for offset variables
  2. #952 - Handle initial PYDM connection failure gracefully

Enhancement

  1. #955 - Rogue Version 6 Pre-Release
  2. #929 - Remove Epics3 Support
  3. #936 - Remove legacy gui
  4. #945 - Changes To Support A CPP API Wrapper
  5. #931 - Move zmqServer, sqlLogger and streamMaster out of Root class
  6. #950 - Remove deprecated features
  7. #948 - PyDM Interface Cleanup And Show Example GUI
  8. #913 - Enable zero copy disable control for AxiStreamDma
  9. #951 - Add API Test to CI
  10. #934 - Remove block to block overlap support
  11. #940 - Apply Docker Fixes To Rogue V6
  12. #942 - Update anaconda documentation
  13. #947 - Add default values to data writer
  14. #954 - Make nodeList recursive to match deviceList and variableList
  15. #953 - Check for missing P4P mapping entries
  16. #943 - Fix missing rogue:latest tag on docker images

Unlabeled

  1. #949 - Whitespace cleanup
  2. #944 - Update anaconda.rst

Pull Request Details

Enable zero copy disable control for AxiStreamDma

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Sat May 6 10:31:21 2023 -0700
Pull: #913 (84 additions, 46 deletions, 3 files changed)
Branch: slaclab/ESROGUE-615
Issues: #913
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-615
Labels: enhancement

Notes:

This PR adds a new class method to disable zero copy mode for a particular AxiStreamDma device.

This new function is:

rogue.hardware.axi.AxiStreamDma.zeroCopyDisable("/dev/datadev_x");

It has to be called before any AxiStreamDma objects are created on a given device.


Remove Epics3 Support

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Tue Apr 18 13:10:48 2023 -0700
Pull: #929 (53 additions, 3698 deletions, 41 files changed)
Branch: slaclab/rem_epics3
Labels: enhancement

Notes:

This PR removes epics3 / cas support from Rogue. This also then simplifies the docker generation to no longer use the base docker that had epics pre-installed.

This is a PR into the rogue_v6 development branch.


Move zmqServer, sqlLogger and streamMaster out of Root class

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Thu May 4 22:28:15 2023 -0700
Pull: #931 (271 additions, 229 deletions, 13 files changed)
Branch: slaclab/ext_ifaces
Issues: #931
Labels: enhancement

Notes:

In the future the Root class will be interface agnostic. As such it is not appropriate to continue to support a Root resident ZmqServer, SqlLogger or StreamMaster interface. Instead these will be treated as generic variableListeners which are created separately and added to the root class.

For a transition period the previous methods will be support with deprecation warnings generated when the legacy methods for creating these interfaces are used.

This new method will allow for more customization of these interfaces, as well as adding new interfaces, streamers and loggers to the Root class.

This is a RogueV6 Change.


Remove block to block overlap support

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Apr 26 13:42:33 2023 -0700
Pull: #934 (3 additions, 45 deletions, 3 files changed)
Branch: slaclab/rem_overlap2
Issues: #934
Labels: enhancement

Notes:

This PR removes block to block overlap support. Having two blocks own the same memory space is dangerous and can create unpredictable behavior.

The overlapEn flag is still supported on variables allowing two variables to overlap the same space in a single block. The current block implementation allows to this be supported safely with proper update notification when the underlying memory space changes.

This is a rogueV6 change.


Remove legacy gui

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Apr 26 14:12:21 2023 -0700
Pull: #936 (0 additions, 1359 deletions, 6 files changed)
Branch: slaclab/rem_oldgui
Issues: #936
Labels: enhancement

Notes:

This PR removes the legacy GUI. Only PyDM will be supported going forward.


Apply Docker Fixes To Rogue V6

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Thu May 4 21:50:33 2023 -0700
Pull: #940 (17 additions, 11 deletions, 3 files changed)
Branch: slaclab/docker_v6
Issues: #940
Labels: enhancement

Notes:

Apply docker fixes to Rogue V6.


Update anaconda documentation

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Thu May 4 22:19:56 2023 -0700
Pull: #942 (21 additions, 5 deletions, 3 files changed)
Branch: slaclab/conda_doc
Issues: #942
Labels: enhancement

Notes:

Add notes for using the faster anaconda solver package.

This also removes the github workflow hook for the documentation branch which will be deleted.


Fix missing rogue:latest tag on docker images

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Sat May 6 10:31:35 2023 -0700
Pull: #943 (1 additions, 2 deletions, 1 files changed)
Branch: slaclab/docker_tag
Issues: #943
Labels: enhancement

Notes:

The docker upload was missing the latest tag.


Update anaconda.rst

Author: Larry Ruckman ruckman@slac.stanford.edu
Date: Fri May 5 11:05:05 2023 -0700
Pull: #944 (3 additions, 3 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Updating anaconda download path to latest release
  • Updating tag install to latest release

Changes To Support A CPP API Wrapper

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Fri May 19 12:26:16 2023 -0700
Pull: #945 (424 additions, 184 deletions, 11 files changed)
Branch: slaclab/cpp_api
Labels: enhancement

Notes:

Changes to support a CPP API Wrapper. Also remove root level set/get functions.


Fix stale tracking for offset variables

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Fri May 12 14:46:35 2023 -0700
Pull: #946 (148 additions, 2 deletions, 2 files changed)
Branch: slaclab/ESROGUE-627
Issues: #946
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-627
Labels: bug

Notes:

The stale tracking was incorrect for variables that were shifted away from a zero offset. This impacted variables that were mapped to a larger block.


Add default values to data writer

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Fri May 19 11:04:21 2023 -0700
Pull: #947 (3 additions, 19 deletions, 2 files changed)
Branch: slaclab/data_writer_changes
Issues: #947
Labels: enhancement

Notes:

This adds the ability to provide default values for bufferSize and maxFileSize to the DataWriter class.

This also removes the fields from the pydm widget as the previous method to conditionally include the fields was not working.


PyDM Interface Cleanup And Show Example GUI

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Fri May 19 12:25:47 2023 -0700
Pull: #948 (267 additions, 169 deletions, 8 files changed)
Branch: slaclab/example_features
Issues: #948
Labels: enhancement

Notes:

This PR cleans up the PYDM interface and displays the example .ui GUI which includes demonstrations of Rogue specific pydm widgets when running the following command:

python -m pyrogue.examples --gui

The setup.py file was cleaned up to auto find packages in the tree as well as include the .ui file in the distribution.

The pydm interface now passes a figure object directly instead of pickling it through the interface.

Fixes were made to TimePlot to deal with guiGroups.

The local conda.yml file now limits the pydm version correctly.

This PR also seems to have addresses the memory leak when displaying rogue generated figures in pydm.


Whitespace cleanup

Author: Benjamin Reese bengineerd@users.noreply.github.com
Date: Wed Jun 28 13:06:41 2023 -0700
Pull: #949 (19787 additions, 19230 deletions, 183 files changed)
Branch: slaclab/lint_v6
Issues: #949

Notes:

Description

This gives every file a consistent whitespace formatting.

It also cleans up the order of #inculde statements in each file.

Results are not always perfect. In particular, the boost-python declarations tend to run up awkwardly against the ColumnLimit: 120, and it doesn't really know how to format them better.

Details

The following commands were run...

> find . -type f -name "*.cpp" -print0 | xargs -0 sed -i -E 's/<(rogue\/.*)>/\"\1\"/'
> find . -type f -name "*.h" -print0 | xargs -0 sed -i -E 's/<(rogue\/.*)>/\"\1\"/'
> clang-format -i **/*.cpp **/*.h

JIRA

https://jira.slac.stanford.edu/browse/ESROGUE-554


Remove deprecated features

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Jun 28 12:09:50 2023 -0700
Pull: #950 (146 additions, 347 deletions, 24 files changed)
Branch: slaclab/rem_raw
Issues: #950
Labels: enhancement

Notes:

This PR removes the last of the deprecated features in preparation for Rogue V6.

Removed deprecated features include:

  • RawRead / RawWrite
  • Background commands
  • ZmqServer in Root class
  • SqlLogger in Root class
  • Configuration streaming from Root class

Add API Test to CI

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Jun 28 13:15:03 2023 -0700
Pull: #951 (45 additions, 21 deletions, 3 files changed)
Branch: slaclab/api_test
Labels: enhancement

Notes:

This PR adds a test compile of the CPP API and executes and associate API test.


Handle initial PYDM connection failure gracefully

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Jun 28 22:28:34 2023 -0700
Pull: #952 (14 additions, 4 deletions, 3 files changed)
Branch: slaclab/ESROGUE-589
Issues: #952
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-589
Labels: bug

Notes:

This PR will fail the connection if the first attempt to the server fails. The user can then close the pydm window.


Check for missing P4P mapping entries

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Wed Jun 28 21:19:42 2023 -0700
Pull: #953 (8 additions, 2 deletions, 1 files changed)
Branch: slaclab/ESROGUE-630
Issues: #953
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-630
Labels: enhancement

Notes:

This PR will generate error messages if the user includes a pvMap entry that does not exist in the rogue tree.


Make nodeList recursive to match deviceList and variableList

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Thu Jun 29 15:01:35 2023 -0700
Pull: #954 (6 additions, 4 deletions, 1 files changed)
Branch: slaclab/ESROGUE-599
Issues: #954
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-599
Labels: enhancement

Notes:

Make nodeList recursive to match deviceList and variableList


Rogue Version 6 Pre-Release

Author: Ryan Herbst rherbst@slac.stanford.edu
Date: Thu Jun 29 16:49:03 2023 -0700
Pull: #955 (20428 additions, 24845 deletions, 266 files changed)
Branch: slaclab/rogue_v6
Issues: #955
Labels: enhancement

Notes:

Merge all previous PRs that went into Rogue_v6 into pre-release.

Release notes will reflect all rogue_v6 PRs.