RemoteVariable
- class pyrogue.RemoteVariable(*, name, description='', mode='RW', value=None, disp=None, enum=None, units=None, hidden=False, groups=None, minimum=None, maximum=None, lowWarning=None, lowAlarm=None, highWarning=None, highAlarm=None, base=<class 'pyrogue._Model.UInt'>, offset, numValues=0, valueBits=0, valueStride=0, bitSize=32, bitOffset=0, pollInterval=0, updateNotify=True, overlapEn=False, bulkOpEn=True, verify=True, retryCount=0, guiGroup=None, **kwargs)[source]
Remote variable backed by a memory-mapped interface.
- Parameters:
name (
str) – Variable name.description (
str, default:'') – Human-readable description.mode (
str, default:'RW') – Access mode:RW,RO, orWO.value (
Any, default:None) – Default value.disp (
Any|None, default:None) – Display formatter or mapping.enum (
dict[object,str] |None, default:None) – Mapping from object values to display strings.hidden (
bool, default:False) – If True, add the variable to theHiddengroup.groups (
list[str] |None, default:None) – Groups to assign.minimum (
Any|None, default:None) – Minimum allowed value.maximum (
Any|None, default:None) – Maximum allowed value.lowWarning (
Any|None, default:None) – Low warning threshold.highWarning (
Any|None, default:None) – High warning threshold.highAlarm (
Any|None, default:None) – High alarm threshold.base (
Model|Callable[[int],Model], default:<class 'pyrogue._Model.UInt'>) – Base model instance or model factory.offset (
int|list[int]) – Memory offset or list of offsets.numValues (
int, default:0) – Number of values for array variables.valueBits (
int, default:0) – Bits per value for array variables.valueStride (
int, default:0) – Bit stride between values.bitSize (
int|list[int], default:32) – Bit size of the variable.bitOffset (
int|list[int], default:0) – Bit offset of the variable.pollInterval (
Any, default:0) – Polling interval.updateNotify (
bool, default:True) – Enable update notifications.overlapEn (
bool, default:False) – Allow overlapping variables.bulkOpEn (
bool, default:True) – Enable bulk operations.verify (
bool, default:True) – Enable verify on write.retryCount (
int, default:0) – Retry count for transactions.**kwargs (
Any) – Additional arguments forwarded toBaseVariable.
- set(value, *, index=-1, write=True, verify=True, check=True)[source]
Set the value and write to hardware if applicable Writes to hardware are blocking if check=True, otherwise non-blocking. A verify will be performed according to self.verifyEn if verify=True A verify will not be performed if verify=False An error will result in a logged exception.
- Parameters:
- Return type:
- post(value, *, index=-1)[source]
Set the value and write to hardware if applicable using a posted write. This method does not call through parent.writeBlocks(), but rather calls on self._block directly.
- get(*, index=-1, read=True, check=True)[source]
Return the value, optionally reading from hardware.
Hardware read is blocking if check=True, otherwise non-blocking. An error will result in a logged exception. Listeners will be informed of the update.
- write(*, verify=True, check=True)[source]
Force a write of the variable. Hardware write is blocking if check=True. A verify will be performed according to self.verifyEn if verify=True A verify will not be performed if verify=False An error will result in a logged exception
- addDependency(dep)
Add a dependency variable. When this variable changes, the dependency variable will be notified.
- Parameters:
dep (
BaseVariable) – The dependency variable to add.- Return type:
- addListener(listener)
Add a listener Variable or function to call when variable changes. This is useful when chaining variables together. (ADC conversions, etc) The variable and value class are passed as an arg: func(path,varValue)
- Parameters:
listener (
BaseVariable|Callable[[str,VariableValue],None]) – Variable or callback function to notify.- Return type:
- addNode(nodeClass, **kwargs)
Construct and add a node of
nodeClass.
- addNodes(nodeClass, number, stride, **kwargs)
Add a series of nodes with indexed names.
- addToGroup(group)
Add this node to a group and propagate to children.
- callRecursive(func, nodeTypes=None, **kwargs)
Call a named method on this node and matching children.
- property commands: OrderedDict[str, BaseCommand]
Return direct child commands.
- commandsByGroup(incGroups=None, excGroups=None)
Return commands filtered by group.
- Return type:
- Parameters:
- delListener(listener)
Remove a listener Variable or function
- Parameters:
listener (
BaseVariable|Callable[[str,VariableValue],None]) – Variable or callback function to remove.- Return type:
- property dependencies: list[BaseVariable]
Return registered dependency variables.
- property devices: OrderedDict[str, Device]
Return direct child devices.
- devicesByGroup(incGroups=None, excGroups=None)
Return devices filtered by group.
- filterByGroup(incGroups, excGroups)
Return True if the node passes include/exclude filters.
- 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.
- genDisp(value, *, useDisp=None)
Generate a display string for a value.
- getDisp(read=True, index=-1)
Perform a get() and return the display string for the value.
- getExtraAttribute(name)
Return an extra attribute by name, if present.
- 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:
- Returns:
Ordered dictionary of nodes.
- Return type:
- getVariableValue(read=True, index=-1)
Return the value after performing a read from hardware if applicable. Hardware read is blocking. An error will result in a logged exception. Listeners will be informed of the update.
- 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:
Return True if the node is hidden.
- inGroup(group)
Return True if the node is in the provided group or groups.
- isinstance(typ)
Return True if this node is an instance of
typ.
- property lock: threading.Lock | None
Return the underlying lock, if available.
- makeRecursive(func, nodeTypes=None)
Create a recursive wrapper for a named method.
- node(name)
Return a direct child node by name.
- nodeMatch(name)
Match a node name, including array-style accessors.
- property nodes: OrderedDict[str, Node]
Return an ordered dictionary of direct child nodes.
- parseDisp(sValue)
Parse a string representation of a value into a Python object.
- 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:
- removeFromGroup(group)
Remove this node from a group.
- setDisp(sValue, write=True, index=-1)
Set the value of the variable using a string representation of the value.
- setPollInterval(interval)
Set the poll interval.
- value(index=-1)
Return the current value without reading.
- valueDisp(index=-1)
Return a display string for the current value without reading.
- 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:
- Parameters: