BaseVariable
- class pyrogue.BaseVariable(*, name, description='', mode='RW', value=None, disp='{}', enum=None, units=None, hidden=False, groups=None, minimum=None, maximum=None, lowWarning=None, lowAlarm=None, highWarning=None, highAlarm=None, pollInterval=0, updateNotify=True, typeStr='Unknown', bulkOpEn=True, offset=0, guiGroup=None, **kwargs)[source]
Base class for variables in the PyRogue tree.
- 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 for the variable.disp (
Any, default:'{}') – Display formatter or enumeration 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.pollInterval (
Any, default:0) – Polling interval in seconds.updateNotify (
bool, default:True) – Enable update notifications.typeStr (
str, default:'Unknown') – Type string for display.bulkOpEn (
bool, default:True) – Enable bulk operations.offset (
int, default:0) – Offset used by remote variables.**kwargs (
Any) – Additional attributes.
- addDependency(dep)[source]
Add a dependency variable. When this variable changes, the dependency variable will be notified.
- Parameters:
dep (
BaseVariable) – The dependency variable to add.- Return type:
- property lock: threading.Lock | None
Return the underlying lock, if available.
- property dependencies: list[BaseVariable]
Return registered dependency variables.
- addListener(listener)[source]
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:
- delListener(listener)[source]
Remove a listener Variable or function
- Parameters:
listener (
BaseVariable|Callable[[str,VariableValue],None]) – Variable or callback function to remove.- Return type:
- 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. 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 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.
- getVariableValue(read=True, index=-1)[source]
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.
- setDisp(sValue, write=True, index=-1)[source]
Set the value of the variable using a string representation of the value.
- 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:
- 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.
- 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:
- 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.
- 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.
- 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.
- 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: