Skip to content

Minor Release v5.8.0

Compare
Choose a tag to compare
@slacrherbst slacrherbst released this 26 May 21:49
· 1209 commits to main since this release

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.