No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Client library for easy fault reporting with local filtering

Maintainers

  • mfaferek93

Authors

No additional authors.

ros2_medkit_fault_reporter

Client library for easy fault reporting to the central FaultManager.

Overview

The FaultReporter library provides a simple API for ROS 2 nodes to report faults. Just call report() when something goes wrong - the fault is immediately confirmed.

Quick Start

#include "ros2_medkit_fault_reporter/fault_reporter.hpp"

class MyNode : public rclcpp::Node {
 public:
  MyNode() : Node("my_node") {
    reporter_ = std::make_unique<ros2_medkit_fault_reporter::FaultReporter>(
        shared_from_this(), get_fully_qualified_name());
  }

  void check_sensor() {
    if (sensor_error_detected()) {
      reporter_->report("SENSOR_FAILURE",
                        ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                        "Sensor communication timeout");
    }
  }

 private:
  std::unique_ptr<ros2_medkit_fault_reporter::FaultReporter> reporter_;
};

That’s it! The fault will be immediately confirmed in FaultManager.

Features

  • Simple API: Just call report() to report a fault
  • Local Filtering (optional): Suppress repeated faults until threshold is met
  • Per-fault tracking: Each fault_code has independent filtering
  • Severity bypass: High-severity faults bypass local filtering

API

report(fault_code, severity, description)

Report a fault occurrence. With default FaultManager settings, the fault is immediately confirmed.

reporter_->report("MOTOR_OVERHEAT",
                  ros2_medkit_msgs::msg::Fault::SEVERITY_ERROR,
                  "Motor temperature exceeded safe limit");

report_passed(fault_code) (Advanced)

Report that a fault condition has cleared. Use this when FaultManager is configured with debounce filtering and healing enabled.

reporter_->report_passed("MOTOR_OVERHEAT");

Local Filtering

The reporter includes optional local filtering to reduce noise from repeated fault occurrences. Only forwards the fault to FaultManager after threshold is reached within a time window.

Configuration

my_node:
  ros__parameters:
    fault_reporter:
      local_filtering:
        enabled: true           # Enable local filtering (default: true)
        default_threshold: 3    # Reports needed before forwarding
        default_window_sec: 10.0  # Time window in seconds
        bypass_severity: 2      # ERROR and CRITICAL bypass filtering

Parameters

Parameter Type Default Description
fault_reporter.local_filtering.enabled bool true Enable/disable local filtering
fault_reporter.local_filtering.default_threshold int 3 Reports needed before forwarding
fault_reporter.local_filtering.default_window_sec double 10.0 Time window in seconds
fault_reporter.local_filtering.bypass_severity int 2 Severity level that bypasses filtering

Advanced: Debounce Integration

When FaultManager is configured with debounce filtering (confirmation_threshold < -1), you can use report_passed() to signal that a fault condition has cleared:

```cpp void check_sensor() { if (sensor_error_detected()) { // Fault condition detected reporter_->report(“SENSOR_FAILURE”,

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_fault_reporter

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • FaultReporter client library with simple API:
    • report(fault_code, severity, description) - report FAILED events
    • report_passed(fault_code) - report fault condition cleared
    • High-severity faults (ERROR, CRITICAL) bypass local filtering
  • LocalFilter for per-fault-code threshold/window filtering:
    • Configurable threshold (default: 3 reports) and time window (default: 10s)
    • Prevents flooding FaultManager with duplicate reports
    • PASSED events always forwarded (bypass filtering)
  • Configuration via ROS parameters (filter_threshold, filter_window_sec)
  • Thread-safe implementation with mutex-protected config access
  • Contributors: Bartosz Burda, Michal Faferek

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_fault_reporter at Robotics Stack Exchange