navigate.model.features.feature_container.SignalContainer
- class navigate.model.features.feature_container.SignalContainer(root=None, cleanup_list=[], number_of_execution=1)
Bases:
Container
SignalContainer class for managing signal-based control sequences.
This class is a specialized container for managing control sequences that consist of signal-based nodes. It extends the functionality of the base Container class and provides methods for running signal-based control sequences.
Notes:
The SignalContainer class is designed for managing control sequences that are signal-based, typically used in applications involving devices and sensors.
It extends the functionality of the base Container class and provides methods for running signal-based control sequences.
The number_of_execution parameter specifies how many times the control sequence should be executed. The remaining_number_of_execution attribute keeps track of the remaining executions.
- __init__(root=None, cleanup_list=[], number_of_execution=1)
Initialize the SignalContainer object.
Parameters:
- rootTreeNode or None, optional
The root node of the control sequence tree. Default is None.
- cleanup_listlist of TreeNode, optional
A list of nodes containing ‘cleanup’ functions to be executed when the container is closed. Default is an empty list.
- number_of_executionint, optional
The number of times the control sequence should be executed. Default is 1.
Methods
__init__
([root, cleanup_list, ...])Initialize the SignalContainer object.
cleanup
()Execute 'cleanup' functions for specified nodes in the tree.
reset
()Reset the container's state, including the current node and end flag.
run
(*args[, wait_response])Run the signal-based control sequence.
Attributes
The total number of times the control sequence should be executed.
The remaining number of executions of the control sequence.
- cleanup()
Execute ‘cleanup’ functions for specified nodes in the tree.
This method executes the ‘cleanup’ functions associated with nodes in the cleanup_list. These functions are typically used to perform resource cleanup or finalization when the container is closed. The ‘cleanup_list’ specifies which nodes should have their ‘cleanup’ functions executed.
- reset()
Reset the container’s state, including the current node and end flag.
This method resets the state of the container, including setting the current node to None, clearing the end flag, and resetting the remaining number of executions. It prepares the container for running the control sequence from the beginning.
- run(*args, wait_response=False)
Run the signal-based control sequence.
This method runs the signal-based control sequence by iterating through its nodes and executing them in order. It manages the execution of nodes and handles transitions between nodes based on their logic.
Parameters:
- *argsarguments
Optional arguments to pass to the control sequence nodes.
- wait_responsebool, optional
A flag indicating whether to wait for responses during execution. Default is False.
Notes:
The run method is responsible for executing the control sequence nodes in the order defined by the control sequence tree.
It handles transitions between nodes, waits for responses if necessary, and tracks the remaining executions of the control sequence.
- end_flag
A flag indicating whether the control sequence execution should stop.
- Type:
bool
- is_closed
A boolean indicating whether the container is closed.
- Type:
bool
- number_of_execution
The total number of times the control sequence should be executed.
- Type:
int
- remaining_number_of_execution
The remaining number of executions of the control sequence.
- Type:
int