From cd4b7733e1cdbfcebe78699e92c483fb0d6aa126 Mon Sep 17 00:00:00 2001 From: acuadros95 Date: Wed, 7 Jun 2023 10:32:05 +0200 Subject: [PATCH 1/5] Iron release and deprecate foxy Signed-off-by: acuadros95 --- .github/workflows/ci.yml | 2 +- README.md | 6 +-- ci/platformio.ini | 6 +-- extra_script.py | 4 +- microros_utils/library_builder.py | 15 +++--- microros_utils/repositories.py | 78 +++++++++++++++---------------- 6 files changed, 55 insertions(+), 56 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94d3b7d1..788a7e34 100755 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - platform: [teensy41, teensy40, teensy36, teensy35, teensy31, due, zero, olimex_e407, esp32dev, nanorp2040connect, portenta_h7_m7, teensy41_eth, nanorp2040connect_wifi, portenta_h7_m7_wifi, esp32dev_wifi, portenta_h7_m7_foxy, portenta_h7_m7_rolling, teensy41_custom, pico] + platform: [teensy41, teensy40, teensy36, teensy35, teensy31, due, zero, olimex_e407, esp32dev, nanorp2040connect, portenta_h7_m7, teensy41_eth, nanorp2040connect_wifi, portenta_h7_m7_wifi, esp32dev_wifi, portenta_h7_m7_humble, portenta_h7_m7_rolling, teensy41_custom, pico] steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index 9507560c..1c458098 100755 --- a/README.md +++ b/README.md @@ -84,9 +84,9 @@ A explanation for adding custom targets is also present ### ROS 2 distribution The target ROS 2 distribution can be configured with the `board_microros_distro = `, supported values are: - - `humble` *(default value)* + - `humble` + - `iron` *(default value)* - `rolling` - - `foxy` ### Transport configuration The transport can be configured with the `board_microros_transport = `, supported values and configurations are: @@ -206,7 +206,7 @@ It is also possible to use custom transports on a `micro-XRCE Agent` instance. M ## Examples A simple publisher project using serial transport is available on the [examples](./examples) directory, this examples is meant to be modified with the user board. -- More micro-ROS usage examples are available on [micro-ROS-demos/rclc](https://github.com/micro-ROS/micro-ROS-demos/tree/humble/rclc). +- More micro-ROS usage examples are available on [micro-ROS-demos/rclc](https://github.com/micro-ROS/micro-ROS-demos/tree/iron/rclc). - For a complete micro-ROS tutorial, check [Programming with rcl and rclc](https://micro.ros.org/docs/tutorials/programming_rcl_rclc/overview/) documentation. ## Purpose of the Project diff --git a/ci/platformio.ini b/ci/platformio.ini index 94c10af0..3fb85b85 100644 --- a/ci/platformio.ini +++ b/ci/platformio.ini @@ -1,10 +1,10 @@ -; Foxy test -[env:portenta_h7_m7_foxy] +; Humble test +[env:portenta_h7_m7_humble] platform = ststm32 board = portenta_h7_m7 framework = arduino board_microros_transport = serial -board_microros_distro = foxy +board_microros_distro = humble lib_deps = ../ diff --git a/extra_script.py b/extra_script.py index 990922a1..5fb4421c 100644 --- a/extra_script.py +++ b/extra_script.py @@ -34,8 +34,8 @@ selected_board_meta = boards_metas[board] if board in boards_metas else "colcon.meta" -# Retrieve the required transport. Default humble -microros_distro = global_env.BoardConfig().get("microros_distro", "humble") +# Retrieve the required transport. Default iron +microros_distro = global_env.BoardConfig().get("microros_distro", "iron") # Retrieve the required transport. Default serial microros_transport = global_env.BoardConfig().get("microros_transport", "serial") diff --git a/microros_utils/library_builder.py b/microros_utils/library_builder.py index 381dd373..3fed134f 100644 --- a/microros_utils/library_builder.py +++ b/microros_utils/library_builder.py @@ -212,13 +212,12 @@ def package_mcu_library(self): shutil.copytree(self.build_folder + "/mcu/install/include", self.includes) # Fix include paths - if self.distro not in ["foxy"]: - include_folders = os.listdir(self.includes) + include_folders = os.listdir(self.includes) - for folder in include_folders: - folder_path = self.includes + "/{}".format(folder) - repeated_path = folder_path + "/{}".format(folder) + for folder in include_folders: + folder_path = self.includes + "/{}".format(folder) + repeated_path = folder_path + "/{}".format(folder) - if os.path.exists(repeated_path): - shutil.copytree(repeated_path, folder_path, copy_function=shutil.move, dirs_exist_ok=True) - shutil.rmtree(repeated_path) + if os.path.exists(repeated_path): + shutil.copytree(repeated_path, folder_path, copy_function=shutil.move, dirs_exist_ok=True) + shutil.rmtree(repeated_path) diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index 16884900..ca2e6c6a 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -75,6 +75,14 @@ class Sources: Repository("ament_cmake_ros", "https://github.com/ros2/ament_cmake_ros", "humble"), Repository("ament_index", "https://github.com/ament/ament_index", "humble") ], + 'iron': [ + Repository("ament_cmake", "https://github.com/ament/ament_cmake", "iron"), + Repository("ament_lint", "https://github.com/ament/ament_lint", "iron"), + Repository("ament_package", "https://github.com/ament/ament_package", "iron"), + Repository("googletest", "https://github.com/ament/googletest", "iron"), + Repository("ament_cmake_ros", "https://github.com/ros2/ament_cmake_ros", "iron"), + Repository("ament_index", "https://github.com/ament/ament_index", "iron") + ], 'rolling': [ Repository("ament_cmake", "https://github.com/ament/ament_cmake", "rolling"), Repository("ament_lint", "https://github.com/ament/ament_lint", "rolling"), @@ -82,14 +90,6 @@ class Sources: Repository("googletest", "https://github.com/ament/googletest", "rolling"), Repository("ament_cmake_ros", "https://github.com/ros2/ament_cmake_ros", "rolling"), Repository("ament_index", "https://github.com/ament/ament_index", "rolling") - ], - 'foxy': [ - Repository("ament_cmake", "https://github.com/ament/ament_cmake", "foxy"), - Repository("ament_lint", "https://github.com/ament/ament_lint", "foxy"), - Repository("ament_package", "https://github.com/ament/ament_package", "foxy"), - Repository("googletest", "https://github.com/ament/googletest", "foxy"), - Repository("ament_cmake_ros", "https://github.com/ros2/ament_cmake_ros", "foxy"), - Repository("ament_index", "https://github.com/ament/ament_index", "foxy") ] } @@ -116,17 +116,39 @@ class Sources: Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "humble"), Repository("ros2_tracing", "https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing", "humble"), ], + 'iron': [ + Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "iron", "ros2"), + Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "iron", "ros2"), + Repository("rcl", "https://github.com/micro-ROS/rcl", "iron"), + Repository("rclc", "https://github.com/ros2/rclc", "iron"), + Repository("micro_ros_utilities", "https://github.com/micro-ROS/micro_ros_utilities", "iron"), + Repository("rcutils", "https://github.com/micro-ROS/rcutils", "iron"), + Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "iron"), + Repository("rmw-microxrcedds", "https://github.com/micro-ROS/rmw-microxrcedds", "iron"), + Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "iron"), + Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "iron"), + Repository("rosidl", "https://github.com/ros2/rosidl", "iron"), + Repository("rmw", "https://github.com/ros2/rmw", "iron"), + Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "iron"), + Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "iron"), + Repository("unique_identifier_msgs", "https://github.com/ros2/unique_identifier_msgs", "iron"), + Repository("common_interfaces", "https://github.com/ros2/common_interfaces", "iron"), + Repository("test_interface_files", "https://github.com/ros2/test_interface_files", "iron"), + Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "iron"), + Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "iron"), + Repository("ros2_tracing", "https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing", "iron"), + ], 'rolling': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "rolling", "ros2"), Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "rolling", "ros2"), - Repository("rcl", "https://github.com/micro-ROS/rcl", "rolling", "master"), + Repository("rcl", "https://github.com/micro-ROS/rcl", "rolling"), Repository("rclc", "https://github.com/ros2/rclc", "rolling", "master"), - Repository("micro_ros_utilities", "https://github.com/micro-ROS/micro_ros_utilities", "rolling", "main"), - Repository("rcutils", "https://github.com/micro-ROS/rcutils", "rolling", "master"), - Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "rolling", "main"), - Repository("rmw-microxrcedds", "https://github.com/micro-ROS/rmw-microxrcedds", "rolling", "main"), - Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "rolling", "master"), - Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "rolling", "main"), + Repository("micro_ros_utilities", "https://github.com/micro-ROS/micro_ros_utilities", "rolling"), + Repository("rcutils", "https://github.com/micro-ROS/rcutils", "rolling"), + Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "rolling"), + Repository("rmw-microxrcedds", "https://github.com/micro-ROS/rmw-microxrcedds", "rolling"), + Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "rolling"), + Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "rolling"), Repository("rosidl", "https://github.com/ros2/rosidl", "rolling"), Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "rolling"), Repository("rmw", "https://github.com/ros2/rmw", "rolling"), @@ -139,33 +161,11 @@ class Sources: Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "rolling"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "rolling"), Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "rolling"), - ], - 'foxy': [ - Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "foxy", "ros2"), - Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "foxy", "ros2"), - Repository("rcl", "https://github.com/micro-ROS/rcl", "foxy"), - Repository("rclc", "https://github.com/ros2/rclc", "foxy"), - Repository("rcutils", "https://github.com/micro-ROS/rcutils", "foxy"), - Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "foxy"), - Repository("rmw-microxrcedds", "https://github.com/micro-ROS/rmw-microxrcedds", "foxy"), - Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "foxy"), - Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "foxy"), - Repository("tinydir_vendor", "https://github.com/ros2/tinydir_vendor", "foxy", "master"), - Repository("rosidl", "https://github.com/ros2/rosidl", "foxy"), - Repository("rmw", "https://github.com/ros2/rmw", "foxy"), - Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "foxy"), - Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "foxy"), - Repository("unique_identifier_msgs", "https://github.com/ros2/unique_identifier_msgs", "foxy"), - Repository("common_interfaces", "https://github.com/ros2/common_interfaces", "foxy"), - Repository("test_interface_files", "https://github.com/ros2/test_interface_files", "foxy"), - Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "foxy"), - Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "foxy"), - Repository("ros2_tracing", "https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing", "foxy", "foxy_microros"), ] } ignore_packages = { 'humble': ['rcl_logging_log4cxx', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'], - 'rolling': ['test_tracetools', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'], - 'foxy': [ 'rosidl_typesupport_introspection_c', 'rosidl_typesupport_introspection_cpp', 'rcl_logging_log4cxx', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'] + 'iron': ['test_tracetools', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'], + 'rolling': ['test_tracetools', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'] } \ No newline at end of file From c9903d5480e3fadb8d7926969afce9253e276f49 Mon Sep 17 00:00:00 2001 From: acuadros95 Date: Fri, 9 Jun 2023 13:00:46 +0200 Subject: [PATCH 2/5] Fix ros tracing repo Signed-off-by: acuadros95 --- microros_utils/repositories.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index ca2e6c6a..98ff5922 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -114,7 +114,7 @@ class Sources: Repository("test_interface_files", "https://github.com/ros2/test_interface_files", "humble"), Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "humble"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "humble"), - Repository("ros2_tracing", "https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing", "humble"), + Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "humble"), ], 'iron': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "iron", "ros2"), @@ -136,7 +136,7 @@ class Sources: Repository("test_interface_files", "https://github.com/ros2/test_interface_files", "iron"), Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "iron"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "iron"), - Repository("ros2_tracing", "https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing", "iron"), + Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "iron"), ], 'rolling': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "rolling", "ros2"), From 5a68fcab408c1ffae84cba194a3eb989e8c3fedb Mon Sep 17 00:00:00 2001 From: acuadros95 Date: Fri, 9 Jun 2023 13:07:56 +0200 Subject: [PATCH 3/5] Add missing repo Signed-off-by: acuadros95 --- microros_utils/repositories.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index 98ff5922..5a6e04bd 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -137,6 +137,7 @@ class Sources: Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "iron"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "iron"), Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "iron"), + Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "iron"), ], 'rolling': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "rolling", "ros2"), @@ -161,6 +162,7 @@ class Sources: Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "rolling"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "rolling"), Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "rolling"), + Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "iron"), ] } From bbf64188f5251fe678369bcabc59ef6b96790b03 Mon Sep 17 00:00:00 2001 From: acuadros95 Date: Fri, 9 Jun 2023 13:23:48 +0200 Subject: [PATCH 4/5] Add rosidl_dynamic_typesupport fork Signed-off-by: acuadros95 --- microros_utils/repositories.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index 5a6e04bd..ea85dafe 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -128,6 +128,7 @@ class Sources: Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "iron"), Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "iron"), Repository("rosidl", "https://github.com/ros2/rosidl", "iron"), + Repository("rosidl_dynamic_typesupport", "https://github.com/micro-ROS/rosidl_dynamic_typesupport", "iron"), Repository("rmw", "https://github.com/ros2/rmw", "iron"), Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "iron"), Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "iron"), @@ -151,6 +152,7 @@ class Sources: Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "rolling"), Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "rolling"), Repository("rosidl", "https://github.com/ros2/rosidl", "rolling"), + Repository("rosidl_dynamic_typesupport", "https://github.com/micro-ROS/rosidl_dynamic_typesupport", "rolling"), Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "rolling"), Repository("rmw", "https://github.com/ros2/rmw", "rolling"), Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "rolling"), From 46f4b6c338976a37d34c852d5e988d7b53c9aa28 Mon Sep 17 00:00:00 2001 From: acuadros95 Date: Fri, 9 Jun 2023 13:54:08 +0200 Subject: [PATCH 5/5] Remove duplicated branch Signed-off-by: acuadros95 --- microros_utils/repositories.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index ea85dafe..fc247b7f 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -129,6 +129,7 @@ class Sources: Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "iron"), Repository("rosidl", "https://github.com/ros2/rosidl", "iron"), Repository("rosidl_dynamic_typesupport", "https://github.com/micro-ROS/rosidl_dynamic_typesupport", "iron"), + Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "iron"), Repository("rmw", "https://github.com/ros2/rmw", "iron"), Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "iron"), Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "iron"), @@ -138,13 +139,12 @@ class Sources: Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "iron"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "iron"), Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "iron"), - Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "iron"), ], 'rolling': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "rolling", "ros2"), Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "rolling", "ros2"), Repository("rcl", "https://github.com/micro-ROS/rcl", "rolling"), - Repository("rclc", "https://github.com/ros2/rclc", "rolling", "master"), + Repository("rclc", "https://github.com/ros2/rclc", "rolling"), Repository("micro_ros_utilities", "https://github.com/micro-ROS/micro_ros_utilities", "rolling"), Repository("rcutils", "https://github.com/micro-ROS/rcutils", "rolling"), Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "rolling"), @@ -157,14 +157,12 @@ class Sources: Repository("rmw", "https://github.com/ros2/rmw", "rolling"), Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "rolling"), Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "rolling"), - Repository("rosidl_dynamic_typesupport", "https://github.com/micro-ROS/rosidl_dynamic_typesupport", "rolling"), Repository("unique_identifier_msgs", "https://github.com/ros2/unique_identifier_msgs", "rolling"), Repository("common_interfaces", "https://github.com/ros2/common_interfaces", "rolling"), Repository("test_interface_files", "https://github.com/ros2/test_interface_files", "rolling"), Repository("rmw_implementation", "https://github.com/ros2/rmw_implementation", "rolling"), Repository("rcl_logging", "https://github.com/ros2/rcl_logging", "rolling"), Repository("ros2_tracing", "https://github.com/ros2/ros2_tracing", "rolling"), - Repository("rosidl_core", "https://github.com/ros2/rosidl_core", "iron"), ] }