Skip to content

Releases: slaclab/rogue

Patch Release v6.6.2

13 Aug 23:03
ef7f866

Choose a tag to compare

Pull Requests Since v6.6.1

Enhancement

  1. #1073 - Restore proper ruckus branch

Unlabeled

  1. #1078 - conda-recipe update
  2. #1076 - Update conda-recipe/README.md
  3. #1077 - Migration from petalinux toolchain to Yocto
  4. #1074 - Change print() debug to log().

Pull Request Details

Restore proper ruckus branch

Author: Ryan Herbst [email protected]
Date: Tue May 13 19:40:01 2025 -0700
Pull: #1073 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/gh_docker
Labels: enhancement

Notes:

Restore branch reference to ruckus workflow back to main.

Won't pass CI until Ruckus is released.


Change print() debug to log().

Author: Benjamin Reese [email protected]
Date: Tue Jun 3 11:52:00 2025 -0700
Pull: #1074 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/log-fix

Notes:

Description

This was left over from some debugging work long ago. We shouldn't have print statements in the released code.


Update conda-recipe/README.md

Author: Larry Ruckman [email protected]
Date: Fri Jul 11 11:28:58 2025 -0700
Pull: #1076 (57 additions, 6 deletions, 1 files changed)
Branch: slaclab/conda-recipe_README-update

Notes:

Description

  • README file was out of date (e.g. still using -c pydm-tag
  • Add another section of my notes when you want to build the .conda package file and test it locally before having Github CI try to do it

Migration from petalinux toolchain to Yocto

Author: Larry Ruckman [email protected]
Date: Fri Jul 11 10:56:16 2025 -0700
Pull: #1077 (30 additions, 29 deletions, 2 files changed)
Branch: slaclab/yocto-doc

Notes:

Description

  • AMD is depreciating petalinux toolchain in 2025
  • These changes migrate to a purely Yocto workflow

conda-recipe update

Author: Larry Ruckman [email protected]
Date: Wed Aug 13 15:33:18 2025 -0700
Pull: #1078 (50 additions, 717 deletions, 3 files changed)
Branch: slaclab/remove-p4p-conda-requirement

Notes:

Description

  • updating conda-receipe for additional python version (3.9, 3.10, 3.11, 3.12)
  • Removing p4p as a conda deps package
    • Recommend using pip install within conda env instead

v5.8.1 - Anaconda Release for older rogue

02 Oct 22:53

Choose a tag to compare

v3.4.1 - Anaconda Release for older rogue

02 Oct 22:56

Choose a tag to compare

Patch Release v6.6.1

14 May 02:11
114fb18

Choose a tag to compare

Pull Requests Since v6.6.0

Enhancement

  1. #1072 - Update docker to push to gihub
  2. #1070 - Add warning for large timeouts

Unlabeled

  1. #1068 - Update _Virtual.py

Pull Request Details

Update _Virtual.py

Author: Larry Ruckman [email protected]
Date: Thu May 1 06:36:36 2025 -0700
Pull: #1068 (10 additions, 1 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • It not typical the cause that you need to "close the PyDM Window" to resolve the exception
  • Add more possible causes of why this exception might have happened

Add warning for large timeouts

Author: Larry Ruckman [email protected]
Date: Thu May 1 06:49:11 2025 -0700
Pull: #1070 (4 additions, 0 deletions, 1 files changed)
Branch: slaclab/ESROGUE-691
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-691
Labels: enhancement

Notes:

Add a warning if the user passes a large timeout value.


Update docker to push to gihub

Author: Ryan Herbst [email protected]
Date: Tue May 13 18:55:25 2025 -0700
Pull: #1072 (18 additions, 22 deletions, 2 files changed)
Branch: slaclab/gh_docker
Labels: enhancement

Notes:

Update docker to push to gihub.


Patch Release v4.11.12

30 Apr 22:29
d2f2377

Choose a tag to compare

Pull Requests Since v4.11.11

Bug

  1. #1069 - collections.Iterable -> collections.abc.Iterable

Pull Request Details

collections.Iterable -> collections.abc.Iterable

Author: Ryan Herbst [email protected]
Date: Wed Apr 30 15:22:32 2025 -0700
Pull: #1069 (162 additions, 192 deletions, 8 files changed)
Branch: slaclab/v4.11.11_Iterablefix
Labels: bug

Notes:

Description

Trivial bug fix for using rogue v4 in python 3.10.

Details

in the new SMuRF dockers based on ubuntu22.04 w/ python 3.10 instead of 3.8 , rogue crashes with this error ;

Run docker container exec server \
Rogue/pyrogue version v4.11.11. https://github.com/slaclab/rogue
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/src/pysmurf/python/pysmurf/core/devices/__init__.py", line 20, in <module>
    from pysmurf.core.devices._SmurfProcessor import SmurfProcessor
  File "/usr/local/src/pysmurf/python/pysmurf/core/devices/_SmurfProcessor.py", line 19, in <module>
    import pyrogue
  File "/usr/local/src/rogue/python/pyrogue/__init__.py", line 19, in <module>
    from pyrogue._Variable  import *
  File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 23, in <module>
    from collections import Iterable
ImportError: cannot import name 'Iterable' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

it seems they changed an alias from python 3.8->3.10 ; https://stackoverflow.com/questions/72032032/importerror-cannot-import-name-iterable-from-collections-in-python.


Minor Release v6.6.0

11 Apr 01:59
447b2bf

Choose a tag to compare

Pull Requests Since v6.5.0

Bug

  1. #1064 - Update operation of local variables
  2. #1066 - Don't allow default set to RO register to result in stale state

Enhancement

  1. #1049 - ESROGUE-699 - Support (u)int8 and (u)int16 Block numpy array access
  2. #1062 - updating UdpRssiPack to updating the RSSI configuration before the RSSI connection is started
  3. #1064 - Update operation of local variables
  4. #1067 - Add PRBS software transmit rate limit
  5. #1060 - Disable verify if overlapping variable is RO, WO or has verify disabled
  6. #1065 - Disable append mode in file writer

Unlabeled

  1. #1061 - Documentation moved from anaconda to miniforge + "small build" CI updates
  2. #1059 - Rogue debug UI improvements
  3. #1056 - adding instructions for installing rogue with miniforge
  4. #1050 - Documentation and CI Updates
  5. #1058 - ESROGUE-701 - Don't Use Spinboxes In DeviceTree GUI Widget
  6. #1063 - Sync'ing up headers to latest aes-stream-driver (6.6.2)
  7. #1055 - Allow array variables to be set from yaml by a dict of index/value pairs
  8. #1048 - rim:Emulator - renaming MAP_TYPE to EMULATE_MAP_TYPE
  9. #1052 - Update README.md to include DOE Code Reference

Pull Request Details

rim:Emulator - renaming MAP_TYPE to EMULATE_MAP_TYPE

Author: Larry Ruckman [email protected]
Date: Thu Mar 13 08:33:43 2025 -0700
Pull: #1048 (3 additions, 3 deletions, 2 files changed)
Branch: slaclab/MAP_TYPE-patch

Notes:

Description

  • a conflicting definition exists in mman-linux.h where #define MAP_TYPE 0x0f
#define MAP_TYPE 0x0f /* Mask for type of mapping. */

ESROGUE-699 - Support (u)int8 and (u)int16 Block numpy array access

Author: Ryan Herbst [email protected]
Date: Tue Apr 8 14:14:40 2025 -0700
Pull: #1049 (257 additions, 134 deletions, 4 files changed)
Branch: slaclab/block-int8-16
Labels: enhancement

Notes:

Description

This change allows Block.set() to be called with uint8, uint16, int8 and int16 numpy arrays.
Previously only 32 and 64 bit integer arrays were supported.

It also changes Block.get() to return a numpy array with a type that is sized to the underlying Variable.valueBits size.

valueBits numpy type
1-8 (u)int8
9-16 (u)int16
17-32 (u)int32
>32 (u)int64

JIRA

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


Documentation and CI Updates

Author: Larry Ruckman [email protected]
Date: Thu Mar 13 07:13:39 2025 -0700
Pull: #1050 (49 additions, 34 deletions, 4 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Updating anaconda install instructions for rogue v6.5.0 (latest release)
  • Updating petalinux install instructions for rogue v6.5.0 (latest release)
  • Updating build from source instructions for Ubuntu 2022.04 and adding Rocky 9 install packages
  • Update rogue_ci.yml to use max available CPU cores when building source code

Update README.md to include DOE Code Reference

Author: Larry Ruckman [email protected]
Date: Mon Mar 24 11:49:31 2025 -0700
Pull: #1052 (3 additions, 1 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Good practice to cite this reference in the README

Allow array variables to be set from yaml by a dict of index/value pairs

Author: Larry Ruckman [email protected]
Date: Fri Apr 4 09:11:07 2025 -0700
Pull: #1055 (6 additions, 1 deletions, 1 files changed)
Branch: slaclab/sparse-array-var-yml
Issues: #1055

Notes:

Description

Previously, when setting an array Variable from YAML, it had to contain a complete list of all array values.

 ArrayVariable: '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]'

Now the array can be configured sparsely by specifying a set of index/value pairs for the array

ArrrayVariable: 
  0: 100
  10: 200
  31: 300

adding instructions for installing rogue with miniforge

Author: Benjamin Reese [email protected]
Date: Mon Mar 31 11:17:18 2025 -0700
Pull: #1056 (103 additions, 1 deletions, 2 files changed)
Branch: slaclab/Miniforge3

Notes:

Description

  • miniforge is a light weight alternative to anaconda
    image

ESROGUE-701 - Don't Use Spinboxes In DeviceTree GUI Widget

Author: Larry Ruckman [email protected]
Date: Mon Apr 7 15:56:22 2025 -0700
Pull: #1058 (1 additions, 12 deletions, 1 files changed)
Branch: slaclab/esrogue-701-no-spinbox
Jira: https://jira.slac.stanford.edu/issues/esrogue-701-no-spinbox

Notes:

Description

  • We never want to use spinboxes in the PyDM debug tree

Rogue debug UI improvements

Author: Larry Ruckman [email protected]
Date: Mon Mar 31 13:10:09 2025 -0700
Pull: #1059 (100 additions, 24 deletions, 1 files changed)
Branch: slaclab/pr-rogue-ui-improvements
Issues: #1054

Notes:

Description

  • Added an "Offset:BitOffset" column to the debug UI displaying register offsets relative to their parent
  • Added actions to the context menu to allow toggling columns, copying text for current item, and copying the path of the selected row.
  • Slight cleanup to the debug_tree.py code

Resubmitted #1054 as a branch so CI will actually trigger.


Disable verify if overlapping variable is RO, WO or has verify disabled

Author: Larry Ruckman [email protected]
Date: Mon Apr 7 12:52:32 2025 -0700
Pull: #1060 (20 additions, 0 deletions, 2 files changed)
Branch: slaclab/verify_mask
Labels: enhancement

Notes:

Disable verify if overlapping variable is RO, WO or has verify disabled.


Documentation moved from anaconda to miniforge + "small build" CI updates

Author: Larry Ruckman [email protected]
Date: Wed Apr 2 09:46:47 2025 -0700
Pull: #1061 (41 additions, 149 deletions, 15 files changed)
Branch: slaclab/anaconda-depreciation

Notes:

Description

  • We're updating our instructions to use Miniforge instead of Anaconda, as it offers more flexible usage terms.
  • Migrating the "small build" CI from Ubuntu 20.04 to Ubuntu 24.04

updating UdpRssiPack to updating the RSSI configuration before the RSSI connection is started

Author: Ryan Herbst [email protected]
Date: Tue Apr 8 13:41:38 2025 -0700
Pull: #1062 (56 additions, 24 deletions, 1 files changed)
Branch: slaclab/ESROGUE-692-diff-approach
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-692-diff-approach
Labels: enhancement

Notes:

Description

  • Give the user the ability to tune the RSSI configuration before the RSSI connection is started
  • This is useful for debugging or supporting up to 256 segments at start of a connection for a "long latency" connection.

Example

            # Create the ETH interface @ IP Address = ip
            self.rudp[i] = pr.protocols.UdpRssiPack(
                name    = f'SwRudpClient[{i}]',
                host    = ip,
                port    = 8192+i,
                packVer = 2,
                jumbo   = False,
                defaults={'locMaxCumAck': 1}, # your custom override
            )

Sync'ing up headers to latest aes-stream-driver (6.6.2)

Author: Larry Ruckman [email protected]
Date: Mon Apr 7 13:04:57 2025 -0700
Pull: #1063 (6 additions, 6 deletions, 1 files changed)
Branch: slaclab/aes-stream-driver-header-update

Notes:

Description


Update operation of local variables

Author: Larry Ruckman [email protected]
Date: Wed Apr 9 18:15:11 2025 -0700
Pull: #1064 (42 additions, 35 deletions, 5 files changed)
Branch: ...
Read more

Minor Release v6.5.0

21 Feb 22:05
fdfef60

Choose a tag to compare

Pull Requests Since v6.4.4

Enhancement

  1. #1047 - Create helper class for setting up a remote command memory bridge
  2. #1045 - Add option for raw data file writes

Unlabeled

  1. #1040 - Re-synchronizing AxisDriver.h & DmaDriver.h
  2. #1046 - Update rogue_ci.yml to check for tabs
  3. #1043 - migrating CI from ubuntu-20.04 to ubuntu-24.04
  4. #1042 - Ci whitespace checker
  5. #1044 - Update _Fifo.py

Pull Request Details

Re-synchronizing AxisDriver.h & DmaDriver.h

Author: Larry Ruckman [email protected]
Date: Fri Jan 31 08:42:08 2025 -0800
Pull: #1040 (24 additions, 25 deletions, 2 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Synchronizing the copied include files from aes-stream-drivers
  • No behavioral changes made, only formatting

Ci whitespace checker

Author: Larry Ruckman [email protected]
Date: Sat Feb 15 08:22:44 2025 -0800
Pull: #1042 (7 additions, 0 deletions, 1 files changed)
Branch: slaclab/ci-whitespace-checker

Notes:

Description

  • This will prevent users from merging trailing white spaces in their pull requests

migrating CI from ubuntu-20.04 to ubuntu-24.04

Author: Larry Ruckman [email protected]
Date: Sat Feb 15 08:06:31 2025 -0800
Pull: #1043 (4 additions, 4 deletions, 2 files changed)
Branch: slaclab/github-ci/ubuntu-24.04

Notes:

Description


Update _Fifo.py

Author: Larry Ruckman [email protected]
Date: Sat Feb 15 07:57:08 2025 -0800
Pull: #1044 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Add '' default to description so it is optional

Add option for raw data file writes

Author: Larry Ruckman [email protected]
Date: Tue Feb 18 20:44:30 2025 -0800
Pull: #1045 (47 additions, 12 deletions, 4 files changed)
Branch: slaclab/raw_file
Labels: enhancement

Notes:

Add option for raw data file writes. This eliminates the need to create per-project custom raw writers which seem to be used in a number of projects.


Update rogue_ci.yml to check for tabs

Author: Larry Ruckman [email protected]
Date: Thu Feb 20 18:49:41 2025 -0800
Pull: #1046 (9 additions, 2 deletions, 2 files changed)
Branch: slaclab/team-never-tabs

Notes:

Description

  • Assert error in the workflow if there are tabs (instead of spaces)

Create helper class for setting up a remote command memory bridge

Author: Larry Ruckman [email protected]
Date: Thu Feb 20 22:20:16 2025 -0800
Pull: #1047 (260 additions, 2 deletions, 6 files changed)
Branch: slaclab/rem_cmd
Labels: enhancement

Notes:

This PR creates the OsCommandMemorySlave class which enables the creation of remote operating system based transactions over a memory interface.

Examples of its usage are included here in the examples/_OsMemSlave and associated examples/_OsMemMaster classes.

Translation between the bytes transferred over the memory interface and real python variables used in the operating system classes are handled using the Model class similar to their usage in Remote Variables.


Patch Release v6.4.4

28 Jan 01:08
056ac32

Choose a tag to compare

Pull Requests Since v6.4.3

Unlabeled

  1. #1037 - Fix some clang-tidy warnings
  2. #1032 - Update petalinux.rst
  3. #1039 - Bug fix _DataReceiver.py
  4. #1038 - Update conf.py
  5. #1034 - Use a better compare for DataReceiver.RxEnable
  6. #1033 - Update LICENSE.txt

Pull Request Details

Update petalinux.rst

Author: Larry Ruckman [email protected]
Date: Fri Jan 24 16:25:59 2025 -0800
Pull: #1032 (23 additions, 16 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Updating the documentation for Petalinux 2024.2

Update LICENSE.txt

Author: Larry Ruckman [email protected]
Date: Mon Jan 6 14:29:49 2025 -0800
Pull: #1033 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-2

Notes:

Description

  • Updating for CY2025

Use a better compare for DataReceiver.RxEnable

Author: Larry Ruckman [email protected]
Date: Sat Jan 25 11:44:59 2025 -0800
Pull: #1034 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/bool-fix

Notes:

Description

This fixes a quirk where setting DataReceiver.RxEnable.set(0) would enable frame reception. RxEnable expects a boolean, but will accept an type and then exhibit this behavior. The key is to compare not RxEnable.value() instead of RxEnable.value() is False.


Fix some clang-tidy warnings

Author: Larry Ruckman [email protected]
Date: Tue Jan 14 16:06:50 2025 -0800
Pull: #1037 (57 additions, 57 deletions, 13 files changed)
Branch: slaclab/pr-some-cleanup

Notes:

Description

Ok, let's try this again...

Some cleanup of warnings reported by clang-tidy. Most are relatively small performance "problems" involving std::string being passed by value.

It did find a buggy sizeof in src/rogue/protocols/xilinx/XvcConnection.cpp though.


Update conf.py

Author: Larry Ruckman [email protected]
Date: Sat Jan 25 10:03:17 2025 -0800
Pull: #1038 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-2

Notes:

Description

  • Updating copyright for 2025

Bug fix _DataReceiver.py

Author: Larry Ruckman [email protected]
Date: Mon Jan 27 15:35:41 2025 -0800
Pull: #1039 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1
Issues: #1023

Notes:

Description

  • Accidentally set to "RO" in #1023
  • The intent of this variable to give application a mechanism for polling for when the data is ready then re-arm it by setting Update.Set(False)
  • Making this variable to "RO" breaks existing application code

Patch Release v6.4.3

05 Dec 06:17
65f90cd

Choose a tag to compare

Pull Requests Since v6.4.2

Bug

  1. #1031 - Fix boost variable in both rogue CmakeLists and external library RogueConfig template

Unlabeled

  1. #1028 - cpplint v2 - linter fix
  2. #1027 - ESROGUE-684 - Frame.getNumpy now allows user defined data type
  3. #1030 - Add setup_rogue.fish for fish shell

Pull Request Details

ESROGUE-684 - Frame.getNumpy now allows user defined data type

Author: Ryan Herbst [email protected]
Date: Wed Dec 4 20:15:23 2024 -0800
Pull: #1027 (92 additions, 11 deletions, 2 files changed)
Branch: slaclab/get-numpy

Notes:

Description

Changes to Frame.getNumpy()

The Frame.getNumpy() method now takes an additional dtype argument, which allows a numpy type to be specified for the returned array.

array = frame.getNumpy(0, frame.getPayload(), np.uint32)

Additionally, the getNumpy() method now has default arguments for all parameters

offset = 0
count = 0, 
dtype = np.uint8

Allowing for calls such as

# Read the entire frame into a np.uint8 array
array = frame.getNumpy()

# Read the entire frame into a np.uint32 array
array = frame.getNumpy(dtype=np.uint32)

The count argument defaults to 0, which functionally will return the entire array starting at offset.

The offset and count parameters are still specified in bytes, not in the dtype size.

Other changes

The offset argument of Frame.readPy() and Frame.writePy() has also been given a default of 0 when called from python.

A new Frame.getBa() method has been added that will allocate the bytearray internally and return it. This makes things a bit more concise in python when reading from a Frame.

# New
ba = frame.getBa() # Create a bytearray, fill it, and return it

#Old
ba = bytearray(frame.getPayload())
frame.read(ba)

The getBa() method takes an offset and count which function the same as in getNumpy() with the same defaults.

Also, a new Frame.getMemoryview() method has been added that allocates a bytearray but returns it as a memoryview. This allows for efficient slicing of the frame data without any copying. In most cases where copyless slicing is needed, a getNumpy() would be preferred, but getMemoryview() is useful for efficiently parsing complex header structures.

memory_view = frame.getMemoryview()

# Parse the header (4 bytes), length (2 bytes), and checksum (2 bytes)
header, length, checksum = struct.unpack_from('IHH', memory_view, 0)

cpplint v2 - linter fix

Author: Benjamin Reese [email protected]
Date: Mon Nov 4 10:38:57 2024 -0800
Pull: #1028 (166 additions, 113 deletions, 51 files changed)
Branch: slaclab/linter-fix

Notes:

Description


Add setup_rogue.fish for fish shell

Author: Larry Ruckman [email protected]
Date: Wed Dec 4 13:47:37 2024 -0600
Pull: #1030 (27 additions, 1 deletions, 2 files changed)
Branch: JJL772/pr-fish-env

Notes:

Description

Adds setup_rogue.fish for the fish shell


Fix boost variable in both rogue CmakeLists and external library RogueConfig template

Author: Ryan Herbst [email protected]
Date: Wed Dec 4 19:47:00 2024 -0800
Pull: #1031 (2 additions, 2 deletions, 2 files changed)
Branch: slaclab/cmake_boost
Labels: bug

Notes:

Fix boost variable in both rogue CmakeLists and external library RogueConfig template


Patch Release v6.4.2

16 Oct 16:25

Choose a tag to compare

Pull Requests Since v6.4.1

Enhancement

  1. #1024 - Improve variable update performance

Unlabeled

  1. #1026 - ESROGUE-682 - Make Block.set() with numpy array work with proper array strides

Pull Request Details

Improve variable update performance

Author: Ryan Herbst [email protected]
Date: Fri Sep 27 13:01:50 2024 -0700
Pull: #1024 (50 additions, 19 deletions, 3 files changed)
Branch: slaclab/ESROGUE-683
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-683
Labels: enhancement

Notes:

This PR improves the variable update performance by making the following changes:

  • Do not always check for the existence of a thread specific UpdateTracker object in the tracking list. This check requires an expensive dictionary lookup which previously occurred within a lock context. Instead the access is called as if the entry exists and if this is a new thread the resulting exception is caught and the object is then created inside the necessary lock. This change occurs in both the entry into the updateGroup context and more importantly in the _queueUpdates call.

  • Take advantage of the fact that each UpdateTrack instance is per thread and remove any locking around the update of this object.

  • In the check() call in the UpdateTrack first check the context counter and update period. This check is not expensive as compared to checking the variable list length, which now only occurs when the count and period tests pass.

  • Change the variable listener processing to only occur when the update worker processes the list. In the previous version, every listener for a variable was added with each set or get call which was not necessary. In the new code the listeners are first added to the existing update list before the update calls are made.


ESROGUE-682 - Make Block.set() with numpy array work with proper array strides

Author: Larry Ruckman [email protected]
Date: Wed Oct 16 09:11:46 2024 -0700
Pull: #1026 (70 additions, 16 deletions, 2 files changed)
Branch: slaclab/ESROGUE-682
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-682

Notes:

Description

Previously the Block.setUIntPy() and related methods assumes a contiguous array. This would break with calls such as

arr = np.array([0,1,2,3,4,5])
var.set(np.arr[::2])

All of the underlying set() methods have been updated to properly iterate the numpy array.