diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2783bdb1..c2116ef5 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] + 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_galactic, portenta_h7_m7_foxy, portenta_h7_m7_rolling, teensy41_custom] steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index 278fe601..2cc7a8f4 100755 --- a/README.md +++ b/README.md @@ -82,7 +82,8 @@ 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: - - `galactic` *(default value)* + - `humble` *(default value)* + - `galactic` - `rolling` - `foxy` diff --git a/ci/platformio.ini b/ci/platformio.ini index 4c290cf5..ba615471 100644 --- a/ci/platformio.ini +++ b/ci/platformio.ini @@ -1,3 +1,13 @@ +; Galactic test +[env:portenta_h7_m7_galactic] +platform = ststm32 +board = portenta_h7_m7 +framework = arduino +board_microros_transport = serial +board_microros_distro = galactic +lib_deps = + ../ + ; Foxy test [env:portenta_h7_m7_foxy] platform = ststm32 diff --git a/extra_script.py b/extra_script.py index d867f70c..2e9d5f17 100644 --- a/extra_script.py +++ b/extra_script.py @@ -31,8 +31,8 @@ selected_board_meta = boards_metas[board] if board in boards_metas else "colcon.meta" -# Retrieve the required transport. Default galactic -microros_distro = global_env.BoardConfig().get("microros_distro", "galactic") +# Retrieve the required transport. Default humble +microros_distro = global_env.BoardConfig().get("microros_distro", "humble") # Retrieve the required transport. Default serial microros_transport = global_env.BoardConfig().get("microros_transport", "serial") diff --git a/microros_utils/repositories.py b/microros_utils/repositories.py index bf139199..7856dd84 100644 --- a/microros_utils/repositories.py +++ b/microros_utils/repositories.py @@ -67,6 +67,14 @@ def get_package_name_from_colcon_pkg(colcon_pkg): class Sources: dev_environments = { + 'humble': [ + Repository("ament_cmake", "https://github.com/ament/ament_cmake", "humble"), + Repository("ament_lint", "https://github.com/ament/ament_lint", "humble"), + Repository("ament_package", "https://github.com/ament/ament_package", "humble"), + Repository("googletest", "https://github.com/ament/googletest", "humble"), + Repository("ament_cmake_ros", "https://github.com/ros2/ament_cmake_ros", "humble"), + Repository("ament_index", "https://github.com/ament/ament_index", "humble") + ], 'galactic': [ Repository("ament_cmake", "https://github.com/ament/ament_cmake", "galactic"), Repository("ament_lint", "https://github.com/ament/ament_lint", "galactic"), @@ -94,6 +102,28 @@ class Sources: } mcu_environments = { + 'humble': [ + Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "humble", "ros2"), + Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "humble", "ros2"), + Repository("rcl", "https://github.com/micro-ROS/rcl", "humble"), + Repository("rclc", "https://github.com/ros2/rclc", "humble"), + Repository("micro_ros_utilities", "https://github.com/micro-ROS/micro_ros_utilities", "humble"), + Repository("rcutils", "https://github.com/micro-ROS/rcutils", "humble"), + Repository("micro_ros_msgs", "https://github.com/micro-ROS/micro_ros_msgs", "humble"), + Repository("rmw-microxrcedds", "https://github.com/micro-ROS/rmw-microxrcedds", "humble"), + Repository("rosidl_typesupport", "https://github.com/micro-ROS/rosidl_typesupport", "humble"), + Repository("rosidl_typesupport_microxrcedds", "https://github.com/micro-ROS/rosidl_typesupport_microxrcedds", "humble"), + Repository("rosidl", "https://github.com/ros2/rosidl", "humble"), + Repository("rmw", "https://github.com/ros2/rmw", "humble"), + Repository("rcl_interfaces", "https://github.com/ros2/rcl_interfaces", "humble"), + Repository("rosidl_defaults", "https://github.com/ros2/rosidl_defaults", "humble"), + Repository("unique_identifier_msgs", "https://github.com/ros2/unique_identifier_msgs", "humble"), + Repository("common_interfaces", "https://github.com/ros2/common_interfaces", "humble"), + 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"), + ], 'galactic': [ Repository("micro-CDR", "https://github.com/eProsima/micro-CDR", "galactic", "ros2"), Repository("Micro-XRCE-DDS-Client", "https://github.com/eProsima/Micro-XRCE-DDS-Client", "galactic", "ros2"), @@ -163,6 +193,7 @@ class Sources: } ignore_packages = { + 'humble': ['rcl_logging_log4cxx', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'], 'galactic': ['rcl_logging_log4cxx', 'rcl_logging_spdlog', 'rcl_yaml_param_parser', 'rclc_examples'], 'rolling': ['rcl_logging_log4cxx', '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']