Pyxcel Interpreter
Warnings and Notes
- Pyxcel is ROS Agnostic, fully created with python packages
- Pyxcel uses ItemRegistryV2, it is designed to be backward-compatible but the oldest agent tested is Xplore.
- Pyxcel ensures that the feedback messages "RUNNING" and "FINISH" are sent to callbacks. The callback function is equivalente to the ROSA feedback.
- Pyxcel can return results with the "RESULT" message on the feedback_callback.
Supported Properties
Property | Default Value | Notes |
---|---|---|
stop | Yes | |
hard_stop | No | (Use with caution) |
sync_calls | Yes | |
async_calls | Yes | Recommended |
wait_for | No | |
callbacks | Yes | Full control implemented with Feedback Messages |
feedback | Yes | |
callback_keywords | ("RUNNING", "STEP", "SUCCESS", "ABORT", "FINISH", "SWITCH") |
RUNNING and FINISH are ensured for every task |
types | "Sequential" |
Additional types may be implemented in the future |
References: - Pyxcel Internals
PyxcelInterpreter Attributes
Attribute | Type | Description |
---|---|---|
callback_dict |
dict[str, ExecutionStatus] |
Maps callback keywords to their execution statuses. |
Examples
Initializing and killing
from execution_layer.pyxcel.interprter.pyxcel_interpreter import PyxcelInterpreter
interpreter = PyxcelInterpreter()
interpreter.kill()
Running
import ecm.exelent.parser as parser
my_task = parser.parse("path_to_xlnt_file")
interpreter.run(my_task) # Will return at finish
interpreter.arun(my_task) # Returns immediately
Stopping
# Note: Stopping nested functions is not fully stable
interpreter.run(my_task)
interpreter.stop(my_task.name)