Releases: slaclab/rogue
Patch Release v4.11.5
Pull Requests Since v4.11.4
Enhancement
- #737 - Use native pickling instead of JSON for zmq interface (Rogue V4)
- #740 - Add guiGroup attribute to Node, allowing GUI tree organization (V4)
Pull Request Details
Use native pickling instead of JSON for zmq interface (Rogue V4)
Author: | Ryan Herbst [email protected] |
Date: | Thu Sep 24 17:56:51 2020 -0700 |
Pull: | #737 (340 additions, 175 deletions, 12 files changed) |
Branch: | slaclab/faster_zmq |
Labels: | enhancement |
Notes:
This change uses native python pickling instead of json encoding for sending data between the zmq client and server. This is the Rogue version 4 application of this change.
This also uses raw bytes for data transfer between the client and server instead of passing and decoding strings.
The C++ raw client interface is removed for now as it is not used and will need a json specific interface which we may add later.
This has resulted in a 50% speedup of zmq based transactions which should make the GUI more responsive. The Rogue zmq remains faster than the epics3 interface:
For a list transfer:
Epics list caget Rate = 808.5 hz
Epics list caput Rate = 906.8 hz
Epics list pv.get Rate = 928.8 hz
Epics list pv.put Rate = 1014.7 hz
zmq list get Rate = 2981.1 hz
zmq list set Rate = 2651.9 hzFor a single value transfer:
Epics caput Rate = 1457.4 hz
Epics pv.get Rate = 1445.6 hz
Epics pv.put Rate = 1565.5 hz
zmq get Rate = 2318.8 hz
zmq set Rate = 1866.2 hz
Add guiGroup attribute to Node, allowing GUI tree organization (V4)
Author: | Ryan Herbst [email protected] |
Date: | Wed Sep 23 10:46:54 2020 -0700 |
Pull: | #740 (209 additions, 131 deletions, 10 files changed) |
Branch: | slaclab/node_gui_groups |
Labels: | enhancement |
Notes:
This PR changes the behavior of the pydm GUI tree in how it handles large arrays of Variables, Command and Devices.
The previous version would auto-detect variable arrays and group them in a sub-tree item which sped up the GUI load as it avoided creating large arrays of tree elements.
This PR removes the auto organization and adds a Node attribute 'guiGroup' which defines how Variables, Command and Devices are group in the pydm tree. By default the created group is not auto expanded and the group's members are not populated in the GUI until they are needed.
The developer is encouraged to use this feature to minimize the number of elements that need to be populated in the GUI at any given time.
Patch Release v4.11.4
Pull Requests Since v4.11.3
Enhancement
- #733 - Break large array into sections on gui
Pull Request Details
Break large array into sections on gui
Author: | Ryan Herbst [email protected] |
Date: | Wed Sep 16 10:25:02 2020 -0700 |
Pull: | #733 (126 additions, 50 deletions, 8 files changed) |
Branch: | slaclab/ESCRYODET-713 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-713 |
Labels: | enhancement |
Notes:
Avoid building arrays larger than 100 entries on expansion. This also groups node fetches into bursts which reduces the time to interact with the server.
This also fixes an epics bug already fixed in Rogue 5.
Minor Release v5.4.0
Pull Requests Since v5.3.0
Bug
Enhancement
- #729 - Add support for transaction retry
Pull Request Details
Add support for transaction retry
Author: | Ryan Herbst [email protected] |
Date: | Fri Aug 28 20:13:11 2020 -0700 |
Pull: | #729 (246 additions, 24 deletions, 9 files changed) |
Branch: | slaclab/block_retry |
Issues: | #729 |
Labels: | enhancement |
Notes:
This PR adds support for transaction retry in remote variables/blocks. Retry is enabled for a block when retryCount is set to a non zero value when creating one of its variables. The variable with the largest retryCount will set the block level retryCount. When setting retryCount to a non zero value, any transactions initiated for the block will be checked immediately, waiting for the transaction to complete, as if checkEach where set for the Device. If an error occurs in the transaction it will be immediately retried up to retryCount times. If the error is a verify error the transaction will not be retried.
Retries will occur both in variable level transactions (set/get) or in bulk transactions initiated by the poll queue or Root level configuration writes and reads.
Fix min and max values for fixed point model
Author: | Ryan Herbst [email protected] |
Date: | Tue Sep 1 21:56:48 2020 -0700 |
Pull: | #730 (0 additions, 5 deletions, 1 files changed) |
Branch: | slaclab/fixed_range |
Labels: | bug |
Notes:
Fix data receiver signature
Author: | Ryan Herbst [email protected] |
Date: | Thu Sep 10 17:30:28 2020 -0700 |
Pull: | #732 (7 additions, 1 deletions, 2 files changed) |
Branch: | slaclab/ESROGUE-465 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-465 |
Labels: | bug |
Notes:
Patch Release v4.11.3
Pull Requests Since v4.11.2
Enhancement
- #731 - Add default min/max values based upon register parameters
Pull Request Details
Add default min/max values based upon register parameters
Author: | Ryan Herbst [email protected] |
Date: | Thu Sep 10 15:49:06 2020 -0700 |
Pull: | #731 (60 additions, 11 deletions, 2 files changed) |
Branch: | slaclab/ESCRYODET-722 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-722 |
Labels: | enhancement |
Notes:
This PR adds a default min/max value for Remote variables. The min and max values are computed based upon the register bit size parameters. The user can still provide min and max values that are more constrained.
This feature already exists in Rogue Version 5. This PR adds this to a incremental release in Rogue version 4.
Minor Release v5.3.0
Pull Requests Since v5.2.3
Bug
- #725 - Fix exception throw and setup default range checking
Enhancement
- #719 - Add support for list variables in both Local and Remote variables
- #726 - Add stream RateDrop module
- #722 - Changes from Bruce's fork
- #727 - Fix data rx module
- #728 - Simplify data process device
Unlabeled
- #721 - Update anaconda.rst
- #720 - Update anaconda.rst
- #724 - No python build fix
- #723 - Fix error w/ removing expired transactions.
Pull Request Details
Add support for list variables in both Local and Remote variables
Author: | Ryan Herbst [email protected] |
Date: | Thu Aug 13 21:20:22 2020 -0700 |
Pull: | #719 (1679 additions, 755 deletions, 25 files changed) |
Branch: | slaclab/list_var |
Issues: | #719 |
Labels: | enhancement |
Notes:
This PR adds support for lists contained in variables. This was partially supported previously in LocalVariables but not supported in RemoteVariables.
With this PR each element of the list is processed using the disp attributes independently for both Local and Remote variables.
A list based remote variable can be created by adding the following three attributes during the remote variable creation:
numValues: the number of values in the list
valueBits: the number of bits for each value
valueStride: the spacing between each of the variables.the bitOffset and bitSize attributes are still used. they must only contain one value each, as sparse registers are not support when using list variables. The bitSize must be equal to the numValues * valueStride.
Values set and get can be used with an entire list through the classic set(), get(), value(), getDisp(), valueDisp, setDisp() calls. Individual values in the list can be set by adding the index=n arg to the above calls. This new arg is also passed through the set and get calls in a LinkedVariable if the user wishes to support it.
Calling set() and get() without index results in a read/write of the full block range. Adding index= limits the read/write to the memory range being accessed.
The config file also supports sliced assignments:
ListVar[1:2] = [10]
ListVar[1] = 10
ListVar[1:5] = [1,2,3,4]List variable support is also included in the c++ layer access APIs.
Update anaconda.rst
Author: | Larry Ruckman [email protected] |
Date: | Wed Aug 12 15:28:00 2020 -0700 |
Pull: | #720 (2 additions, 2 deletions, 1 files changed) |
Branch: | slaclab/conda-doc-update |
Issues: | #720 |
Notes:
Description
- Updating the conda install instructions for a specific released version of Rogue
Update anaconda.rst
Author: | Ryan Herbst [email protected] |
Date: | Wed Aug 12 21:39:58 2020 -0700 |
Pull: | #721 (2 additions, 2 deletions, 1 files changed) |
Branch: | slaclab/conda-version-update |
Issues: | #721 |
Notes:
Description
- Updating conda install script instructions
- From
conda 4.5.11
toconda 4.8.3
Changes from Bruce's fork
Author: | Ryan Herbst [email protected] |
Date: | Thu Aug 13 10:46:35 2020 -0700 |
Pull: | #722 (39 additions, 8 deletions, 6 files changed) |
Branch: | slaclab/bruce_hill |
Issues: | #722 |
Labels: | enhancement |
Notes:
Fix error w/ removing expired transactions.
Author: | Ryan Herbst [email protected] |
Date: | Mon Aug 24 16:37:48 2020 -0700 |
Pull: | #723 (0 additions, 1 deletions, 1 files changed) |
Branch: | bhill-slac/fix-expired-transaction-cleanup |
Issues: | #723 |
Notes:
Got a core dump of a rogue crash and traced it to this error when removing expired transactions.
Not sure if this is the only bug in https://jira.slac.stanford.edu/projects/ESCLINK/issues/ESCLINK-37?filter=allopenissues
but it's certainly causing some of the crashes.
No python build fix
Author: | Ryan Herbst [email protected] |
Date: | Mon Aug 24 20:00:39 2020 -0700 |
Pull: | #724 (1 additions, 0 deletions, 1 files changed) |
Branch: | bhill-slac/no-python-build-fix |
Issues: | #724 |
Notes:
Needed for NO_PYTHON build.
Fix exception throw and setup default range checking
Author: | Ryan Herbst [email protected] |
Date: | Tue Aug 25 10:10:19 2020 -0700 |
Pull: | #725 (84 additions, 22 deletions, 6 files changed) |
Branch: | slaclab/err_throw |
Issues: | #725 |
Labels: | bug |
Notes:
Restore variable exception throw and create default min/max values for remote variables.
Add stream RateDrop module
Author: | Ryan Herbst [email protected] |
Date: | Tue Aug 25 11:46:42 2020 -0700 |
Pull: | #726 (189 additions, 7 deletions, 5 files changed) |
Branch: | slaclab/rate_drop |
Issues: | #726 |
Labels: | enhancement |
Notes:
This modules will drop frames at a defined rate.
Fix data rx module
Author: | Ryan Herbst [email protected] |
Date: | Wed Aug 26 11:06:53 2020 -0700 |
Pull: | #727 (13 additions, 21 deletions, 1 files changed) |
Branch: | slaclab/data_rx |
Labels: | enhancement |
Notes:
Remote rate control flags as this should be done with the RateDrop modules. Add flag to allow the user to process the data using a byte array instead of numpy.
Simplify data process device
Author: | Ryan Herbst [email protected] |
Date: | Wed Aug 26 11:33:55 2020 -0700 |
Pull: | #728 (11 additions, 15 deletions, 1 files changed) |
Branch: | slaclab/data_rx |
Labels: | enhancement |
Notes:
Patch Release v5.2.3
Pull Requests Since v5.2.2
Pull Request Details
Patch Release v5.2.2
Pull Requests Since v5.2.1
Bug
- #718 - Fix fast copy pointer offset adjust
Unlabeled
- #717 - Change some of the Batcher's messages from warning to error
Pull Request Details
Change some of the Batcher's messages from warning to error
Author: | Ryan Herbst [email protected] |
Date: | Fri Jul 24 10:07:56 2020 -0700 |
Pull: | #717 (5 additions, 5 deletions, 1 files changed) |
Branch: | slaclab/batch-print-msg |
Issues: | #717 |
Notes:
Description
- The user should know immediately if these events happen
Fix fast copy pointer offset adjust
Author: | Ryan Herbst [email protected] |
Date: | Fri Aug 7 13:27:00 2020 -0700 |
Pull: | #718 (88 additions, 1 deletions, 2 files changed) |
Branch: | slaclab/fast_offset |
Issues: | #718 |
Labels: | bug |
Notes:
The fast copy pointer location was not being adjusted when the variable offset was shifted.
Patch Release v5.2.1
Pull Requests Since v5.2.0
Bug
Enhancement
- #715 - Auto expand small lists
Unlabeled
- #714 - Change Variable interface to throw an exception if the wrong access function is called
Pull Request Details
Fix memory leak in epics3 interface
Author: | Ryan Herbst [email protected] |
Date: | Wed Jul 22 10:51:25 2020 -0700 |
Pull: | #713 (37 additions, 9 deletions, 4 files changed) |
Branch: | slaclab/ESCRYODET-640-pre |
Issues: | #712, #713 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-640-pre |
Labels: | bug |
Notes:
This is the pre-release version of #712
Change Variable interface to throw an exception if the wrong access function is called
Author: | Ryan Herbst [email protected] |
Date: | Wed Jul 22 11:52:50 2020 -0700 |
Pull: | #714 (17 additions, 17 deletions, 1 files changed) |
Branch: | slaclab/var_cleanup |
Notes:
Auto expand small lists
Author: | Larry Ruckman [email protected] |
Date: | Thu Jul 23 09:09:08 2020 -0700 |
Pull: | #715 (24 additions, 7 deletions, 3 files changed) |
Branch: | slaclab/ESROGUE-463 |
Issues: | #715 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-463 |
Labels: | enhancement |
Notes:
This adds are arg to the VariableList widget 'maxListExpand' which defines the max number of entries a list can have and be auto expanded. This arg is also available at the runPyDM() method.
Fix cmake template for external builds
Author: | Ryan Herbst [email protected] |
Date: | Thu Jul 23 09:41:08 2020 -0700 |
Pull: | #716 (6 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/ext_cmake_fix |
Labels: | bug |
Notes:
Patch Release v4.11.2
Pull Requests Since v4.11.1
Bug
- #712 - Fix memory leak in epics3 valueSet call
Pull Request Details
Fix memory leak in epics3 valueSet call
Author: | Ryan Herbst [email protected] |
Date: | Wed Jul 22 10:45:13 2020 -0700 |
Pull: | #712 (67 additions, 40 deletions, 6 files changed) |
Branch: | slaclab/ESCRYODET-640 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-640 |
Labels: | bug |
Notes:
It turns out there was a mistake in the epics3 valueSet call related to setting array values. This was causing a memory leak.
Minor Release v5.2.0
Pull Requests Since v5.1.1
Bug
- #706 - Ensure varUpdate gets called when var->set() is called
Unlabeled
- #707 - Adding tests/test_enum.py
- #710 - Update build.rst
- #709 - Use PyDMLabels for read only variables
- #708 - Fix incorrect format string specifier
Pull Request Details
Ensure varUpdate gets called when var->set() is called
Author: | Ryan Herbst [email protected] |
Date: | Mon Jul 20 18:37:39 2020 -0700 |
Pull: | #706 (33 additions, 12 deletions, 2 files changed) |
Branch: | slaclab/ESROGUE-461 |
Issues: | #706 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-461 |
Labels: | bug |
Notes:
varUpdate was not being called properly when forceCheckEach was set.
Adding tests/test_enum.py
Author: | Ryan Herbst [email protected] |
Date: | Tue Jul 21 09:14:09 2020 -0700 |
Pull: | #707 (108 additions, 0 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-432 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-432 |
Notes:
Description
- test script for variable
enum
to check for corner cases and improve overall code coverage
Fix incorrect format string specifier
Author: | Ryan Herbst [email protected] |
Date: | Tue Jul 21 10:50:36 2020 -0700 |
Pull: | #708 (2 additions, 2 deletions, 1 files changed) |
Branch: | slaclab/format-str |
Issues: | #708 |
Notes:
Fixes the following warnings when compiling on a Mac:
/Users/bareese/rogue/src/rogue/interfaces/memory/Variable.cpp:497:75: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat] printf("\nVariable c++ get: Read %li times in %f seconds. Rate = %f\n",count,durr,rate); ~~~ ^~~~~ %llu /Users/bareese/rogue/src/rogue/interfaces/memory/Variable.cpp:509:76: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat] printf("\nVariable c++ set: Wrote %li times in %f seconds. Rate = %f\n",count,durr,rate); ~~~ ^~~~~ %llu
Use PyDMLabels for read only variables
Author: | Larry Ruckman [email protected] |
Date: | Tue Jul 21 13:31:24 2020 -0700 |
Pull: | #709 (14 additions, 8 deletions, 4 files changed) |
Branch: | slaclab/ESROGUE-457 |
Issues: | #709 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-457 |
Notes:
Update build.rst
Author: | Ryan Herbst [email protected] |
Date: | Tue Jul 21 12:49:01 2020 -0700 |
Pull: | #710 (8 additions, 23 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-462 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-462 |
Notes:
Description
- Updating instructions to use the
pip_requirements.txt
file
- so we don't need to maintain the pip requirements in multiple locations
- Added
python3-pyqt5.qtsvg
to Ubuntu
- Required for PyDM GUI