Compare commits

..
7 Commits
Author SHA1 Message Date
Guillaume Beuzeboc e0d3e01909 Fix/snap version (#162)
* fix(snap): grade and version should be from the part

* CI(snap): need git history for latest git tag

* ci(snap): use new action-publish crendential system

* ignore snap
2023-01-20 07:29:25 +01:00
Pablo Garrido e2d5e6699e 1.5.4 2022-09-28 15:58:10 +02:00
Pablo Garrido 5c23d99726 Changelog 2022-09-28 15:58:07 +02:00
mergify[bot]andPablo Garrido 2857b2e620 Fix Datawriter destruction (#169) (#171)
Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>
(cherry picked from commit 4f686e8dc1)

Co-authored-by: Pablo Garrido <pablogs9@gmail.com>
2022-08-23 13:08:41 +02:00
mergify[bot]andcmraaron cb0e5e4ec9 Synchronise predicate (#160) (#167)
* ensure synchronised access to our predicate

Signed-off-by: Aaron <aaron.lipinski@cm-robotics.com>

* release lock before signalling

Signed-off-by: Aaron <aaron.lipinski@cm-robotics.com>

Signed-off-by: Aaron <aaron.lipinski@cm-robotics.com>
(cherry picked from commit d4be840332)

Co-authored-by: cmraaron <102722879+cmraaron@users.noreply.github.com>
2022-08-19 09:28:19 +02:00
Antonio Cuadros 096d54a5e9 Restore Snap publish (#154) 2022-06-13 15:09:07 +02:00
Antonio Cuadros 70f9cf7ddb Fix snap arch build (#151)
* Update snapcraft CI

* Update args

* Disable destructive mode

* Disable arm64 snap arch

* Restore experimental flag

* Remove publish job
2022-06-13 08:29:21 +02:00
7 changed files with 27 additions and 23 deletions
+5 -11
View File
@@ -15,13 +15,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
snap-file: ${{ steps.build-snap.outputs.snap }} snap-file: ${{ steps.build-snap.outputs.snap }}
strategy:
matrix:
architecture:
- linux/amd64
- linux/arm64
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with:
# full history for latest tag name
fetch-depth: 0
- uses: snapcore/action-build@v1 - uses: snapcore/action-build@v1
id: build-snap id: build-snap
with: with:
@@ -43,18 +41,14 @@ jobs:
if: github.ref == 'refs/heads/foxy' || startsWith(github.ref, 'refs/tags/') if: github.ref == 'refs/heads/foxy' || startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build needs: build
strategy:
matrix:
architecture:
- linux/amd64
- linux/arm64
steps: steps:
- uses: actions/download-artifact@v3 - uses: actions/download-artifact@v3
with: with:
name: micro-ros-agent-snap name: micro-ros-agent-snap
path: . path: .
- uses: snapcore/action-publish@v1 - uses: snapcore/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }}
with: with:
store_login: ${{ secrets.STORE_LOGIN }}
snap: ${{needs.build.outputs.snap-file}} snap: ${{needs.build.outputs.snap-file}}
release: ${{ startsWith(github.ref, 'refs/tags/') && 'candidate' || 'edge'}} release: ${{ startsWith(github.ref, 'refs/tags/') && 'candidate' || 'edge'}}
+4
View File
@@ -33,3 +33,7 @@
# End of https://www.gitignore.io/api/qtcreator # End of https://www.gitignore.io/api/qtcreator
CMakeLists.txt.user CMakeLists.txt.user
# snaps
*.snap
+5
View File
@@ -2,6 +2,11 @@
Changelog for package micro-ros_agent Changelog for package micro-ros_agent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.5.4 (2022-09-28)
------------------
* Fix Datawriter destruction (`#169 <https://github.com/micro-ROS/micro-ROS-Agent/issues/169>`_) (`#171 <https://github.com/micro-ROS/micro-ROS-Agent/issues/171>`_)
* Synchronise predicate (`#160 <https://github.com/micro-ROS/micro-ROS-Agent/issues/160>`_) (`#167 <https://github.com/micro-ROS/micro-ROS-Agent/issues/167>`_)
1.5.3 (2022-06-13) 1.5.3 (2022-06-13)
------------------ ------------------
* Fix memory leak in graph manager (`#147 <https://github.com/micro-ROS/micro-ROS-Agent/issues/147>`_) (`#149 <https://github.com/micro-ROS/micro-ROS-Agent/issues/149>`_) * Fix memory leak in graph manager (`#147 <https://github.com/micro-ROS/micro-ROS-Agent/issues/147>`_) (`#149 <https://github.com/micro-ROS/micro-ROS-Agent/issues/149>`_)
@@ -335,7 +335,7 @@ private:
// Store a auxiliary publishers and datawriter for each participant created in micro-ROS // Store a auxiliary publishers and datawriter for each participant created in micro-ROS
std::map< std::map<
const eprosima::fastdds::dds::DomainParticipant*, const eprosima::fastdds::dds::DomainParticipant*,
std::unique_ptr<eprosima::fastdds::dds::DataWriter> eprosima::fastdds::dds::DataWriter*
> micro_ros_graph_datawriters_; > micro_ros_graph_datawriters_;
}; };
+1 -1
View File
@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3"> <package format="3">
<name>micro_ros_agent</name> <name>micro_ros_agent</name>
<version>1.5.3</version> <version>1.5.4</version>
<description>micro-ROS Agent package</description> <description>micro-ROS Agent package</description>
<maintainer email="pablogarrido@eprosima.com">Pablo Garrido</maintainer> <maintainer email="pablogarrido@eprosima.com">Pablo Garrido</maintainer>
<maintainer email="antoniocuadros@eprosima.com">Antonio Cuadros</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 // Set graph cache on change callback function
graphCache_.set_on_change_callback([this]() graphCache_.set_on_change_callback([this]()
{
{ {
std::unique_lock<std::mutex> lock(this->mtx_); std::unique_lock<std::mutex> lock(this->mtx_);
this->graph_changed_ = true; this->graph_changed_ = true;
}
this->cv_.notify_one(); this->cv_.notify_one();
}); });
@@ -144,6 +146,7 @@ inline void GraphManager::publish_microros_graph()
{ {
return this->graph_changed_; return this->graph_changed_;
}); });
graph_changed_ = false;
} }
if (display_on_change_) 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 << "Updated uros Graph: graph changed" << std::endl;
std::cout << graphCache_ << std::endl; std::cout << graphCache_ << std::endl;
} }
graph_changed_ = false;
micro_ros_msgs::msg::Graph graph_message; micro_ros_msgs::msg::Graph graph_message;
@@ -320,11 +322,10 @@ void GraphManager::add_participant(
if (it == micro_ros_graph_datawriters_.end()) if (it == micro_ros_graph_datawriters_.end())
{ {
// Create datawriter // Create datawriter
std::unique_ptr<eprosima::fastdds::dds::DataWriter> datawriter; eprosima::fastdds::dds::DataWriter * datawriter = publisher_->create_datawriter(ros_discovery_topic_.get(), datawriter_qos_);
datawriter.reset(publisher_->create_datawriter(ros_discovery_topic_.get(), datawriter_qos_));
it = micro_ros_graph_datawriters_.insert( 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)); 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); rmw_dds_common::convert_gid_to_msg(&gid, &info.gid);
auto it = micro_ros_graph_datawriters_.find(participant); auto it = micro_ros_graph_datawriters_.find(participant);
it->second->write(static_cast<void *>(&info)); it->second->write(static_cast<void *>(&info));
} publisher_->delete_datawriter(it->second);
micro_ros_graph_datawriters_.erase(participant); micro_ros_graph_datawriters_.erase(participant);
} }
}
void GraphManager::add_datawriter( void GraphManager::add_datawriter(
const eprosima::fastrtps::rtps::GUID_t& datawriter_guid, const eprosima::fastrtps::rtps::GUID_t& datawriter_guid,
+2 -3
View File
@@ -1,6 +1,6 @@
name: micro-ros-agent name: micro-ros-agent
adopt-info: uros-agent # parse metadata from the uros-agent part
base: core20 base: core20
version: git
summary: Bridge between Micro ROS client applications and ROS 2 summary: Bridge between Micro ROS client applications and ROS 2
description: | description: |
Micro-ROS, whose default implementation is based on eProsima's Micro-ROS, whose default implementation is based on eProsima's
@@ -99,7 +99,6 @@ description: |
After this, you can execute your snap as usual, After this, you can execute your snap as usual,
using `sudo micro-ros-agent serial -d <serial-dev>`. using `sudo micro-ros-agent serial -d <serial-dev>`.
grade: stable
confinement: strict confinement: strict
architectures: architectures:
@@ -123,7 +122,7 @@ parts:
snapcraftctl set-version "$version" snapcraftctl set-version "$version"
snapcraftctl set-grade "$grade" snapcraftctl set-grade "$grade"
build-packages: [make, gcc, g++] build-packages: [make, gcc, g++, git]
stage-packages: [ros-foxy-ros2launch] stage-packages: [ros-foxy-ros2launch]
runner: runner: