Functions | |
| str | _ts () |
| def | _store (str host, str kind, dict data) |
| def | _ensure_path () |
| def | _make_executor (ctx) |
| def | _spin_node (node, ctx) |
| def | _run_node_thread (str node_name) |
| def | _start_node_supervisor () |
| def | _start_ros_subscribers () |
| Blueprint | get_hardware_monitor_blueprint (str url_prefix='/api/hardware') |
Variables | |
| logger = logging.getLogger(__name__) | |
| _PKG_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| _PKG_PARENT = os.path.dirname(_PKG_DIR) | |
| dict | |
| _hosts_lock = threading.Lock() | |
| _node_lock = threading.Lock() | |
| bool | _supervisor_started = False |
| bool | _ros_subscriber_started = False |
| _latched | |
hardware_monitor_api.py Flask blueprint for the hardware monitor cluster API. Nodes are launched in-process in threads rather than via `ros2 run`, so they work regardless of whether `ros2` is on PATH or the workspace is sourced in the shell that started the Flask server.
|
private |

|
private |
Return a SingleThreadedExecutor bound to ctx.

|
private |

|
private |
Spin a node using an executor tied to its context.


|
private |

|
private |


|
private |

|
private |

| Blueprint hardware_monitor.hardware_monitor_api.get_hardware_monitor_blueprint | ( | str | url_prefix = '/api/hardware' | ) |


|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| hardware_monitor.hardware_monitor_api.dict |
| hardware_monitor.hardware_monitor_api.logger = logging.getLogger(__name__) |