Process

class pyrogue.Process(*, argVariable=None, returnVariable=None, function=None, **kwargs)[source]

Special Device base class to execute complex or long running processes or algorythms involving Variables.

Parameters:
  • argVariable (BaseVariable | None, default: None) – Variable providing input arguments.

  • returnVariable (BaseVariable | None, default: None) – Variable receiving return values.

  • function (Callable[..., Any] | None, default: None) – Process callback. The wrapper provides keyword arguments root, dev, and arg; the function may accept any subset of these names.

  • **kwargs (Any) – Additional arguments forwarded to Device.

add(node)

Add a child node to the device.

Return type:

None

Parameters:

node (Any)

addCustomBlock(block)

Add a pre-defined memory block to the device.

Return type:

None

Parameters:

block (Any)

addInterface(*interfaces)

Add stream or memory interfaces to manage.

Parameters:

*interfaces (Any | Iterable[Any]) – One or more interfaces or iterables of interfaces.

Return type:

None

addNode(nodeClass, **kwargs)

Construct and add a node of nodeClass.

Return type:

None

Parameters:
addNodes(nodeClass, number, stride, **kwargs)

Add a series of nodes with indexed names.

Return type:

None

Parameters:
addProtocol(*protocols)

Add protocol entities (alias of addInterface).

Return type:

None

Parameters:

protocols (Any)

addRemoteVariables(number, stride, pack=False, **kwargs)

Add a repeating block of remote variables.

Parameters:
  • number (int) – Number of variables to add.

  • stride (int) – Byte stride between instances.

  • pack (bool, default: False) – If True, add a packed link variable for all entries.

  • **kwargs (Any) – Arguments forwarded to RemoteVariable.

Return type:

None

addToGroup(group)

Add this node to a group and propagate to children.

Parameters:

group (str) – Group name to add.

Return type:

None

property address: Any

Return the device base address.

callRecursive(func, nodeTypes=None, **kwargs)

Call a named method on this node and matching children.

Parameters:
  • func (str) – Method name to call.

  • nodeTypes (Iterable[type[Node]] | None, default: None) – Node types to include.

  • **kwargs (Any) – Arguments forwarded to the method call.

Return type:

None

checkBlocks(*, recurse=True, variable=None, **kwargs)

Check block transactions and notify variable listeners.

Parameters:
  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to check.

  • **kwargs (Any) – Additional arguments passed through to the transaction.

Return type:

None

command(**kwargs)

Decorator to add inline methods as commands.

The decorated function is used as LocalCommand(function=...). The command wrapper supplies keyword arguments root, dev, cmd, and arg; the function may accept any subset.

Return type:

Callable[[Callable[..., Any]], Callable[..., Any]]

Parameters:

kwargs (Any)

property commands: OrderedDict[str, BaseCommand]

Return direct child commands.

commandsByGroup(incGroups=None, excGroups=None)

Return commands filtered by group.

Return type:

OrderedDict[str, BaseCommand]

Parameters:
countReset()

Call countReset on all child devices.

Return type:

None

property description: str

Return the node description.

property deviceList: list[Device]

Return a recursive list of devices.

property devices: OrderedDict[str, Device]

Return direct child devices.

devicesByGroup(incGroups=None, excGroups=None)

Return devices filtered by group.

Return type:

OrderedDict[str, Device]

Parameters:
enableChanged(value)

Hook for reacting to enable state changes.

Return type:

None

Parameters:

value (Any)

property expand: bool

Return the expand state.

filterByGroup(incGroups, excGroups)

Return True if the node passes include/exclude filters.

Parameters:
  • incGroups (str | list[str] | None) – Group name or group names to include.

  • excGroups (str | list[str] | None) – Group name or group names to exclude.

Return type:

bool

find(*, recurse=True, typ=None, **kwargs)

Find all child nodes that are a base class of ‘typ’ and whose properties match all of the kwargs. For string properties, accepts regexes.

Parameters:
  • recurse (bool, default: True) – If True, recurse into child nodes.

  • typ (type[Node] | None, default: None) – Base class type to match.

  • **kwargs (Any)

Returns:

List of nodes that match the criteria.

Return type:

list[Node]

genDocuments(path, incGroups=None, excGroups=None)

Generate Sphinx documentation pages for this device.

Parameters:
  • path (str) – Output directory path.

  • incGroups (str | list[str] | None, default: None) – Group name or group names to include.

  • excGroups (str | list[str] | None, default: None) – Group name or group names to exclude.

Return type:

None

getNodes(typ, excTyp=None, incGroups=None, excGroups=None)

Get a filtered ordered dictionary of nodes. pass a class to typ to receive a certain type of node exc is a class type to exclude, incGroups is an optional group or list of groups that this node must be part of excGroups is an optional group or list of groups that this node must not be part of

Parameters:
  • typ (type[Node])

  • excTyp (type[Node] | None, default: None) – Type to exclude.

  • incGroups (str | list[str] | None, default: None) – Group name or group names to include.

  • excGroups (str | list[str] | None, default: None) – Group name or group names to exclude.

Returns:

Ordered dictionary of nodes.

Return type:

OrderedDict[str, Node]

getYaml(readFirst=False, modes=['RW', 'RO', 'WO'], incGroups=None, excGroups=None, recurse=True)

Return current values as YAML text.

Parameters:
  • readFirst (bool, default: False) – If True, perform a full hardware read before exporting.

  • modes (list[str], default: ['RW', 'RO', 'WO']) – Variable modes to include. Allowed values are 'RW', 'WO', and 'RO'.

  • incGroups (str | list[str] | None, default: None) – Group name or group names to include.

  • excGroups (str | list[str] | None, default: None) – Group name or group names to exclude.

  • recurse (bool, default: True) – If True, recurse into child devices.

Returns:

YAML-formatted representation of the node subtree.

Return type:

str

property groups: list[str]

Return the node groups.

property guiGroup: str | None

Return the GUI group label.

hardReset()

Call hardReset on all child devices.

Return type:

None

property hidden: bool

Return True if the node is hidden.

hideVariables(hidden, variables=None)

Hide a list of variables or variable names.

Parameters:
  • hidden (bool) – True to hide variables, False to show them.

  • variables (Iterable[Any] | None, default: None) – Iterable of variable names or variables.

Return type:

None

inGroup(group)

Return True if the node is in the provided group or groups.

Parameters:

group (str) – Group name or list of groups to test.

Return type:

bool

initialize()

Call initialize on all child devices.

Return type:

None

property isCommand: bool

Return True if this node is a command.

property isDevice: bool

Return True if this node is a device.

property isVariable: bool

Return True if this node is a variable (excluding commands).

isinstance(typ)

Return True if this node is an instance of typ.

Return type:

bool

Parameters:

typ (type[Node])

linkVariableGet(**kwargs)

Decorator to add inline linkedGet functions.

The decorated function is used as LinkVariable(linkedGet=...). The linked-get wrapper supplies keyword arguments dev, var, read, index, and check; the function may accept any subset.

Return type:

Callable[[Callable[..., Any]], Callable[..., Any]]

Parameters:

kwargs (Any)

makeRecursive(func, nodeTypes=None)

Create a recursive wrapper for a named method.

Parameters:
  • func (str) – Method name to call.

  • nodeTypes (Iterable[type[Node]] | None, default: None) – Node types to include.

Return type:

Callable[..., None]

manage(*interfaces)

Manage additional interfaces for start/stop.

Return type:

None

Parameters:

interfaces (Any)

property name: str

Return the node name.

node(name)

Return a direct child node by name.

Parameters:

name (str) – Child node name.

Return type:

Node

property nodeCount: int

Return the total node count.

property nodeList: list[Node]

Return a recursive list of nodes.

nodeMatch(name)

Match a node name, including array-style accessors.

Parameters:

name (str) – Node name or array accessor string.

Returns:

Matching nodes.

Return type:

list[Node]

property nodes: OrderedDict[str, Node]

Return an ordered dictionary of direct child nodes.

property offset: Any

Return the device offset.

property parent: Node

Return the parent node.

property path: str

Return the full node path.

printYaml(readFirst=False, modes=['RW', 'RO', 'WO'], incGroups=None, excGroups=None, recurse=False)

Print the YAML representation to stdout.

Parameters:
  • readFirst (bool, default: False) – If True, perform a full hardware read before exporting.

  • modes (list[str], default: ['RW', 'RO', 'WO']) – Variable modes to include. Allowed values are 'RW', 'WO', and 'RO'.

  • incGroups (str | list[str] | None, default: None) – Group name or group names to include.

  • excGroups (str | list[str] | None, default: None) – Group name or group names to exclude.

  • recurse (bool, default: False) – If True, recurse into child devices.

Return type:

None

readAndCheckBlocks(recurse=True, variable=None, checkEach=False)

Read and check all blocks.

Parameters:
  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to read.

  • checkEach (bool, default: False) – Perform per-variable verification checks.

Return type:

None

readBlocks(*, recurse=True, variable=None, checkEach=False, index=-1, **kwargs)

Read blocks in the background.

Parameters:
  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to read.

  • checkEach (bool, default: False) – Perform per-variable verification checks.

  • index (int, default: -1) – Optional index for array variables.

  • **kwargs (Any) – Additional arguments passed through to the transaction.

Return type:

None

removeFromGroup(group)

Remove this node from a group.

Parameters:

group (str) – Group name to remove.

Return type:

None

property root: Root

Return the root node.

property running: bool

Return True if the device is running.

setName((Slave)arg1, (str)arg2) None :
C++ signature :

void setName(rogue::interfaces::memory::Slave {lvalue},std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)

setPollInterval(interval, variables=None)

Set the poll interval for a group of variables.

Parameters:
  • interval (float) – Polling interval in seconds.

  • variables (Iterable[Any] | None, default: None) – Iterable of variable names or variables. If None, all variables with nonzero poll interval are updated.

Return type:

None

property variableList: list[BaseVariable]

Return a recursive list of variables and commands.

property variables: OrderedDict[str, BaseVariable]

Return direct child variables (excluding commands).

variablesByGroup(incGroups=None, excGroups=None)

Return variables filtered by group.

Return type:

OrderedDict[str, BaseVariable]

Parameters:
verifyBlocks(*, recurse=True, variable=None, checkEach=False, **kwargs)

Verify blocks in the background.

Parameters:
  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to verify.

  • checkEach (bool, default: False) – Perform per-variable verification checks.

  • **kwargs (Any) – Additional arguments passed through to the transaction.

Return type:

None

writeAndVerifyBlocks(force=False, recurse=True, variable=None, checkEach=False)

Write, verify, and check all blocks.

Parameters:
  • force (bool, default: False) – Force the write even if values are unchanged.

  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to write/verify.

  • checkEach (bool, default: False) – Perform per-variable verification checks.

Return type:

None

writeBlocks(*, force=False, recurse=True, variable=None, checkEach=False, index=-1, **kwargs)

Write all blocks held by this device.

Parameters:
  • force (bool, default: False) – Force the write even if values are unchanged.

  • recurse (bool, default: True) – If True, recurse into child devices.

  • variable (Any | None, default: None) – Optional variable to write.

  • checkEach (bool, default: False) – Perform per-variable verification checks.

  • index (int, default: -1) – Optional index for array variables.

  • **kwargs (Any) – Additional arguments passed through to the transaction.

Return type:

None