diff --git a/capabilities2/package.xml b/capabilities2/package.xml
index 691851b..a012c4d 100644
--- a/capabilities2/package.xml
+++ b/capabilities2/package.xml
@@ -8,6 +8,7 @@
Michael Pritchard
mik-p
+ Kalana Ratnayake
Michael Pritchard
diff --git a/capabilities2_events/.clang-format b/capabilities2_events/.clang-format
deleted file mode 100644
index 92effdd..0000000
--- a/capabilities2_events/.clang-format
+++ /dev/null
@@ -1,64 +0,0 @@
-
-BasedOnStyle: Google
-AccessModifierOffset: -2
-ConstructorInitializerIndentWidth: 2
-AlignEscapedNewlinesLeft: false
-AlignTrailingComments: true
-AllowAllParametersOfDeclarationOnNextLine: false
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
-AlwaysBreakTemplateDeclarations: true
-AlwaysBreakBeforeMultilineStrings: false
-BreakBeforeBinaryOperators: false
-BreakBeforeTernaryOperators: false
-BreakConstructorInitializersBeforeComma: true
-BinPackParameters: true
-ColumnLimit: 150
-ConstructorInitializerAllOnOneLineOrOnePerLine: true
-DerivePointerBinding: false
-PointerBindsToType: true
-ExperimentalAutoDetectBinPacking: false
-IndentCaseLabels: true
-MaxEmptyLinesToKeep: 1
-NamespaceIndentation: None
-ObjCSpaceBeforeProtocolList: true
-PenaltyBreakBeforeFirstCallParameter: 19
-PenaltyBreakComment: 60
-PenaltyBreakString: 1
-PenaltyBreakFirstLessLess: 1000
-PenaltyExcessCharacter: 1000
-PenaltyReturnTypeOnItsOwnLine: 90
-SpacesBeforeTrailingComments: 2
-Cpp11BracedListStyle: false
-Standard: Auto
-IndentWidth: 2
-TabWidth: 2
-UseTab: Never
-IndentFunctionDeclarationAfterType: false
-SpacesInParentheses: false
-SpacesInAngles: false
-SpaceInEmptyParentheses: false
-SpacesInCStyleCastParentheses: false
-SpaceAfterControlStatementKeyword: true
-SpaceBeforeAssignmentOperators: true
-ContinuationIndentWidth: 4
-SortIncludes: false
-SpaceAfterCStyleCast: false
-
-# Configure each individual brace in BraceWrapping
-BreakBeforeBraces: Custom
-
-# Control of individual brace wrapping cases
-BraceWrapping: {
- AfterClass: 'true'
- AfterControlStatement: 'true'
- AfterEnum : 'true'
- AfterFunction : 'true'
- AfterNamespace : 'true'
- AfterStruct : 'true'
- AfterUnion : 'true'
- BeforeCatch : 'true'
- BeforeElse : 'true'
- IndentBraces : 'false'
-}
diff --git a/capabilities2_events/CMakeLists.txt b/capabilities2_events/CMakeLists.txt
deleted file mode 100644
index 52b569a..0000000
--- a/capabilities2_events/CMakeLists.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-cmake_minimum_required(VERSION 3.10)
-project(capabilities2_events)
-
-# Default to C++17
-if(NOT CMAKE_CXX_STANDARD)
- set(CMAKE_CXX_STANDARD 17)
-endif()
-
-if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- add_compile_options(-Wall -Wextra -Wpedantic)
-endif()
-
-find_package(ament_cmake REQUIRED)
-find_package(rclcpp REQUIRED)
-find_package(capabilities2_msgs REQUIRED)
-
-include_directories(
- include
-)
-
-############################################################################
-# node implementation that compiles as a executable
-############################################################################
-
-add_executable(${PROJECT_NAME}_node
- src/event_listener_node.cpp
-)
-
-# target_link_libraries(${PROJECT_NAME}_node)
-
-ament_target_dependencies(${PROJECT_NAME}_node
- rclcpp
- capabilities2_msgs
-)
-
-install(TARGETS ${PROJECT_NAME}_node
- DESTINATION lib/${PROJECT_NAME}
-)
-
-############################################################################
-# miscellaneous
-############################################################################
-
-install(DIRECTORY include/
- DESTINATION include
-)
-
-install(DIRECTORY launch
- DESTINATION share/${PROJECT_NAME}
-)
-
-ament_export_include_directories(include)
-ament_package()
diff --git a/capabilities2_events/include/capabilities2_events/event_client.hpp b/capabilities2_events/include/capabilities2_events/event_client.hpp
deleted file mode 100644
index 742a262..0000000
--- a/capabilities2_events/include/capabilities2_events/event_client.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-#pragma once
-#include
-#include
-
-/**
- * @brief A class to publish events to a given topic
- *
- */
-class EventClient
-{
-public:
- using Event = capabilities2_msgs::msg::CapabilityEvent;
-
- /**
- * @brief Construct a new Status Client object
- *
- * @param node Pointer to the node
- * @param node_name node name to be used for status message
- * @param topic_name topic name to publish the message
- */
- EventClient(rclcpp::Node::SharedPtr node, const std::string& node_name, const std::string& topic_name)
- {
- node_ = node;
- node_name_ = node_name;
- event_publisher_ = node_->create_publisher(topic_name, 10);
- }
-
- /**
- * @brief publishes status information to the given topic as info
- *
- * @param text Text to be published
- */
-
- void info(const std::string& text, int thread_id = -1)
- {
- auto message = Event();
-
- message.header.stamp = node_->now();
- message.origin_node = node_name_;
- message.source.capability = "";
- message.source.provider = "";
- message.target.capability = "";
- message.target.provider = "";
- message.thread_id = thread_id;
- message.event = Event::UNDEFINED;
- message.type = Event::INFO;
- message.content = text;
- message.pid = -1;
-
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as info
- *
- * @param message Message to be published
- */
- void info(const Event& message)
- {
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as debug
- *
- * @param text Text to be published
- */
-
- void debug(const std::string& text, int thread_id = -1)
- {
- auto message = Event();
-
- message.header.stamp = node_->now();
- message.origin_node = node_name_;
- message.source.capability = "";
- message.source.provider = "";
- message.target.capability = "";
- message.target.provider = "";
- message.thread_id = thread_id;
- message.event = Event::UNDEFINED;
- message.type = Event::DEBUG;
- message.content = text;
- message.pid = -1;
-
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as debug
- *
- * @param message Message to be published
- */
- void debug(const Event& message)
- {
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as error
- *
- * @param text Text to be published
- */
- void error(const std::string& text, int thread_id = -1)
- {
- auto message = Event();
-
- message.header.stamp = node_->now();
- message.origin_node = node_name_;
- message.source.capability = "";
- message.source.provider = "";
- message.target.capability = "";
- message.target.provider = "";
- message.thread_id = thread_id;
- message.event = Event::UNDEFINED;
- message.type = Event::ERROR;
- message.content = text;
- message.pid = -1;
-
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as error
- *
- * @param message Message to be published
- */
- void error(const Event& message)
- {
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes element information to the given topic as error
- *
- * @param element element information to be published
- */
- void error_element(const std::string& element, int thread_id = -1)
- {
- auto message = Event();
-
- message.header.stamp = node_->now();
- message.origin_node = node_name_;
- message.source.capability = "";
- message.source.provider = "";
- message.target.capability = "";
- message.target.provider = "";
- message.thread_id = thread_id;
- message.event = Event::UNDEFINED;
- message.type = Event::ERROR_ELEMENT;
- message.content = element;
- message.pid = -1;
-
- event_publisher_->publish(message);
- }
-
- /**
- * @brief publishes status information to the given topic as error with
- * element infromation included
- *
- * @param message Message to be published
- */
- void error_element(const Event& message)
- {
- event_publisher_->publish(message);
- }
-
-protected:
- /**
- * @brief Node pointer to access logging interface
- *
- */
- rclcpp::Node::SharedPtr node_;
-
- /**
- * @brief publisher to publish execution status
- *
- */
- rclcpp::Publisher::SharedPtr event_publisher_;
-
- /**
- * @brief Node name
- *
- */
- std::string node_name_;
-};
\ No newline at end of file
diff --git a/capabilities2_events/include/capabilities2_events/event_listener.hpp b/capabilities2_events/include/capabilities2_events/event_listener.hpp
deleted file mode 100644
index 4099719..0000000
--- a/capabilities2_events/include/capabilities2_events/event_listener.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include
-
-#include "rclcpp/rclcpp.hpp"
-#include
-
-class CapabilitiesEventListener : public rclcpp::Node
-{
-public:
- using Event = capabilities2_msgs::msg::CapabilityEvent;
-
- CapabilitiesEventListener(const rclcpp::NodeOptions& options = rclcpp::NodeOptions()) : Node("capabilities2_events_listener", options)
- {
- // Create a subscription to the "topic" topic
- RCLCPP_INFO(this->get_logger(), "Creating subscription to topic");
-
- subscription_ =
- this->create_subscription("/events", 10, std::bind(&CapabilitiesEventListener::topic_callback, this, std::placeholders::_1));
- }
-
-private:
- void topic_callback(const Event& msg) const
- {
- std::string text;
-
- if (msg.type == Event::ERROR_ELEMENT)
- {
- text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] " + msg.content;
- }
- else if (msg.thread_id >= 0 and msg.target.capability == "" and msg.source.capability == "")
- {
- text = "[" + msg.origin_node + "]" + "[" + std::to_string(msg.thread_id) + "] " + msg.content;
- }
- else if (msg.thread_id < 0 and msg.target.capability == "" and msg.source.capability == "")
- {
- text = "[" + msg.origin_node + "] " + msg.content;
- }
- else if (msg.thread_id >= 0 and msg.target.capability == "" and msg.source.capability != "")
- {
- text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] " + msg.content;
- }
- else if (msg.thread_id < 0 and msg.target.capability == "" and msg.source.capability != "")
- {
- text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "] " + msg.content;
- }
- else if (msg.thread_id >= 0 and msg.target.capability != "")
- {
- text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "/" + std::to_string(msg.thread_id) + "] triggering " +
- msg.target.capability + " " + msg.content;
- }
- else if (msg.thread_id < 0 and msg.target.capability != "")
- {
- text = "[" + msg.origin_node + "]" + "[" + msg.source.capability + "] triggering " + msg.target.capability + " " + msg.content;
- }
-
- if (msg.type == Event::ERROR)
- RCLCPP_ERROR(get_logger(), text.c_str());
- else if (msg.type == Event::INFO)
- RCLCPP_INFO(get_logger(), text.c_str());
- else if (msg.type == Event::DEBUG)
- RCLCPP_DEBUG(get_logger(), text.c_str());
- else
- RCLCPP_ERROR(get_logger(), text.c_str());
- }
-
- rclcpp::Subscription::SharedPtr subscription_;
-};
\ No newline at end of file
diff --git a/capabilities2_events/include/capabilities2_events/event_types.hpp b/capabilities2_events/include/capabilities2_events/event_types.hpp
deleted file mode 100644
index e0ddaf0..0000000
--- a/capabilities2_events/include/capabilities2_events/event_types.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#pragma once
-
-namespace capabilities2
-{
-enum event_t
-{
- IDLE,
- STARTED,
- STOPPED,
- FAILED,
- SUCCEEDED
-};
-
-/**
- * @brief event definition
- *
- * Contains the informations about the event to be executed. It contains the interface, provider and parameters
- */
-struct event
-{
- std::string interface;
- std::string provider;
- std::string parameters;
-};
-
-/**
- * @brief event options
- *
- * keeps track of events that are related to runner instances at various points of the
- * plan
- * @param on_started information about the capability to execute on start
- * @param on_success information about the capability to execute on success
- * @param on_failure information about the capability to execute on failure
- * @param on_stopped information about the capability to execute on stop
- */
-struct event_opts
-{
- event on_started;
- event on_success;
- event on_failure;
- event on_stopped;
-};
-
-}
\ No newline at end of file
diff --git a/capabilities2_events/launch/listener.launch.py b/capabilities2_events/launch/listener.launch.py
deleted file mode 100644
index 3f5951f..0000000
--- a/capabilities2_events/launch/listener.launch.py
+++ /dev/null
@@ -1,28 +0,0 @@
-'''
-capabilities2_server launch file
-'''
-
-import os
-from launch import LaunchDescription
-from launch_ros.actions import Node
-
-
-def generate_launch_description():
- """Generate launch description for capabilities2 server
-
- Returns:
- LaunchDescription: The launch description for capabilities2 events listener
- """
- # create bridge composition
- capabilities2 = Node(
- package='capabilities2_events',
- executable='capabilities2_events_node',
- name='listener',
- output='screen',
- arguments=['--ros-args', '--log-level', 'info']
- )
-
- # return
- return LaunchDescription([
- capabilities2
- ])
diff --git a/capabilities2_events/package.xml b/capabilities2_events/package.xml
deleted file mode 100644
index 9674c1a..0000000
--- a/capabilities2_events/package.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- capabilities2_events
- 0.0.0
- TODO: Package description
- kalana
- TODO: License declaration
-
- ament_cmake
-
- ament_lint_auto
- ament_lint_common
-
- rclcpp
- capabilities2_msgs
- rclcpp_components
-
-
- ament_cmake
-
-
diff --git a/capabilities2_events/src/event_listener_node.cpp b/capabilities2_events/src/event_listener_node.cpp
deleted file mode 100644
index 3eea375..0000000
--- a/capabilities2_events/src/event_listener_node.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include
-
-int main(int argc, char* argv[])
-{
- // Initialize the ROS 2 C++ client library
- rclcpp::init(argc, argv);
-
- // Create a shared pointer to the CapabilitiesFabricClient
- auto listener_node = std::make_shared();
-
- // Spin the node to process callbacks
- rclcpp::spin(listener_node);
-
- rclcpp::shutdown();
-
- return 0;
-}
diff --git a/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py b/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py
index 644bf8c..b1773c0 100755
--- a/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py
+++ b/capabilities2_launch_proxy/capabilities2_launch_proxy/capabilities_launch_proxy.py
@@ -32,7 +32,6 @@
from launch.launch_description_sources import AnyLaunchDescriptionSource
# from launch.some_entities_type import SomeEntitiesType
from capabilities2_msgs.action import Launch
-from capabilities2_msgs.msg import CapabilityEvent
class CancelLaunchGoalEvent(Event):
@@ -110,13 +109,6 @@ def __init__(self, node_name='capabilities_launch_proxy'):
cancel_callback=self.cancel_cb
)
- # cap event pub
- self.event_pub = self.create_publisher(
- CapabilityEvent,
- '~/events',
- 10
- )
-
# create launch service
self.launch_service = LaunchService()
diff --git a/capabilities2_msgs/CMakeLists.txt b/capabilities2_msgs/CMakeLists.txt
index 0fbf54e..529c0ce 100644
--- a/capabilities2_msgs/CMakeLists.txt
+++ b/capabilities2_msgs/CMakeLists.txt
@@ -17,7 +17,6 @@ find_package(std_msgs REQUIRED)
set(msg_files
"msg/Capability.msg"
- "msg/CapabilityEvent.msg"
"msg/CapabilitySpec.msg"
"msg/Remapping.msg"
"msg/RunningCapability.msg"
diff --git a/capabilities2_msgs/action/Launch.action b/capabilities2_msgs/action/Launch.action
index d4c26d4..c6e8c95 100644
--- a/capabilities2_msgs/action/Launch.action
+++ b/capabilities2_msgs/action/Launch.action
@@ -8,4 +8,3 @@ std_msgs/Header header
---
# feedback
std_msgs/Header header
-capabilities2_msgs/CapabilityEvent event
diff --git a/capabilities2_msgs/msg/CapabilityEvent.msg b/capabilities2_msgs/msg/CapabilityEvent.msg
deleted file mode 100644
index cd7d38b..0000000
--- a/capabilities2_msgs/msg/CapabilityEvent.msg
+++ /dev/null
@@ -1,39 +0,0 @@
-std_msgs/Header header
-
-# Node name which published this event
-string origin_node
-
-# Capability which this event pertains to
-Capability source
-
-# Capability which this event targets at
-Capability target
-
-# Thread id of the capability which this event pertains to
-int8 thread_id
-
-# Events available
-uint8 IDLE=0
-uint8 STARTED=1
-uint8 STOPPED=2
-uint8 FAILED=3
-uint8 SUCCEEDED=4
-uint8 UNDEFINED=5
-
-# Related event
-uint8 event
-
-# Event types available
-uint8 INFO=0
-uint8 DEBUG=1
-uint8 ERROR=2
-uint8 ERROR_ELEMENT=3
-
-# Related event type
-uint8 type
-
-# status message
-string content
-
-# PID of the related process
-int32 pid
diff --git a/capabilities2_msgs/package.xml b/capabilities2_msgs/package.xml
index 3ac0ada..9130417 100644
--- a/capabilities2_msgs/package.xml
+++ b/capabilities2_msgs/package.xml
@@ -8,6 +8,7 @@
Michael Pritchard
mik-p
+ Kalana Ratnayake
Michael Pritchard
diff --git a/capabilities2_runner/CMakeLists.txt b/capabilities2_runner/CMakeLists.txt
index d866eee..74610f5 100644
--- a/capabilities2_runner/CMakeLists.txt
+++ b/capabilities2_runner/CMakeLists.txt
@@ -15,7 +15,8 @@ find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(pluginlib REQUIRED)
find_package(capabilities2_msgs REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -32,7 +33,8 @@ ament_target_dependencies(${PROJECT_NAME}
rclcpp_action
pluginlib
capabilities2_msgs
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner/include/capabilities2_runner/action_runner.hpp b/capabilities2_runner/include/capabilities2_runner/action_runner.hpp
index 2674f15..f4c88c8 100644
--- a/capabilities2_runner/include/capabilities2_runner/action_runner.hpp
+++ b/capabilities2_runner/include/capabilities2_runner/action_runner.hpp
@@ -93,8 +93,8 @@ class ActionRunner : public RunnerBase
// Trigger on_stopped event if defined
if (events[execute_id].on_stopped.interface != "")
{
- info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface,
- events[execute_id].on_stopped.provider);
+ event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface,
+ events[execute_id].on_stopped.provider);
triggerFunction_(events[execute_id].on_stopped.interface,
update_on_stopped(events[execute_id].on_stopped.parameters));
}
@@ -153,8 +153,8 @@ class ActionRunner : public RunnerBase
// trigger the events related to on_started state
if (events[execute_id].on_started.interface != "")
{
- info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface,
- events[execute_id].on_started.provider);
+ event_(EventType::STARTED, id, events[execute_id].on_started.interface,
+ events[execute_id].on_started.provider);
triggerFunction_(events[execute_id].on_started.interface,
update_on_started(events[execute_id].on_started.parameters));
}
@@ -189,7 +189,7 @@ class ActionRunner : public RunnerBase
// trigger the events related to on_success state
if (events[execute_id].on_success.interface != "")
{
- info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface,
+ event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface,
events[execute_id].on_success.provider);
triggerFunction_(events[execute_id].on_success.interface,
update_on_success(events[execute_id].on_success.parameters));
@@ -202,7 +202,7 @@ class ActionRunner : public RunnerBase
// trigger the events related to on_failure state
if (events[execute_id].on_failure.interface != "")
{
- info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface,
+ event_(EventType::FAILED, id, events[execute_id].on_failure.interface,
events[execute_id].on_failure.provider);
triggerFunction_(events[execute_id].on_failure.interface,
update_on_failure(events[execute_id].on_failure.parameters));
diff --git a/capabilities2_runner/include/capabilities2_runner/runner_base.hpp b/capabilities2_runner/include/capabilities2_runner/runner_base.hpp
index f9e702f..963d88a 100644
--- a/capabilities2_runner/include/capabilities2_runner/runner_base.hpp
+++ b/capabilities2_runner/include/capabilities2_runner/runner_base.hpp
@@ -7,9 +7,10 @@
#include
#include
#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
namespace capabilities2_runner
{
@@ -65,8 +66,8 @@ struct runner_opts
class RunnerBase
{
public:
- using Event = capabilities2_msgs::msg::CapabilityEvent;
- using EventType = capabilities2::event_t;
+ using Event = event_logger_msgs::msg::Event;
+ using EventType = event_logger::event_t;
RunnerBase() : run_config_()
{
@@ -131,7 +132,7 @@ class RunnerBase
execute_id = -1;
thread_id = 0;
- event_ = std::make_shared(node_, "runner", "/events");
+ event_client_ = std::make_shared(node_, "runner", "/events");
}
/**
@@ -141,7 +142,7 @@ class RunnerBase
*
* @return number of attached events
*/
- int attach_events(capabilities2::event_opts& event_option,
+ int attach_events(event_logger::event_opts& event_option,
std::function triggerFunction)
{
info_("accepted event options with ID : " + std::to_string(insert_id));
@@ -447,8 +448,7 @@ class RunnerBase
}
protected:
- void info_(const std::string text, int thread_id = -1, EventType event = EventType::IDLE,
- const std::string& target_capability = "", const std::string& target_provider = "")
+ void info_(const std::string text, int thread_id = -1)
{
auto message = Event();
@@ -456,36 +456,15 @@ class RunnerBase
message.origin_node = "runners";
message.source.capability = run_config_.interface;
message.source.provider = run_config_.provider;
- message.target.capability = target_capability;
- message.target.provider = target_provider;
+ message.target.capability = "";
+ message.target.provider = "";
message.thread_id = thread_id;
message.type = Event::INFO;
message.content = text;
message.pid = -1;
+ message.event = Event::UNDEFINED;
- switch (event)
- {
- case EventType::IDLE:
- message.event = Event::IDLE;
- break;
- case EventType::STARTED:
- message.event = Event::STARTED;
- break;
- case EventType::STOPPED:
- message.event = Event::STOPPED;
- break;
- case EventType::FAILED:
- message.event = Event::FAILED;
- break;
- case EventType::SUCCEEDED:
- message.event = Event::SUCCEEDED;
- break;
- default:
- message.event = Event::UNDEFINED;
- break;
- }
-
- event_->info(message);
+ event_client_->publish(message);
}
void error_(const std::string text, int thread_id = -1)
@@ -504,7 +483,7 @@ class RunnerBase
message.pid = -1;
message.event = Event::UNDEFINED;
- event_->error(message);
+ event_client_->publish(message);
}
void output_(const std::string text, const std::string element, int thread_id = -1)
@@ -518,12 +497,52 @@ class RunnerBase
message.target.capability = "";
message.target.provider = "";
message.thread_id = thread_id;
- message.type = Event::ERROR_ELEMENT;
+ message.type = Event::INFO;
message.content = text + " : " + element;
message.pid = -1;
message.event = Event::UNDEFINED;
- event_->error_element(message);
+ event_client_->publish(message);
+ }
+
+ void event_(EventType event = EventType::IDLE, int thread_id = -1, const std::string& target_capability = "",
+ const std::string& target_provider = "")
+ {
+ auto message = Event();
+
+ message.header.stamp = node_->now();
+ message.origin_node = "runners";
+ message.source.capability = run_config_.interface;
+ message.source.provider = run_config_.provider;
+ message.target.capability = target_capability;
+ message.target.provider = target_provider;
+ message.thread_id = thread_id;
+ message.type = Event::RUNNER_EVENT;
+ message.pid = -1;
+
+ switch (event)
+ {
+ case EventType::IDLE:
+ message.event = Event::IDLE;
+ break;
+ case EventType::STARTED:
+ message.event = Event::STARTED;
+ break;
+ case EventType::STOPPED:
+ message.event = Event::STOPPED;
+ break;
+ case EventType::FAILED:
+ message.event = Event::FAILED;
+ break;
+ case EventType::SUCCEEDED:
+ message.event = Event::SUCCEEDED;
+ break;
+ default:
+ message.event = Event::UNDEFINED;
+ break;
+ }
+
+ event_client_->publish(message);
}
/**
@@ -539,7 +558,7 @@ class RunnerBase
/**
* @brief dictionary of events
*/
- std::map events;
+ std::map events;
/**
* @brief Last event tracker id to be inserted
@@ -599,7 +618,7 @@ class RunnerBase
/**
* @brief client for publishing events
*/
- std::shared_ptr event_;
+ std::shared_ptr event_client_;
};
} // namespace capabilities2_runner
diff --git a/capabilities2_runner/include/capabilities2_runner/service_runner.hpp b/capabilities2_runner/include/capabilities2_runner/service_runner.hpp
index 732255c..d0017ef 100644
--- a/capabilities2_runner/include/capabilities2_runner/service_runner.hpp
+++ b/capabilities2_runner/include/capabilities2_runner/service_runner.hpp
@@ -84,8 +84,8 @@ class ServiceRunner : public RunnerBase
// trigger the events related to on_failure state
if (events[execute_id].on_failure.interface != "")
{
- info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface,
- events[execute_id].on_failure.provider);
+ event_(EventType::FAILED, id, events[execute_id].on_failure.interface,
+ events[execute_id].on_failure.provider);
triggerFunction_(events[execute_id].on_failure.interface,
update_on_failure(events[execute_id].on_failure.parameters));
}
@@ -100,8 +100,8 @@ class ServiceRunner : public RunnerBase
// trigger the events related to on_success state
if (events[execute_id].on_success.interface != "")
{
- info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface,
- events[execute_id].on_success.provider);
+ event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface,
+ events[execute_id].on_success.provider);
triggerFunction_(events[execute_id].on_success.interface,
update_on_success(events[execute_id].on_success.parameters));
}
@@ -114,8 +114,7 @@ class ServiceRunner : public RunnerBase
// trigger the events related to on_started state
if (events[execute_id].on_started.interface != "")
{
- info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface,
- events[execute_id].on_started.provider);
+ event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider);
triggerFunction_(events[execute_id].on_started.interface,
update_on_started(events[execute_id].on_started.parameters));
}
@@ -146,8 +145,7 @@ class ServiceRunner : public RunnerBase
// Trigger on_stopped event if defined
if (events[execute_id].on_stopped.interface != "")
{
- info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface,
- events[execute_id].on_stopped.provider);
+ event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, events[execute_id].on_stopped.provider);
triggerFunction_(events[execute_id].on_stopped.interface,
update_on_stopped(events[execute_id].on_stopped.parameters));
}
diff --git a/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp b/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp
index 06b3875..f2a6893 100644
--- a/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp
+++ b/capabilities2_runner/include/capabilities2_runner/topic_runner.hpp
@@ -60,8 +60,7 @@ class TopicRunner : public RunnerBase
// trigger the events related to on_started state
if (events[execute_id].on_started.interface != "")
{
- info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface,
- events[execute_id].on_started.provider);
+ event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider);
triggerFunction_(events[execute_id].on_started.interface,
update_on_started(events[execute_id].on_started.parameters));
}
@@ -80,8 +79,8 @@ class TopicRunner : public RunnerBase
// trigger the events related to on_success state
if (events[execute_id].on_success.interface != "")
{
- info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface,
- events[execute_id].on_success.provider);
+ event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface,
+ events[execute_id].on_success.provider);
triggerFunction_(events[execute_id].on_success.interface,
update_on_success(events[execute_id].on_success.parameters));
}
@@ -93,8 +92,7 @@ class TopicRunner : public RunnerBase
// trigger the events related to on_failure state
if (events[execute_id].on_failure.interface != "")
{
- info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface,
- events[execute_id].on_failure.provider);
+ event_(EventType::FAILED, id, events[execute_id].on_failure.interface, events[execute_id].on_failure.provider);
triggerFunction_(events[execute_id].on_failure.interface,
update_on_failure(events[execute_id].on_failure.parameters));
}
@@ -124,8 +122,7 @@ class TopicRunner : public RunnerBase
// Trigger on_stopped event if defined
if (events[execute_id].on_stopped.interface != "")
{
- info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface,
- events[execute_id].on_stopped.provider);
+ event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface, events[execute_id].on_stopped.provider);
triggerFunction_(events[execute_id].on_stopped.interface,
update_on_stopped(events[execute_id].on_stopped.parameters));
}
diff --git a/capabilities2_runner/package.xml b/capabilities2_runner/package.xml
index 69f7e1c..248120c 100644
--- a/capabilities2_runner/package.xml
+++ b/capabilities2_runner/package.xml
@@ -8,6 +8,7 @@
Michael Pritchard
mik-p
+ Kalana Ratnayake
Michael Pritchard
@@ -20,7 +21,8 @@
pluginlib
std_msgs
capabilities2_msgs
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
diff --git a/capabilities2_runner_audio/CMakeLists.txt b/capabilities2_runner_audio/CMakeLists.txt
index 7f28773..14c53d0 100644
--- a/capabilities2_runner_audio/CMakeLists.txt
+++ b/capabilities2_runner_audio/CMakeLists.txt
@@ -18,7 +18,8 @@ find_package(pluginlib REQUIRED)
find_package(hri_audio_msgs REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -37,7 +38,8 @@ ament_target_dependencies(${PROJECT_NAME}
hri_audio_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner_audio/package.xml b/capabilities2_runner_audio/package.xml
index 128348b..787289b 100644
--- a/capabilities2_runner_audio/package.xml
+++ b/capabilities2_runner_audio/package.xml
@@ -4,7 +4,11 @@
capabilities2_runner_audio
0.0.0
TODO: Package description
- kalana
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
MIT
@@ -17,7 +21,8 @@
hri_audio_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
diff --git a/capabilities2_runner_bt/CMakeLists.txt b/capabilities2_runner_bt/CMakeLists.txt
index 81c5fcc..1052e22 100644
--- a/capabilities2_runner_bt/CMakeLists.txt
+++ b/capabilities2_runner_bt/CMakeLists.txt
@@ -16,7 +16,8 @@ find_package(rclcpp_action REQUIRED)
find_package(pluginlib REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -35,7 +36,8 @@ ament_target_dependencies(${PROJECT_NAME}
pluginlib
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
behaviortree_cpp
TinyXML2
)
diff --git a/capabilities2_runner_bt/package.xml b/capabilities2_runner_bt/package.xml
index 3dded60..d41e1c7 100644
--- a/capabilities2_runner_bt/package.xml
+++ b/capabilities2_runner_bt/package.xml
@@ -21,7 +21,8 @@
std_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
behaviortree_cpp
diff --git a/capabilities2_runner_capabilities/CMakeLists.txt b/capabilities2_runner_capabilities/CMakeLists.txt
index c90344e..57153c2 100644
--- a/capabilities2_runner_capabilities/CMakeLists.txt
+++ b/capabilities2_runner_capabilities/CMakeLists.txt
@@ -16,7 +16,8 @@ find_package(rclcpp_action REQUIRED)
find_package(pluginlib REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -34,7 +35,8 @@ ament_target_dependencies(${PROJECT_NAME}
pluginlib
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner_capabilities/package.xml b/capabilities2_runner_capabilities/package.xml
index c383eda..c97cfee 100644
--- a/capabilities2_runner_capabilities/package.xml
+++ b/capabilities2_runner_capabilities/package.xml
@@ -4,7 +4,13 @@
capabilities2_runner_capabilities
0.0.0
TODO: Package description
- kalana
+
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
+
TODO: License declaration
ament_cmake
@@ -18,7 +24,8 @@
std_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
diff --git a/capabilities2_runner_fabric/CMakeLists.txt b/capabilities2_runner_fabric/CMakeLists.txt
index f8caf64..15dc76e 100644
--- a/capabilities2_runner_fabric/CMakeLists.txt
+++ b/capabilities2_runner_fabric/CMakeLists.txt
@@ -17,7 +17,8 @@ find_package(pluginlib REQUIRED)
find_package(fabric_msgs REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -36,7 +37,8 @@ ament_target_dependencies(${PROJECT_NAME}
fabric_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner_fabric/package.xml b/capabilities2_runner_fabric/package.xml
index 3be6c38..d2b1197 100644
--- a/capabilities2_runner_fabric/package.xml
+++ b/capabilities2_runner_fabric/package.xml
@@ -4,7 +4,13 @@
capabilities2_runner_fabric
0.0.0
TODO: Package description
- kalana
+
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
+
TODO: License declaration
ament_cmake
@@ -18,7 +24,8 @@
std_msgs
fabric_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
diff --git a/capabilities2_runner_nav2/CMakeLists.txt b/capabilities2_runner_nav2/CMakeLists.txt
index 29e59b1..61d91a3 100644
--- a/capabilities2_runner_nav2/CMakeLists.txt
+++ b/capabilities2_runner_nav2/CMakeLists.txt
@@ -20,7 +20,8 @@ find_package(tf2_ros REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -42,7 +43,8 @@ ament_target_dependencies(${PROJECT_NAME}
geometry_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp
index 7856b7d..f979f28 100644
--- a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp
+++ b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/occupancygrid_runner.hpp
@@ -124,7 +124,7 @@ class OccupancyGridRunner : public TopicRunner
// Return the updated parameters element with OccupancyGrid added
std::string result = convert_to_string(element);
- output_("on_success trigger parameter", result);
+ // output_("on_success trigger parameter", result);
return result;
};
diff --git a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp
index f42efb5..5ce0429 100644
--- a/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp
+++ b/capabilities2_runner_nav2/include/capabilities2_runner_nav2/robotpose_runner.hpp
@@ -64,8 +64,7 @@ class RobotPoseRunner : public RunnerBase
// trigger the events related to on_started state
if (events[execute_id].on_started.interface != "")
{
- info_("on_started", id, EventType::STARTED, events[execute_id].on_started.interface,
- events[execute_id].on_started.provider);
+ event_(EventType::STARTED, id, events[execute_id].on_started.interface, events[execute_id].on_started.provider);
triggerFunction_(events[execute_id].on_started.interface,
update_on_started(events[execute_id].on_started.parameters));
}
@@ -90,8 +89,8 @@ class RobotPoseRunner : public RunnerBase
// trigger the events related to on_success state
if (events[execute_id].on_success.interface != "")
{
- info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface,
- events[execute_id].on_success.provider);
+ event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface,
+ events[execute_id].on_success.provider);
triggerFunction_(events[execute_id].on_success.interface,
update_on_success(events[execute_id].on_success.parameters));
}
@@ -112,8 +111,8 @@ class RobotPoseRunner : public RunnerBase
// trigger the events related to on_success state
if (events[execute_id].on_success.interface != "")
{
- info_("on_success", id, EventType::SUCCEEDED, events[execute_id].on_success.interface,
- events[execute_id].on_success.provider);
+ event_(EventType::SUCCEEDED, id, events[execute_id].on_success.interface,
+ events[execute_id].on_success.provider);
triggerFunction_(events[execute_id].on_success.interface,
update_on_success(events[execute_id].on_success.parameters));
}
@@ -127,8 +126,7 @@ class RobotPoseRunner : public RunnerBase
// trigger the events related to on_failure state
if (events[execute_id].on_failure.interface != "")
{
- info_("on_failure", id, EventType::FAILED, events[execute_id].on_failure.interface,
- events[execute_id].on_failure.provider);
+ event_(EventType::FAILED, id, events[execute_id].on_failure.interface, events[execute_id].on_failure.provider);
triggerFunction_(events[execute_id].on_failure.interface,
update_on_failure(events[execute_id].on_failure.parameters));
}
@@ -158,7 +156,7 @@ class RobotPoseRunner : public RunnerBase
// Trigger on_stopped event if defined
if (events[execute_id].on_stopped.interface != "")
{
- info_("on_stopped", -1, EventType::STOPPED, events[execute_id].on_stopped.interface,
+ event_(EventType::STOPPED, -1, events[execute_id].on_stopped.interface,
events[execute_id].on_stopped.provider);
triggerFunction_(events[execute_id].on_stopped.interface,
update_on_stopped(events[execute_id].on_stopped.parameters));
@@ -206,7 +204,7 @@ class RobotPoseRunner : public RunnerBase
// Return the updated parameters element with Pose added as string
std::string result = convert_to_string(element);
- output_("on_success trigger parameter", result);
+ // output_("on_success trigger parameter", result);
return result;
};
diff --git a/capabilities2_runner_nav2/package.xml b/capabilities2_runner_nav2/package.xml
index cb8ff67..7222b62 100644
--- a/capabilities2_runner_nav2/package.xml
+++ b/capabilities2_runner_nav2/package.xml
@@ -3,7 +3,12 @@
capabilities2_runner_nav2
0.0.0
TODO: Package description
- kalana
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
+
MIT
ament_cmake
@@ -16,7 +21,8 @@
geometry_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
ament_lint_auto
diff --git a/capabilities2_runner_prompt/CMakeLists.txt b/capabilities2_runner_prompt/CMakeLists.txt
index 6fb5ef2..b0a509c 100644
--- a/capabilities2_runner_prompt/CMakeLists.txt
+++ b/capabilities2_runner_prompt/CMakeLists.txt
@@ -17,7 +17,8 @@ find_package(pluginlib REQUIRED)
find_package(prompt_msgs REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
@@ -36,7 +37,8 @@ ament_target_dependencies(${PROJECT_NAME}
prompt_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
)
diff --git a/capabilities2_runner_prompt/package.xml b/capabilities2_runner_prompt/package.xml
index f1d245b..54160c3 100644
--- a/capabilities2_runner_prompt/package.xml
+++ b/capabilities2_runner_prompt/package.xml
@@ -4,7 +4,12 @@
capabilities2_runner_prompt
0.0.0
TODO: Package description
- kalana
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
+
TODO: License declaration
ament_cmake
@@ -15,7 +20,8 @@
prompt_msgs
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
ament_lint_auto
diff --git a/capabilities2_server/CMakeLists.txt b/capabilities2_server/CMakeLists.txt
index 384014b..0088818 100644
--- a/capabilities2_server/CMakeLists.txt
+++ b/capabilities2_server/CMakeLists.txt
@@ -19,7 +19,8 @@ find_package(bondcpp REQUIRED)
find_package(pluginlib REQUIRED)
find_package(capabilities2_msgs REQUIRED)
find_package(capabilities2_runner REQUIRED)
-find_package(capabilities2_events REQUIRED)
+find_package(event_logger REQUIRED)
+find_package(event_logger_msgs REQUIRED)
find_package(tinyxml2_vendor REQUIRED)
find_package(TinyXML2 REQUIRED) # provided by tinyxml2 upstream, or tinyxml2_vendor
find_package(backward_ros REQUIRED)
@@ -61,7 +62,8 @@ ament_target_dependencies(${PROJECT_NAME}_comp
rclcpp_components
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
SQLite3
yaml-cpp
@@ -103,7 +105,8 @@ ament_target_dependencies(${PROJECT_NAME}_node
pluginlib
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
TinyXML2
SQLite3
yaml-cpp
diff --git a/capabilities2_server/include/capabilities2_server/capabilities_api.hpp b/capabilities2_server/include/capabilities2_server/capabilities_api.hpp
index 7bab86a..6e9bf96 100644
--- a/capabilities2_server/include/capabilities2_server/capabilities_api.hpp
+++ b/capabilities2_server/include/capabilities2_server/capabilities_api.hpp
@@ -16,13 +16,14 @@
#include
#include
#include
-#include
-#include
+
+#include
+#include
+#include
#include
#include
#include
-#include
#include
#include
@@ -239,7 +240,7 @@ class CapabilitiesAPI
* @param capability capability from where the events originate
* @param event_options event options for the capability
*/
- void set_triggers(const std::string& capability, capabilities2::event_opts& event_options)
+ void set_triggers(const std::string& capability, event_logger::event_opts& event_options)
{
try
{
diff --git a/capabilities2_server/include/capabilities2_server/capabilities_server.hpp b/capabilities2_server/include/capabilities2_server/capabilities_server.hpp
index f177673..70f4a98 100644
--- a/capabilities2_server/include/capabilities2_server/capabilities_server.hpp
+++ b/capabilities2_server/include/capabilities2_server/capabilities_server.hpp
@@ -15,7 +15,6 @@
#include
-#include
#include
#include
@@ -34,8 +33,9 @@
#include
#include
-#include
-#include
+#include
+#include
+#include
namespace capabilities2_server
{
@@ -318,24 +318,36 @@ class CapabilitiesServer : public rclcpp::Node, public CapabilitiesAPI
void configure_capability_cb(const std::shared_ptr req,
std::shared_ptr res)
{
- capabilities2::event_opts event_options;
+ event_logger::event_opts event_options;
event_options.on_started.interface = req->target_on_start.capability;
event_options.on_started.provider = req->target_on_start.provider;
event_options.on_started.parameters = req->target_on_start.parameters;
+ event_->runner_define(req->source.capability, req->source.provider, req->target_on_start.capability,
+ req->target_on_start.provider, event_logger_msgs::msg::Event::STARTED);
+
event_options.on_failure.interface = req->target_on_failure.capability;
event_options.on_failure.provider = req->target_on_failure.provider;
event_options.on_failure.parameters = req->target_on_failure.parameters;
+ event_->runner_define(req->source.capability, req->source.provider, req->target_on_failure.capability,
+ req->target_on_failure.provider, event_logger_msgs::msg::Event::FAILED);
+
event_options.on_success.interface = req->target_on_success.capability;
event_options.on_success.provider = req->target_on_success.provider;
event_options.on_success.parameters = req->target_on_success.parameters;
+ event_->runner_define(req->source.capability, req->source.provider, req->target_on_success.capability,
+ req->target_on_success.provider, event_logger_msgs::msg::Event::SUCCEEDED);
+
event_options.on_stopped.interface = req->target_on_stop.capability;
event_options.on_stopped.provider = req->target_on_stop.provider;
event_options.on_stopped.parameters = req->target_on_stop.parameters;
+ event_->runner_define(req->source.capability, req->source.provider, req->target_on_stop.capability,
+ req->target_on_stop.provider, event_logger_msgs::msg::Event::STOPPED);
+
// setup triggers between parameters
set_triggers(req->source.capability, event_options);
diff --git a/capabilities2_server/include/capabilities2_server/runner_cache.hpp b/capabilities2_server/include/capabilities2_server/runner_cache.hpp
index 1d48bf7..1b20f79 100644
--- a/capabilities2_server/include/capabilities2_server/runner_cache.hpp
+++ b/capabilities2_server/include/capabilities2_server/runner_cache.hpp
@@ -9,7 +9,7 @@
#include
#include
#include
-#include
+#include
namespace capabilities2_server
{
@@ -116,16 +116,11 @@ class RunnerCache
* @param on_success on_success event with capability and parameters
* @param on_stopped on_stop event with capability and parameters
*/
- void set_runner_triggers(const std::string& capability, capabilities2::event_opts& event_options)
+ void set_runner_triggers(const std::string& capability, event_logger::event_opts& event_options)
{
int event_count = runner_cache_[capability]->attach_events(
event_options, std::bind(&capabilities2_server::RunnerCache::trigger_runner, this, std::placeholders::_1,
std::placeholders::_2));
-
- event_->info(
- "Configured triggers for capability " + capability + ": \n\tStarted: " + event_options.on_started.interface +
- " \n\tFailure: " + event_options.on_failure.interface + " \n\tSuccess: " + event_options.on_success.interface +
- "\n\tStopped: " + event_options.on_stopped.interface);
}
/**
diff --git a/capabilities2_server/launch/server.launch.py b/capabilities2_server/launch/server.launch.py
index 6879e11..0ef7310 100644
--- a/capabilities2_server/launch/server.launch.py
+++ b/capabilities2_server/launch/server.launch.py
@@ -5,6 +5,8 @@
import os
from launch import LaunchDescription
from launch_ros.actions import Node
+from launch.actions import IncludeLaunchDescription
+from launch.launch_description_sources import PythonLaunchDescriptionSource
from ament_index_python.packages import get_package_share_directory
@@ -31,3 +33,5 @@ def generate_launch_description():
return LaunchDescription([
capabilities2
])
+
+
diff --git a/capabilities2_server/package.xml b/capabilities2_server/package.xml
index bbe4230..0a8ab8a 100644
--- a/capabilities2_server/package.xml
+++ b/capabilities2_server/package.xml
@@ -8,6 +8,7 @@
Michael Pritchard
mik-p
+ Kalana Ratnayake
Michael Pritchard
@@ -22,7 +23,8 @@
rclcpp_components
capabilities2_msgs
capabilities2_runner
- capabilities2_events
+ event_logger
+ event_logger_msgs
tinyxml2_vendor
diff --git a/capabilities2_utils/include/capabilities2_utils/bond_client.hpp b/capabilities2_utils/include/capabilities2_utils/bond_client.hpp
index ef7d675..3db48fd 100644
--- a/capabilities2_utils/include/capabilities2_utils/bond_client.hpp
+++ b/capabilities2_utils/include/capabilities2_utils/bond_client.hpp
@@ -2,7 +2,7 @@
#include
#include
#include
-#include
+#include
class BondClient
{
diff --git a/capabilities2_utils/package.xml b/capabilities2_utils/package.xml
index de33cec..f6296bd 100644
--- a/capabilities2_utils/package.xml
+++ b/capabilities2_utils/package.xml
@@ -4,7 +4,12 @@
capabilities2_utils
0.0.0
TODO: Package description
- kalana
+
+ Kalana Ratnayake
+ Kalana Ratnayake
+
+ Kalana Ratnayake
+
TODO: License declaration
ament_cmake
diff --git a/docs/foxglove_studio.md b/docs/foxglove_studio.md
new file mode 100644
index 0000000..341ea13
--- /dev/null
+++ b/docs/foxglove_studio.md
@@ -0,0 +1,7 @@
+# Dependency Installation with Foxglove Studio
+
+We utilize foxglove studio to visalize information about the Capabilities2 system.
+
+Event system has been defined in capabilities2_events package and foxglove-bridge has been set as a dependency of capabilities2_events for ease of installation. We have selected foxglove-bridge over rosbridge due to performance improvements foxglove-bridge has over rosbridge due to former being written in C++ and latter being in Python.
+
+To visualize data, download foxglove-studio from [website](https://foxglove.dev/download) and create a free account when signing in.
\ No newline at end of file
diff --git a/readme.md b/readme.md
index 7da78ab..99ac6dc 100644
--- a/readme.md
+++ b/readme.md
@@ -37,6 +37,7 @@ Runners can be created using the runner API parent classes [here](./capabilities
- [Setup Instructions without devcontainer](./docs/setup.md)
- [Dependency installation for Nav2 Runners](./docs/nav2_setup.md)
- [Dependency installation for Prompt Runners](./docs/prompt_tools_setup.md)
+- [Dependency installation for Foxglove-studio](./docs/foxglove_studio.md)
## Quick Startup information