Release 3.6.0
Pull Requests
- #385 - Add remote zmq client to replace Pyro4 library
- #420 - Update toFrame and fromFrame to be buffer boundary aware
- #400 - Make pickle operation recursive, Use JSON for ZMQ Interface
- #392 - Add gui client to pyrogue.gui module
- #417 - Features and Enhancements from HPS development
- #391 - Allow sync read/write operation in EPICS interface
- #411 - Check for error when extracting python values
- #418 - Add no epics build for anaconda
- #413 - Add generic data reader class
- #406 - Allow user to specify typeStr for Local Variables
- #386 - Add GUI pop up menu to enable read/write methods on variables on devices
- #401 - Remove unnecessary ZMQ timeout setting
- #390 - Add ability to stop stream and memory zmq bridges
- #393 - Add option to restart/exit server
- #408 - Handle File Write Errors With Log Error Instead Of Exception
- #399 - Fix unknown types in RSSI GUI
- #388 - Fixes for Atlas use. Adds CMake flag to link a static librogue-core
- #384 - Add configurable timeout to shared memory functions.
- #419 - Properly handle variables that return None in dataToYaml
- #402 - Support 64-bit file sizes
- #414 - Store raw VariableValue dictionary in data files
- #389 - Check root level name in getPath
- #395 - Increase ZMQ timeout values to 1 second
- #382 - Fix file overflow size comparison
- #396 - Assert notify_all while holding conditional lock
- #415 - Enable find for VirtualNode
- #409 - Fix network connect errors
- #394 - Enable zmq server by default
- #416 - Throw exception when attempting to start a root that is already running.
- #422 - Fix poll enable update for variables
- #412 - Add txSize units to PRBS generator
- #397 - Fix length field init in PRBS transmitter
Pull Request Details
Add remote zmq client to replace Pyro4 library
Author: | Ryan Herbst [email protected] |
Date: | Tue May 28 11:19:36 2019 -0700 |
Pull: | #385 (1283 additions, 1107 deletions, 42 files changed) |
Branch: | slaclab/zmq_client |
Notes:
To enable the zmq server:
root.start(zmqPort=xxxx)
Two ports will be used, the passed port and the one above the passed port. If 9000 is passed, ports 9000 and 9001 will be used.
To start the zmq client:
client = pyrogue.VIrtualClient(addr="localhost",port=xxxx)
client.root is the root of the remote pyrogue instance and can be used in scripts or passed to the GUI.
This PR also makes ZMQ and BZIP mandatory libraries and removed the ApiWrapper and shared memory control interfaces.
Update toFrame and fromFrame to be buffer boundary aware
Author: | Ryan Herbst [email protected] |
Date: | Fri Jun 28 18:59:41 2019 -0700 |
Pull: | #420 (161 additions, 77 deletions, 17 files changed) |
Branch: | slaclab/better_copy |
Notes:
This PR eliminates all instances of std::copy and replaces them with std::memcpy. The toFrame and fromFrame methods can now handle bulk data across buffer boundaries. copyFrame has been added as a help function of deal with data copies between frames.
Make pickle operation recursive, Use JSON for ZMQ Interface
Author: | Ryan Herbst [email protected] |
Date: | Fri Jun 7 11:24:07 2019 -0700 |
Pull: | #400 (135 additions, 101 deletions, 10 files changed) |
Branch: | slaclab/virt_client |
Notes:
This change makes the node pickle operation recursive, allowing the full tree to be picked in a single operation.
Also addresses a bug where some sub-nodes were not being setup properly and causing errors when right clicking "ReadDevice" on the GUI.
Add gui client to pyrogue.gui module
Author: | Ryan Herbst [email protected] |
Date: | Wed May 29 08:31:07 2019 -0700 |
Pull: | #392 (92 additions, 11 deletions, 5 files changed) |
Branch: | slaclab/gui_module |
Notes:
A gui client can now be started with:
python -m pyrogue.gui
or
python -m pyrogue.gui --host=somehost --port=9099
Also fixes some bugs in the virtual client and adds server test scripts.
Features and Enhancements from HPS development
Author: | Ryan Herbst [email protected] |
Date: | Wed Jun 26 09:44:55 2019 -0700 |
Pull: | #417 (63 additions, 30 deletions, 5 files changed) |
Branch: | slaclab/hps-dev |
Notes:
This PR is not ready to merge. It exists so we can keep a handle on the HPS divergence from mainline rogue.
- Add
Device.setPollInterval()
to change the polling interval of several variables at once- Remove calls to unimplemented
Model.mask
functionMemoryDevice
now actually works.
- Needs some work to make it thread safe over an entire memory load- The
root
updateThread has exception handling logic so it doesn't crash- Increase the
AxiStreamDma
runThread
timeout
Allow sync read/write operation in EPICS interface
Author: | Ryan Herbst [email protected] |
Date: | Wed May 29 08:30:49 2019 -0700 |
Pull: | #391 (69 additions, 22 deletions, 4 files changed) |
Branch: | slaclab/ESROGUE-360 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-360 |
Notes:
Starting the EPICS interface with threadCount=0 will enable sync read/write operation.
EPICS will run in sync mode by default.
Check for error when extracting python values
Author: | Ryan Herbst [email protected] |
Date: | Tue Jun 18 21:50:21 2019 -0600 |
Pull: | #411 (60 additions, 30 deletions, 2 files changed) |
Branch: | slaclab/file_overflow_pre |
Notes:
Merge changes into pre-release.
Add no epics build for anaconda
Author: | Ryan Herbst [email protected] |
Date: | Wed Jun 26 00:57:05 2019 -0700 |
Pull: | #418 (67 additions, 3 deletions, 5 files changed) |
Branch: | slaclab/no_epics_conda |
Notes:
Add generic data reader class
Author: | Ryan Herbst [email protected] |
Date: | Tue Jun 18 21:50:55 2019 -0600 |
Pull: | #413 (66 additions, 0 deletions, 1 files changed) |
Branch: | slaclab/data_read |
Notes:
Allows for non streaming read of Rogue data files. Two new classes are created:
pyrogue.utilties.fileio.FileReader
pyrogue.utilties.fileio.FileDataFileReader.next reads the next frame from the file returning a structure containing header and data. A config channel can be passed and the configuration will be cached in the FileReader structure for access.
To read a file:
fread = pyrogue.utilities.fileio.Filereader('data.dat',configChan=100)
head = fread.next
np_data = numpy.frombuffer(head.data,numpy.uint32)
Allow user to specify typeStr for Local Variables
Author: | Ryan Herbst [email protected] |
Date: | Tue Jun 18 21:48:43 2019 -0600 |
Pull: | #406 (42 additions, 19 deletions, 4 files changed) |
Branch: | slaclab/user_type_pr |
Notes:
Add GUI pop up menu to enable read/write methods on variables on devices
Author: | Ryan Herbst [email protected] |
Date: | Tue May 21 19:19:34 2019 -0700 |
Pull: | #386 (52 additions, 3 deletions, 2 files changed) |
Branch: | slaclab/read_now |
Notes:
Right clicking on any variable box will provide a popup menu which will enable the user to read or write the specific variable or the entire containing device. Device read and writes are not recursive. The read variable and write variable options are dependent on the variable mode.
Remove unnecessary ZMQ timeout setting
Author: | Ryan Herbst [email protected] |
Date: | Fri Jun 7 11:23:38 2019 -0700 |
Pull: | #401 (10 additions, 36 deletions, 7 files changed) |
Branch: | slaclab/zmq_to |
Notes:
It is not necessary to have a timeout setting on the zmq sockets serviced by threads. Closing the socket will allow the thread to exit.
Add ability to stop stream and memory zmq bridges
Author: | Ryan Herbst [email protected] |
Date: | Wed May 22 18:25:05 2019 -0700 |
Pull: | #390 (36 additions, 8 deletions, 8 files changed) |
Branch: | slaclab/hps-dev |
Notes:
Also includes a bug fix in the UDP/RSSI wrapper to avoid a get refresh when the device is not in a tree.
Add option to restart/exit server
Author: | Ryan Herbst [email protected] |
Date: | Wed May 29 13:16:33 2019 -0700 |
Pull: | #393 (39 additions, 2 deletions, 4 files changed) |
Branch: | slaclab/server_restart |
Notes:
Also fixes client connection so that it will auto repair when the server restarts.
Handle File Write Errors With Log Error Instead Of Exception
Author: | Ryan Herbst [email protected] |
Date: | Tue Jun 18 21:49:11 2019 -0600 |
Pull: | #408 (20 additions, 4 deletions, 2 files changed) |
Branch: | slaclab/file_error_pr |
Notes:
Fix unknown types in RSSI GUI
Author: | Ryan Herbst [email protected] |
Date: | Wed Jun 5 12:34:15 2019 -0700 |
Pull: | #399 (23 additions, 0 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-356-new |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-356-new |
Notes:
Fixes for Atlas use. Adds CMake flag to link a static librogue-core
Author: | Ryan Herbst [email protected] |
Date: | Tue May 21 19:19:03 2019 -0700 |
Pull: | #388 (17 additions, 3 deletions, 4 files changed) |
Branch: | slaclab/atlas-fixes |
Notes:
Description
Fixes ESROGUE-357, ESROGUE-355. adds CMake flag to link a static librogue-core
JIRA
Add configurable timeout to shared memory functions.
Author: | Ryan Herbst [email protected] |
Date: | Tue May 7 08:48:51 2019 -0700 |
Pull: | #384 (10 additions, 10 deletions, 1 files changed) |
Branch: | slaclab/hps-dev-rth |
Notes:
Properly handle variables that return None in dataToYaml
Author: | Ryan Herbst [email protected] |
Date: | Wed Jun 26 11:02:03 2019 -0700 |
Pull: | #419 (9 additions, 8 deletions, 1 files changed) |
Branch: | slaclab/yaml_error |
Notes:
This also moves the exception catches to a place where the error will make more sense.
Support 64-bit file sizes
Author: | Ryan Herbst [email protected] |
Date: | Tue Jun 18 21:44:37 2019 -0600 |
Pull: | #402 (8 additions, 8 deletions, 2 files changed) |
Branch: | slaclab/file_64-bit |
Notes:
Store raw VariableValue dictionary in data files
Author: | Ryan Herbst [email protected] |
Date: | Mon Jun 24 15:07:08 2019 -0700 |
Pull: | #414 (7 additions, 6 deletions, 1 files changed) |
Branch: | slaclab/data_store |
Notes:
This PR will change the config stream generation so that the entire contents of VariableValue are stored in the encoded yaml.
Check root level name in getPath
Author: | Ryan Herbst [email protected] |
Date: | Wed May 22 09:14:26 2019 -0700 |
Pull: | #389 (10 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/root_match |
Notes:
The previous code did not properly verify that the top level name in the path matched the root name.
Increase ZMQ timeout values to 1 second
Author: | Ryan Herbst [email protected] |
Date: | Thu May 30 16:18:28 2019 -0700 |
Pull: | #395 (5 additions, 5 deletions, 5 files changed) |
Branch: | slaclab/zmq_tout |
Notes:
This may reduce the load on the RCEs. Timeout is only there so we are able to stop the threads.
Fix file overflow size comparison
Author: | Ryan Herbst [email protected] |
Date: | Thu May 16 19:28:27 2019 -0700 |
Pull: | #382 (6 additions, 4 deletions, 2 files changed) |
Branch: | slaclab/file_writer |
Notes:
Assert notify_all while holding conditional lock
Author: | Ryan Herbst [email protected] |
Date: | Thu May 30 16:18:43 2019 -0700 |
Pull: | #396 (0 additions, 9 deletions, 6 files changed) |
Branch: | slaclab/queue_lock |
Notes:
There is some evidence that calling notify_all when not holding the conditional lock can result in the notify being missed.
Enable find for VirtualNode
Author: | Ryan Herbst [email protected] |
Date: | Mon Jun 24 15:07:28 2019 -0700 |
Pull: | #415 (1 additions, 4 deletions, 2 files changed) |
Branch: | slaclab/virt_find |
Notes:
Fix network connect errors
Author: | Ryan Herbst [email protected] |
Date: | Sat Jun 8 23:14:11 2019 -0700 |
Pull: | #409 (2 additions, 2 deletions, 2 files changed) |
Branch: | slaclab/fix_messages |
Notes:
Enable zmq server by default
Author: | Ryan Herbst [email protected] |
Date: | Thu May 30 16:21:03 2019 -0700 |
Pull: | #394 (2 additions, 2 deletions, 2 files changed) |
Branch: | slaclab/zmq_enable |
Notes:
Throw exception when attempting to start a root that is already running.
Author: | Ryan Herbst [email protected] |
Date: | Wed Jun 26 09:44:04 2019 -0700 |
Pull: | #416 (3 additions, 0 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-374 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-374 |
Notes:
Fix poll enable update for variables
Author: | Ryan Herbst [email protected] |
Date: | Fri Jun 28 22:47:41 2019 -0700 |
Pull: | #422 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/hps-dev |
Notes:
Add txSize units to PRBS generator
Author: | Ryan Herbst [email protected] |
Date: | Mon Jun 10 21:22:59 2019 -0600 |
Pull: | #412 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-369 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-369 |
Notes:
Fix length field init in PRBS transmitter
Author: | Larry Ruckman [email protected] |
Date: | Fri May 31 11:40:49 2019 -0700 |
Pull: | #397 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/ESROGUE-364 |
Jira: | https://jira.slac.stanford.edu/issues/ESROGUE-364 |
Notes: