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..fc247b7f 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") ] } @@ -114,58 +114,60 @@ 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"), + 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("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"), + 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://github.com/ros2/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("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("rcl", "https://github.com/micro-ROS/rcl", "rolling"), + 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"), + 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_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"), 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"), - ], - '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