Class FaultManagerNode

Inheritance Relationships

Base Type

  • public rclcpp::Node

Class Documentation

class FaultManagerNode : public rclcpp::Node

Central fault manager node

Provides service interfaces for fault reporting, querying, and clearing. Supports configurable storage backends (memory or SQLite) via ROS parameters.

Parameters:

  • storage_type (string): “memory” or “sqlite” (default: “sqlite”)

  • database_path (string): Path to SQLite database file (default: “/var/lib/ros2_medkit/faults.db”) Use “:memory:” for in-memory SQLite database (useful for testing)

Public Functions

explicit FaultManagerNode(const rclcpp::NodeOptions &options = rclcpp::NodeOptions())
~FaultManagerNode() override
FaultManagerNode(const FaultManagerNode&) = delete
FaultManagerNode &operator=(const FaultManagerNode&) = delete
FaultManagerNode(FaultManagerNode&&) = delete
FaultManagerNode &operator=(FaultManagerNode&&) = delete
inline const FaultStorage &get_storage() const

Get read-only access to fault storage (for testing)

inline const std::string &get_storage_type() const

Get the storage type being used.

Public Static Functions

static bool matches_entity(const std::vector<std::string> &reporting_sources, const std::string &entity_id)

Check if entity matches any reporting source

Parameters:
  • reporting_sources – List of reporting sources from fault

  • entity_id – Entity ID to match (exact match or as suffix of FQN)

Returns:

true if entity_id matches any source