Skip to content

Releases: slaclab/rogue

V4.11.10

20 Oct 05:56
66d8961
Compare
Choose a tag to compare

Release V4.11.0. Fixes CMakefile for docker build.

Patch Release v4.11.9

07 Oct 21:27
4df9726
Compare
Choose a tag to compare

Pull Requests Since v4.11.8

Unlabeled

  1. #809 - Add hub test files, update for new GCC, Fix Python Buffer issue

Pull Request Details

Add hub test files, update for new GCC, Fix Python Buffer issue

Author: Ryan Herbst [email protected]
Date: Thu Oct 7 14:16:23 2021 -0700
Pull: #809 (535 additions, 187 deletions, 15 files changed)
Branch: slaclab/v4.11.9_candidate
Issues: #809

Notes:

Primary changes:

  1. Fix incorrect buffer flags used when passing byte arrays between C++ and python.
  2. Update for new gcc, adding #include in some files
  3. Add hub test image

Minor Release v5.10.0

20 Sep 03:59
Compare
Choose a tag to compare

Pull Requests Since v5.9.3

Unlabeled

  1. #798 - Slac epics build
  2. #795 - Bug fix to protocols/udp for non-RSSI applications
  3. #796 - Defer pydm import
  4. #799 - Revert 8341721
  5. #797 - Build fix no python

Pull Request Details

Bug fix to protocols/udp for non-RSSI applications

Author: Ryan Herbst [email protected]
Date: Sun Sep 19 20:27:53 2021 -0700
Pull: #795 (6 additions, 4 deletions, 1 files changed)
Branch: slaclab/ESROGUE-510
Issues: #795
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-510

Notes:

Description

I am using the rogue.protocols.udp.Server has a UDP bridge between PGP lane and (Xilinx Virtual Cable) XVC UDP. The Xilinx software for XVC can use the max MTU1500 UDP size. When I try to connect to the XVC using non-jumbo frames with this bridge, the XVC software crash when it sends anything over 1400B.

sendVec -- bits 1230, bytes 154, bytesTot 336
HSIZE 16, SIZE 154, got 170
sendVec -- bits 240, bytes 30, bytesTot 80
HSIZE 16, SIZE 30, got 46
sendVec -- bits 240, bytes 30, bytesTot 80
HSIZE 16, SIZE 30, got 46
sendVec -- bits 240, bytes 30, bytesTot 80
HSIZE 16, SIZE 30, got 46
sendVec -- bits 240, bytes 30, bytesTot 80
HSIZE 16, SIZE 30, got 46
sendVec -- bits 240, bytes 30, bytesTot 80
HSIZE 16, SIZE 30, got 46
sendVec -- bits 55, bytes 7, bytesTot 48
HSIZE 16, SIZE 7, got 23
sendVec -- bits 461, bytes 58, bytesTot 144
HSIZE 16, SIZE 58, got 74
sendVec -- bits 5760, bytes 720, bytesTot 1456
terminate called after throwing an instance of 'TimeoutErr'
  what():  Timeout error; too many retries failed
Aborted (core dumped)

If I sent it to JUMBO, it no longer crash but not the correct way to operate the software.


Defer pydm import

Author: Ryan Herbst [email protected]
Date: Sun Sep 19 20:31:56 2021 -0700
Pull: #796 (2 additions, 2 deletions, 1 files changed)
Branch: bhill-slac/defer-pydm-import
Issues: #796

Notes:

Needed when we use rogue on a linuxRT system as we don't have QT support there.
However, we still need to use the non-gui parts of rogue w/o triggering an exception.


Build fix no python

Author: Ryan Herbst [email protected]
Date: Thu Sep 2 17:20:08 2021 -0700
Pull: #797 (1 additions, 0 deletions, 1 files changed)
Branch: bhill-slac/build-fix-NO_PYTHON

Notes:

Needed for NO_PYTHON builds.


Slac epics build

Author: Ryan Herbst [email protected]
Date: Sun Sep 19 20:37:20 2021 -0700
Pull: #798 (60 additions, 0 deletions, 6 files changed)
Branch: slaclab/slac-epics-build

Notes:

Here's the scripts and cmake files needed for EPICS build support.
It includes a custom buildroot cmake config file from Jesus along w/ some tweaks to CMakeLists.txt
to support creating multiple build directories, using the target arch name instead of "build".
i.e. rhel7-x86_64, buildroot-2019.08-x86_64

Each target gets a NO_PYTHON NO_EPICS build so it can be linked into EPICS IOCs for each
EPICS base release we need to support.

Usage:
./target_arch_cmake.sh
./buildroot-2019.08-x86_64_cmake.sh

I don't know if these belong in the master branch or not, as they're mostly SLAC specific.


Revert 8341721

Author: Ryan Herbst [email protected]
Date: Sun Sep 19 20:34:15 2021 -0700
Pull: #799 (1 additions, 0 deletions, 1 files changed)
Branch: slaclab/revert_8341721
Issues: #799

Notes:

Sorry I missed that Matthias already added the needed #include sys/time.h in a prior commit.


Patch Release v5.9.3

28 Jul 16:37
99274d1
Compare
Choose a tag to compare

Pull Requests Since v5.9.2

Enhancement

  1. #794 - Use proper package version locking

Pull Request Details

Use proper package version locking

Author: Ryan Herbst [email protected]
Date: Wed Jul 28 09:21:04 2021 -0700
Pull: #794 (719 additions, 4 deletions, 2 files changed)
Branch: slaclab/pre-release
Labels: enhancement

Notes:


Patch Release v5.9.2

28 Jul 05:41
3eb7c2a
Compare
Choose a tag to compare

Pull Requests Since v5.9.0

Bug

  1. #793 - Lock boost version

Pull Request Details

Lock boost version

Author: Ryan Herbst [email protected]
Date: Tue Jul 27 22:24:59 2021 -0700
Pull: #793 (1 additions, 2 deletions, 2 files changed)
Branch: slaclab/pre-release
Labels: bug

Notes:


Minor Release v5.9.0

16 Jul 04:29
e256448
Compare
Choose a tag to compare

Pull Requests Since v5.8.0

Enhancement

  1. #792 - Ensure that link variable errors are logged

Unlabeled

  1. #790 - Add doString argument to ZmqClient::create()
  2. #789 - Update anaconda.rst
  3. #791 - Fix signed vs unsigned comparison in Variable::getDumpValue
  4. #788 - Fix non-existent variable used in name generation

Pull Request Details

Fix non-existent variable used in name generation

Author: Ryan Herbst [email protected]
Date: Thu Jun 10 13:52:44 2021 -0700
Pull: #788 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/fixedpoint-model-fix

Notes:


Update anaconda.rst

Author: Ryan Herbst [email protected]
Date: Thu Jun 10 13:53:17 2021 -0700
Pull: #789 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/anaconda-install-update
Issues: #789

Notes:

Description

  • Updating the example from rogue v5.3.2 to v5.8.0
    • Because a lot of users will just copy that command and not realize a lot of bugs fixed since then

Add doString argument to ZmqClient::create()

Author: Ryan Herbst [email protected]
Date: Wed Jul 14 11:12:09 2021 -0700
Pull: #790 (8 additions, 5 deletions, 3 files changed)
Branch: slaclab/fix-zmq-client
Issues: #790

Notes:


Fix signed vs unsigned comparison in Variable::getDumpValue

Author: Ryan Herbst [email protected]
Date: Wed Jul 14 11:12:50 2021 -0700
Pull: #791 (1 additions, 1 deletions, 1 files changed)
Branch: bhill-slac/getDumpValue-fix

Notes:

Needed to fix register dump which has not been showing the values.


Ensure that link variable errors are logged

Author: Ryan Herbst [email protected]
Date: Wed Jul 14 16:31:14 2021 -0700
Pull: #792 (19 additions, 6 deletions, 1 files changed)
Branch: slaclab/rem_errors
Issues: #792
Labels: enhancement

Notes:

In the previous version errors that occurred in the link variable set and get functions were not in the system log or properly displayed on the server console. This made debugging difficult.


Minor Release v5.8.0

26 May 21:49
Compare
Choose a tag to compare

Pull Requests Since v5.7.0

Bug

  1. #775 - Queue: fix bug when calculating the busy status

Enhancement

  1. #776 - Fifo: Expose status information to python

Unlabeled

  1. #786 - Allow an iterable to be passed to Device.addInterface() and addProtocol()
  2. #787 - Fix incorrect MemoryDevice stride fix
  3. #783 - Fix stride bug in txnChunker
  4. #784 - MemoryDevice now properly obeys enable on writeBlocks and verifyBlocks
  5. #785 - Add missing f-strings
  6. #774 - Add default value for index parameter in get and set

Pull Request Details

Add default value for index parameter in get and set

Author: Ryan Herbst [email protected]
Date: Tue Apr 20 09:28:50 2021 -0700
Pull: #774 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/block-get-set-index

Notes:

This PR adds a default value of -1 to the index parameter of Block.set() and Block.get().

The _iadd(), _isub() and friends all call both get() and set() without an index, so it seems easiest to provide a default.


Queue: fix bug when calculating the busy status

Author: Ryan Herbst [email protected]
Date: Tue Apr 20 09:29:37 2021 -0700
Pull: #775 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/ESROGUE-497
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-497
Labels: bug

Notes:

This bugs make a Queue object, and therefore a Rogue Fifo object, to hold one more data point than the maximum requested.

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


Fifo: Expose status information to python

Author: Ryan Herbst [email protected]
Date: Thu May 6 15:37:29 2021 -0700
Pull: #776 (132 additions, 15 deletions, 4 files changed)
Branch: slaclab/ESROGUE-498
Issues: #776
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-498
Labels: enhancement

Notes:

This PR exposes some useful status information from a Fifo device to python. The information exposed is:

  • The maximum depth of the fifo,
  • Current number of elements in the fifo, and
  • The number of dropped frames, with a clear command.

Additionally, a python wrapper for the C++ class was added.

Finally, a couple of optimization were added as well:

  • Use member initializer list for the Fifo C++ class, which offer a better performance when creating the objects, and
  • Add a missing delete to match the new operator, in order to avoid leaking the memory.

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


Fix stride bug in txnChunker

Author: Ryan Herbst [email protected]
Date: Thu May 6 13:16:40 2021 -0700
Pull: #783 (2 additions, 2 deletions, 2 files changed)
Branch: slaclab/txn-chuncker-fix

Notes:

MemoryDevice._txnChunker() and Device._rawTxnChunker() were not calculating the stride correctly when wordBitSize < 32 and data was passed in as a list of values.


MemoryDevice now properly obeys enable on writeBlocks and verifyBlocks

Author: Ryan Herbst [email protected]
Date: Thu May 6 13:16:09 2021 -0700
Pull: #784 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/memory-device-fix

Notes:

The enable check was not catching the enable=='parent' and similar cases.


Add missing f-strings

Author: Ryan Herbst [email protected]
Date: Thu May 6 13:15:38 2021 -0700
Pull: #785 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/f-string-fix

Notes:

Some Exception string generators were missing the f to do an f-string.


Allow an iterable to be passed to Device.addInterface() and addProtocol()

Author: Ryan Herbst [email protected]
Date: Thu May 6 13:15:08 2021 -0700
Pull: #786 (18 additions, 7 deletions, 1 files changed)
Branch: slaclab/add-interface-list

Notes:

This change allows an number of lists (or any iterable) of interfaces or protocols to be passed to addInterface() and addProtocol()

I have a few Root subclasses where I instantiate several interfaces at once with a list comprehension.
It is then convenient to just call addInterface() on the whole list rather than iterating it manually.

febStreams = [ris.TcpClient(host, port) for port in postList]
self.addInterface(febStreams)

This change also allows

febStream = ris.TcpClient()
febSrp = SrpV3()
self.addInterface(febStream, febSrp)

Fix incorrect MemoryDevice stride fix

Author: Ryan Herbst [email protected]
Date: Tue May 25 16:02:02 2021 -0700
Pull: #787 (2 additions, 3 deletions, 3 files changed)
Branch: slaclab/chunker-fix2
Issues: #783

Notes:

PR #783 padded the wrong side when adjusting for the stride. This is now fixed.


Patch Release v4.11.8

21 Apr 01:17
3b10c8f
Compare
Choose a tag to compare

Pull Requests Since v4.11.7

Bug

  1. #777 - Queue: fix bug when calculating the busy status (for version v4)

Enhancement

  1. #778 - Fifo: Expose status information to python (for version v4)

Pull Request Details

Queue: fix bug when calculating the busy status (for version v4)

Author: Ryan Herbst [email protected]
Date: Tue Apr 20 09:32:23 2021 -0700
Pull: #777 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/ESROGUE-497-2
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-497-2
Labels: bug

Notes:

This bugs make a Queue object, and therefore a Rogue Fifo object, to hold one more data point than the maximum requested.

Same changes as #775 but rogue version v4.

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


Fifo: Expose status information to python (for version v4)

Author: Ryan Herbst [email protected]
Date: Tue Apr 20 09:32:46 2021 -0700
Pull: #778 (123 additions, 15 deletions, 4 files changed)
Branch: slaclab/ESROGUE-498-2
Issues: #778
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-498-2
Labels: enhancement

Notes:

This PR exposes some useful status information from a Fifo device to python. The information exposed is:

  • The maximum depth of the fifo,
  • Current number of elements in the fifo, and
  • The number of dropped frames, with a clear command.

Additionally, a python wrapper for the C++ class was added.

Finally, a couple of optimization were added as well:

  • Use member initializer list for the Fifo C++ class, which offer a better performance when creating the objects, and
  • Add a missing delete to match the new operator, in order to avoid leaking the memory.

Same changes as #776 but for rogue version v4.

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


Minor Release v5.7.0

12 Mar 20:01
Compare
Choose a tag to compare

Pull Requests Since v5.6.5

Enhancement

  1. #773 - Merge in documentation changes
  2. #769 - Updates to Command & Process Interface
  3. #766 - Limit size of running SystemLog variable
  4. #771 - Make file reader standalone
  5. #770 - Allow the user to use StreamWriter with custom writers
  6. #768 - Add context for rogue clients
  7. #772 - Make SimpleClient command arg optional

Unlabeled

  1. #764 - Add documentation about how to cross-compile rogue
  2. #767 - Update README.md

Pull Request Details

Add documentation about how to cross-compile rogue

Author: Ryan Herbst [email protected]
Date: Tue Feb 23 13:38:15 2021 -0800
Pull: #764 (87 additions, 3 deletions, 1 files changed)
Branch: slaclab/ESROGUE-487
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-487

Notes:

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


Limit size of running SystemLog variable

Author: Ryan Herbst [email protected]
Date: Tue Feb 23 15:28:05 2021 -0800
Pull: #766 (42 additions, 48 deletions, 2 files changed)
Branch: slaclab/ESCRYODET-728
Jira: https://jira.slac.stanford.edu/issues/ESCRYODET-728
Labels: enhancement

Notes:

This limits the number of entries in the SystemLog variable to a configurable number of entries (default=1000). The number of entries can be changed using the MaxLog parameters in the Root class.

This also limits the number of displayed entries in the PyDm console to the last 20.


Update README.md

Author: Ryan Herbst [email protected]
Date: Tue Feb 23 15:27:29 2021 -0800
Pull: #767 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/jira-public
Issues: #767

Notes:

Description

  • We recently made the rogue JIRA public
  • Previous link on README.md required a login
  • Updated the URL to JIRA to not require a login for public access

Add context for rogue clients

Author: Ryan Herbst [email protected]
Date: Thu Feb 25 14:33:30 2021 -0800
Pull: #768 (12 additions, 0 deletions, 2 files changed)
Branch: slaclab/client_context
Issues: #768
Labels: enhancement

Notes:

This feature was missing. This adds the ability to use the clients in the following way:

with pyrogue.interfaces.VirtualClient(host,port) as client:
client.variable.set()


Updates to Command & Process Interface

Author: Ryan Herbst [email protected]
Date: Fri Mar 5 17:35:16 2021 -0800
Pull: #769 (75 additions, 41 deletions, 5 files changed)
Branch: slaclab/function_changes
Labels: enhancement

Notes:

This PR adds the root pointer as an optional argument for functions assigned to a command.

It also supports the passing of a returnVariable and function pointer to the Process class. This allows the user to create a custom process without having to create a process sub-class. The function will have access to the Process variables through the passed 'dev' pointers.


Allow the user to use StreamWriter with custom writers

Author: Ryan Herbst [email protected]
Date: Thu Mar 11 21:37:05 2021 -0800
Pull: #770 (8 additions, 6 deletions, 1 files changed)
Branch: slaclab/custom_files
Issues: #770
Labels: enhancement

Notes:


Make file reader standalone

Author: Ryan Herbst [email protected]
Date: Fri Mar 5 17:34:56 2021 -0800
Pull: #771 (43 additions, 10 deletions, 1 files changed)
Branch: slaclab/standalone_reader
Issues: #771
Labels: enhancement

Notes:

This updates the pyrogue FileReader utility to operate fully standalone without any pyrogue dependencies.


Make SimpleClient command arg optional

Author: Ryan Herbst [email protected]
Date: Thu Mar 11 21:41:17 2021 -0800
Pull: #772 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/opt_arg
Labels: enhancement

Notes:


Merge in documentation changes

Author: Ryan Herbst [email protected]
Date: Thu Mar 11 21:48:07 2021 -0800
Pull: #773 (3299 additions, 190 deletions, 119 files changed)
Branch: slaclab/documentation
Labels: enhancement

Notes:


Patch Release v4.11.7

24 Feb 18:29
26b6be8
Compare
Choose a tag to compare

Pull Requests Since v4.11.6

Enhancement

  1. #765 - Limit size of running SystemLog variable

Pull Request Details

Limit size of running SystemLog variable

Author: Ryan Herbst [email protected]
Date: Wed Feb 24 10:18:33 2021 -0800
Pull: #765 (386 additions, 273 deletions, 7 files changed)
Branch: slaclab/v4.11.7_candidate
Labels: enhancement

Notes:

This limits the number of entries in the SystemLog variable to a configurable number of entries (default=1000). The number of entries can be changed using the MaxLog parameters in the Root class.

This also limits the number of displayed entries in the PyDm console to the last 20.