Skip to content

Release 2.8.0

Compare
Choose a tag to compare
@slacrherbst slacrherbst released this 05 Apr 04:25
· 4289 commits to main since this release
2e670ea

Pull Requests

  1. #194 - Optimize variable update processing
  2. #202 - Add QT5 support
  3. #199 - Move update context count tracking to worker thread
  4. #197 - Add ability to change PRBS transmit size while running
  5. #196 - Add counter transmit option for PRBS transmitter
  6. #198 - bug fix for PacketizerV1's SW-to-FW path
  7. #193 - Update logging message and address minor issues found when debugging.
  8. #195 - Add width and taps args to PRBS creator
  9. #201 - Add stop call to RSSI
  10. #204 - Add support for conda builds & set min python to 3.6
  11. #192 - Updated release notes

Pull Request Details

Optimize variable update processing

Author: Ryan Herbst [email protected]
Date: Fri Mar 30 10:14:35 2018 -0700
Pull: #194 (228 additions, 236 deletions, 5 files changed)
Branch: slaclab/ESROGUE-200
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-200

Notes:

This change provides an interface to group variable updates into blocks, with overlap detection in order to minimize the redundant calls to each variable's update listener.

Anytime a variable is written or read a update tracker is created which keeps track of the variables that will need an update notification as a result. After the operation is completed, the update list is handed to a worker thread which will calls the associated update functions for each variable in the list.

Users may also further limit the update rate by grouping updates outside of a series of calls:

with self.root.updateGroup():
     var1.set(value1)
     var2.set(value2)
     var1.set(value3)

Add QT5 support

Author: Ryan Herbst [email protected]
Date: Tue Apr 3 09:30:39 2018 -0700
Pull: #202 (118 additions, 47 deletions, 4 files changed)
Branch: slaclab/ESROGUE-207
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-207

Notes:

This PR changes the GUI code to use proper signal/slot generation and calls. This allows both QT4 and QT5 to be supported in the same code. The QT5 import is tried first with a fallback to QT4 if that fails.

In order to simplify the top level GUI code, a wrapper on the QT application class is supported. Existing lines such as:

import PyQt4.QtCore
appTop = PyQt4.QtGui.QApplication(sys.arg)

Will now be replaced with:

appTop = pyrogue.gui.application(sys.argv)

Move update context count tracking to worker thread

Author: Ryan Herbst [email protected]
Date: Wed Apr 4 10:03:49 2018 -0700
Pull: #199 (54 additions, 43 deletions, 1 files changed)
Branch: slaclab/ESROGUE-200-2
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-200

Notes:

This is an enhancement to PR #194.

This version passes the context increment and decrement request as well as the variable to the worker thread through the work queue. The worker thread then tracks the context count as well as the update list. This allows the tracking operation to occur outside of a re-enterent lock context.


Add ability to change PRBS transmit size while running

Author: Ryan Herbst [email protected]
Date: Mon Apr 2 13:32:17 2018 -0700
Pull: #197 (61 additions, 11 deletions, 3 files changed)
Branch: slaclab/ESROGUE-204
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-204

Notes:

Also fix lock in transmitter.


Add counter transmit option for PRBS transmitter

Author: Ryan Herbst [email protected]
Date: Mon Apr 2 13:32:02 2018 -0700
Pull: #196 (52 additions, 9 deletions, 3 files changed)
Branch: slaclab/ESROGUE-203
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-203

Notes:

Add option to transmit running counter instead of PRBS data.


bug fix for PacketizerV1's SW-to-FW path

Author: Ryan Herbst [email protected]
Date: Thu Mar 29 20:25:14 2018 -0700
Pull: #198 (36 additions, 25 deletions, 10 files changed)
Branch: slaclab/ControllerV1

Notes:

Description

  1. bug fix for PacketizerV1's SW-to-FW path
  2. Fixed some typos in the comments
  3. Minor performance enhancements (avoiding modulo operator because not high performance)

I have regression tested this with both PacketizerV1 and PacketizerV2. We still have the PacketizerV1 FW-to-SW corner case (FW bug) that needs to be results (discovered during this development).

JIRA

ESROGUE-199
ESCORE-339


Update logging message and address minor issues found when debugging.

Author: Ryan Herbst [email protected]
Date: Tue Mar 27 16:04:32 2018 -0700
Pull: #193 (33 additions, 21 deletions, 6 files changed)
Branch: slaclab/ESROGUE-199
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-199

Notes:

In the process of debugging ESROGUE-199, I found some areas for improvement.

  1. Change some logging messages from info to warning.
  2. Avoid throwing exception when bad data frames are received in RSSI.
  3. Set transaction start timer earlier, and outside of master lock.
  4. Properly count dropped frames that come out of sequence in RSSI.

Add width and taps args to PRBS creator

Author: Ryan Herbst [email protected]
Date: Mon Apr 2 13:31:45 2018 -0700
Pull: #195 (16 additions, 5 deletions, 1 files changed)
Branch: slaclab/ESROGUE-201
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-201

Notes:

The TX and RX prbs software classes now accept width and taps args during creation. Pass through args are also supported for Device attributes.


Add stop call to RSSI

Author: Ryan Herbst [email protected]
Date: Wed Apr 4 10:05:54 2018 -0700
Pull: #201 (19 additions, 0 deletions, 5 files changed)
Branch: slaclab/ESROGUE-206
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-206

Notes:

Add stop call to RSSI. This ensures that the server is put into the reset state before the client disconnects.

The following line will need to be added to the "stop" method of the custom root class or at the end of the python script:

rudp.stop()

Add support for conda builds & set min python to 3.6

Author: Ryan Herbst [email protected]
Date: Wed Apr 4 20:38:49 2018 -0700
Pull: #204 (7 additions, 2 deletions, 1 files changed)
Branch: slaclab/conda_build

Notes:

Add support for building rogue in the conda environment.

Set min python version to 3.6 in cmake.


Updated release notes

Author: Ryan Herbst [email protected]
Date: Fri Mar 30 10:14:02 2018 -0700
Pull: #192 (4 additions, 3 deletions, 1 files changed)
Branch: slaclab/rel_notes

Notes:

The following are changed:

Let github auto number the PR summary list.
Add newline after notes and before the separator line
Dump note data before attempting to set clipboard.

The password is now prompted instead of provided on the command line.