mirror of
https://github.com/micro-ROS/micro-ROS-Agent.git
synced 2026-09-06 09:55:15 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b815304e9 | ||
|
|
7ddbf4d245 | ||
|
|
0e41ea6522 | ||
|
|
d1b916ced2 | ||
|
|
4f686e8dc1 | ||
|
|
d4be840332 |
@@ -2,6 +2,14 @@
|
||||
Changelog for package micro-ros_agent
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
3.0.5 (2023-06-06)
|
||||
------------------
|
||||
|
||||
3.0.4 (2022-09-28)
|
||||
------------------
|
||||
* Fix Datawriter destruction (`#169 <https://github.com/micro-ROS/micro-ROS-Agent/issues/169>`_)
|
||||
* Synchronise predicate (`#160 <https://github.com/micro-ROS/micro-ROS-Agent/issues/160>`_)
|
||||
|
||||
3.0.3 (2022-06-13)
|
||||
------------------
|
||||
* Fix memory leak in graph manager (`#147 <https://github.com/micro-ROS/micro-ROS-Agent/issues/147>`_)
|
||||
|
||||
@@ -305,7 +305,7 @@ private:
|
||||
// Store a auxiliary publishers and datawriter for each participant created in micro-ROS
|
||||
std::map<
|
||||
const eprosima::fastdds::dds::DomainParticipant*,
|
||||
std::unique_ptr<eprosima::fastdds::dds::DataWriter>
|
||||
eprosima::fastdds::dds::DataWriter*
|
||||
> micro_ros_graph_datawriters_;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||
<package format="3">
|
||||
<name>micro_ros_agent</name>
|
||||
<version>3.0.3</version>
|
||||
<version>3.0.5</version>
|
||||
<description>micro-ROS Agent package</description>
|
||||
<maintainer email="pablogarrido@eprosima.com">Pablo Garrido</maintainer>
|
||||
<maintainer email="antoniocuadros@eprosima.com">Antonio Cuadros</maintainer>
|
||||
|
||||
@@ -125,9 +125,11 @@ GraphManager::GraphManager(eprosima::fastdds::dds::DomainId_t domain_id)
|
||||
|
||||
// Set graph cache on change callback function
|
||||
graphCache_.set_on_change_callback([this]()
|
||||
{
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(this->mtx_);
|
||||
this->graph_changed_ = true;
|
||||
}
|
||||
this->cv_.notify_one();
|
||||
});
|
||||
|
||||
@@ -144,6 +146,7 @@ inline void GraphManager::publish_microros_graph()
|
||||
{
|
||||
return this->graph_changed_;
|
||||
});
|
||||
graph_changed_ = false;
|
||||
}
|
||||
|
||||
if (display_on_change_)
|
||||
@@ -151,7 +154,6 @@ inline void GraphManager::publish_microros_graph()
|
||||
std::cout << "Updated uros Graph: graph changed" << std::endl;
|
||||
std::cout << graphCache_ << std::endl;
|
||||
}
|
||||
graph_changed_ = false;
|
||||
|
||||
micro_ros_msgs::msg::Graph graph_message;
|
||||
|
||||
@@ -320,11 +322,10 @@ void GraphManager::add_participant(
|
||||
if (it == micro_ros_graph_datawriters_.end())
|
||||
{
|
||||
// Create datawriter
|
||||
std::unique_ptr<eprosima::fastdds::dds::DataWriter> datawriter;
|
||||
datawriter.reset(publisher_->create_datawriter(ros_discovery_topic_.get(), datawriter_qos_));
|
||||
eprosima::fastdds::dds::DataWriter * datawriter = publisher_->create_datawriter(ros_discovery_topic_.get(), datawriter_qos_);
|
||||
|
||||
it = micro_ros_graph_datawriters_.insert(
|
||||
std::make_pair(participant, std::move(datawriter))).first;
|
||||
std::make_pair(participant, datawriter)).first;
|
||||
}
|
||||
|
||||
it->second->write(static_cast<void *>(&info));
|
||||
@@ -344,9 +345,10 @@ void GraphManager::remove_participant(
|
||||
rmw_dds_common::convert_gid_to_msg(&gid, &info.gid);
|
||||
auto it = micro_ros_graph_datawriters_.find(participant);
|
||||
it->second->write(static_cast<void *>(&info));
|
||||
}
|
||||
publisher_->delete_datawriter(it->second);
|
||||
micro_ros_graph_datawriters_.erase(participant);
|
||||
}
|
||||
}
|
||||
|
||||
void GraphManager::add_datawriter(
|
||||
const eprosima::fastrtps::rtps::GUID_t& datawriter_guid,
|
||||
|
||||
Reference in New Issue
Block a user