From ac2653688aa9a66434746f9436c8847b02443be3 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 3 Jun 2024 07:57:53 +0200 Subject: [PATCH 01/19] Bump Jazzy (#695) * Bump Jazzy * Bump ros tooling version * Bump ubuntu * Fix python deps * Fix zephyr * New nightly approach * Fix Zephyr * Fix ESP32 * Fix mbed * Remove mbed --- .github/workflows/ci.yml | 26 +- .github/workflows/nightly.yml | 616 +----------------- README.md | 31 +- config/agent_uros_packages.repos | 4 +- .../generic/client_uros_packages.repos | 18 +- config/client_uros_packages.repos | 16 +- config/freertos/crazyflie21/board.repos | 2 +- config/freertos/esp32/board.repos | 2 +- config/freertos/esp32/create.sh | 4 +- config/freertos/nucleo_f446re/board.repos | 2 +- config/freertos/nucleo_f446ze/board.repos | 2 +- config/freertos/nucleo_f746zg/board.repos | 2 +- config/freertos/nucleo_f767zi/board.repos | 2 +- config/freertos/olimex-stm32-e407/board.repos | 2 +- .../host/generic/client_host_packages.repos | 20 +- config/mbed/dev_ros2_packages.txt | 2 - config/mbed/dev_uros_packages.repos | 1 - config/mbed/generic/board.repos | 5 - config/mbed/generic/build.sh | 11 - .../mbed/generic/client_uros_packages.repos | 1 - config/mbed/generic/create.sh | 31 - config/mbed/generic/flash.sh | 11 - config/mbed/generic/package.xml | 19 - config/mbed/generic/supported_platforms | 1 - config/mbed/list_apps.sh | 7 - config/raspbian/generic/create.sh | 2 +- config/renesas_ra/dev_ros2_packages.txt | 2 - config/renesas_ra/dev_uros_packages.repos | 1 - config/renesas_ra/list_apps.sh | 24 - config/renesas_ra/ra6m5/board.repos | 5 - config/renesas_ra/ra6m5/build.sh | 18 - config/renesas_ra/ra6m5/client-colcon.meta | 0 .../ra6m5/client_uros_packages.repos | 1 - config/renesas_ra/ra6m5/configure.sh | 1 - config/renesas_ra/ra6m5/create.sh | 14 - config/renesas_ra/ra6m5/flash.sh | 6 - config/zephyr/generic/board.repos | 2 +- config/zephyr/generic/create.sh | 7 +- config/zephyr/generic/package.xml | 2 - scripts/component | 5 - scripts/create_ws.sh | 2 +- 41 files changed, 77 insertions(+), 853 deletions(-) delete mode 100644 config/mbed/dev_ros2_packages.txt delete mode 100644 config/mbed/dev_uros_packages.repos delete mode 100644 config/mbed/generic/board.repos delete mode 100755 config/mbed/generic/build.sh delete mode 100644 config/mbed/generic/client_uros_packages.repos delete mode 100755 config/mbed/generic/create.sh delete mode 100755 config/mbed/generic/flash.sh delete mode 100644 config/mbed/generic/package.xml delete mode 100644 config/mbed/generic/supported_platforms delete mode 100644 config/mbed/list_apps.sh delete mode 100644 config/renesas_ra/dev_ros2_packages.txt delete mode 100644 config/renesas_ra/dev_uros_packages.repos delete mode 100644 config/renesas_ra/list_apps.sh delete mode 100644 config/renesas_ra/ra6m5/board.repos delete mode 100755 config/renesas_ra/ra6m5/build.sh delete mode 100644 config/renesas_ra/ra6m5/client-colcon.meta delete mode 100644 config/renesas_ra/ra6m5/client_uros_packages.repos delete mode 100755 config/renesas_ra/ra6m5/configure.sh delete mode 100755 config/renesas_ra/ra6m5/create.sh delete mode 100755 config/renesas_ra/ra6m5/flash.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 705935ed..6f0e4ea3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,15 +6,17 @@ on: - 'README.md' branches: - '**' + workflow_call: + env: - ROS_DISTRO: rolling + ROS_DISTRO: jazzy jobs: micro_ros_build: runs-on: ubuntu-latest container: - image: ubuntu:jammy + image: ubuntu:24.04 strategy: fail-fast: false steps: @@ -22,7 +24,7 @@ jobs: with: path: src/micro_ros_setup - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -30,8 +32,6 @@ jobs: - name: Dependencies run: | apt update - apt install -y python3-pip - pip3 install colcon-common-extensions rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y @@ -52,7 +52,7 @@ jobs: micro_ros_agent: runs-on: ubuntu-latest container: - image: ubuntu:jammy + image: ubuntu:24.04 strategy: fail-fast: false needs: micro_ros_build @@ -62,7 +62,7 @@ jobs: with: path: src/micro_ros_setup - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -70,8 +70,6 @@ jobs: - name: dependencies run: | apt update - apt install -y python3-pip - pip3 install colcon-common-extensions apt install -y ros-${{ env.ROS_DISTRO }}-rmw-fastrtps-cpp rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y @@ -100,7 +98,7 @@ jobs: runs-on: ubuntu-latest needs: micro_ros_build container: - image: ubuntu:jammy + image: ubuntu:24.04 strategy: fail-fast: false matrix: @@ -200,16 +198,12 @@ jobs: configuration: weather_publisher binary: 'firmware/bin/weather_publisher' - - rtos: mbed - platform: disco_l475vg_iot01a - binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' - steps: - uses: actions/checkout@v4 with: path: src/micro_ros_setup - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -219,8 +213,6 @@ jobs: apt update apt upgrade -y apt-get update - apt install -y python3-pip - pip3 install colcon-common-extensions cmake rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index fafc5119..8c19833a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -10,614 +10,14 @@ on: jobs: - micro_ros_build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - distro: rolling - branch: rolling - image: ubuntu:jammy - - distro: iron - branch: iron - image: ubuntu:jammy - - distro: humble - branch: humble - image: ubuntu:jammy - container: - image: ${{ matrix.image }} + Jazzy: + uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@jazzy - steps: - - uses: actions/checkout@v4 - with: - path: src/micro_ros_setup - ref: ${{ matrix.branch }} + Rolling: + uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@rolling - - uses: ros-tooling/setup-ros@0.7.0 - with: - use-ros2-testing: false - required-ros-distributions: ${{ matrix.distro }} + Humble: + uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@humble - - name: Dependencies - run: | - apt update - apt install -y python3-pip - pip3 install colcon-common-extensions - rosdep update --rosdistro ${{ matrix.distro }} - rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y - - - name: Build - run: | - . /opt/ros/${{ matrix.distro }}/setup.sh - colcon build - - - name: Install micro-ROS build system - run: | - (test -f install/micro_ros_setup/lib/micro_ros_setup/build_firmware.sh) && true || false - - - uses: actions/upload-artifact@v1 - with: - name: micro_ros_build_${{ matrix.branch }} - path: install - - micro_ros_client: - runs-on: ubuntu-latest - needs: micro_ros_build - - strategy: - fail-fast: false - matrix: - include: - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: host - platform: null - configuration: null - transport_arguments: null - binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: generate_lib - platform: null - configuration: null - transport_arguments: null - build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake - binary: 'firmware/build/libmicroros.a' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: crazyflie21 - configuration: crazyflie_position_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446re - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446ze - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f767zi - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: freertos - platform: esp32 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: zephyr - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: zephyr - platform: discovery_l475_iot1 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_h743zi - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: zephyr - platform: host - configuration: ping_pong - transport_arguments: -t udp -i 192.168.1.1 -p 8080 - binary: 'firmware/build/zephyr/zephyr.exe' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: agent_lite - binary: 'firmware/bin/micro_ros_agent_lite' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: weather_publisher - binary: 'firmware/bin/weather_publisher' - - - distro: rolling - branch: rolling - image: ubuntu:jammy - rtos: mbed - platform: disco_l475vg_iot01a - binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: host - platform: null - configuration: null - transport_arguments: null - binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: generate_lib - platform: null - configuration: null - transport_arguments: null - build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake - binary: 'firmware/build/libmicroros.a' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: crazyflie21 - configuration: crazyflie_position_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446re - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446ze - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f767zi - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: freertos - platform: esp32 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: zephyr - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: zephyr - platform: discovery_l475_iot1 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_h743zi - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: zephyr - platform: host - configuration: ping_pong - transport_arguments: -t udp -i 192.168.1.1 -p 8080 - binary: 'firmware/build/zephyr/zephyr.exe' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: agent_lite - binary: 'firmware/bin/micro_ros_agent_lite' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: weather_publisher - binary: 'firmware/bin/weather_publisher' - - - distro: iron - branch: release/iron - image: ubuntu:jammy - rtos: mbed - platform: disco_l475vg_iot01a - binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: host - platform: null - configuration: null - transport_arguments: null - binary: 'install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/int32_publisher/int32_publisher' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: generate_lib - platform: null - configuration: null - transport_arguments: null - build_arguments: $(pwd)/src/micro_ros_setup/config/generate_lib/generic/demo_toolchain.cmake - binary: 'firmware/build/libmicroros.a' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: crazyflie21 - configuration: crazyflie_position_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_olimex_e407_extensions/build/micro-ROS.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446re - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446re_extensions/build/micro-ROS.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f446ze - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f446ze_extensions/build/micro-ROS.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f746zg_extensions/build/micro-ROS.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: nucleo_f767zi - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_nucleo_f767zi_extensions/build/micro-ROS.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: freertos - platform: esp32 - configuration: int32_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_esp32_extensions/build/int32_publisher.elf' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: zephyr - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: zephyr - platform: discovery_l475_iot1 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_h743zi - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: zephyr - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: zephyr - platform: host - configuration: ping_pong - transport_arguments: -t udp -i 192.168.1.1 -p 8080 - binary: 'firmware/build/zephyr/zephyr.exe' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: agent_lite - binary: 'firmware/bin/micro_ros_agent_lite' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: raspbian - platform: buster_v7 - configuration: weather_publisher - binary: 'firmware/bin/weather_publisher' - - - distro: humble - branch: humble - image: ubuntu:jammy - rtos: mbed - platform: disco_l475vg_iot01a - binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' - - container: - image: ${{ matrix.image }} - steps: - - uses: actions/checkout@v4 - with: - path: src/micro_ros_setup - ref: ${{ matrix.branch }} - - - uses: ros-tooling/setup-ros@0.7.0 - with: - use-ros2-testing: false - required-ros-distributions: ${{ matrix.distro }} - - - name: Dependencies - run: | - apt update - apt upgrade -y - # Install last version of CMake - apt install -y python3-pip - pip3 install colcon-common-extensions cmake - rosdep update --rosdistro ${{ matrix.distro }} - rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y - - - uses: actions/download-artifact@v1 - with: - name: micro_ros_build_${{ matrix.branch }} - path: install - - # Workaround https://github.com/actions/upload-artifact/issues/38 - - run: | - chmod +x -R install - - - name: Configure and build micro-ROS - run: | - . /opt/ros/${{ matrix.distro }}/setup.sh - . install/local_setup.sh - ros2 run micro_ros_setup create_firmware_ws.sh ${{ matrix.rtos }} ${{ matrix.platform }} - ros2 run micro_ros_setup configure_firmware.sh ${{ matrix.configuration }} ${{ matrix.transport_arguments }} - ros2 run micro_ros_setup build_firmware.sh ${{ matrix.build_arguments }} - - - name: Check binaries - run: | - (test -f ${{ matrix.binary }}) && true || false - - micro_ros_agent: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - distro: rolling - branch: rolling - image: ubuntu:jammy - - distro: iron - branch: iron - image: ubuntu:jammy - - distro: humble - branch: humble - image: ubuntu:jammy - container: - image: ${{ matrix.image }} - needs: micro_ros_build - - steps: - - uses: actions/checkout@v4 - with: - path: src/micro_ros_setup - ref: ${{ matrix.branch }} - - - uses: ros-tooling/setup-ros@0.7.0 - with: - use-ros2-testing: false - required-ros-distributions: ${{ matrix.distro }} - - - name: dependencies - run: | - apt update - apt install -y python3-pip - pip3 install colcon-common-extensions - rosdep update --rosdistro ${{ matrix.distro }} - rosdep install --rosdistro ${{ matrix.distro }} -y --from-paths src --ignore-src -y - apt install -y ros-${{ matrix.distro }}-rmw-fastrtps-cpp - - - uses: actions/download-artifact@v1 - with: - name: micro_ros_build_${{ matrix.branch }} - path: install - - # Workaround https://github.com/actions/upload-artifact/issues/38 - - run: | - chmod +x -R install - - - name: build - run: | - . /opt/ros/${{ matrix.distro }}/setup.sh - . install/local_setup.sh - ros2 run micro_ros_setup create_agent_ws.sh - ros2 run micro_ros_setup build_agent.sh - - - name: installation - run: | - (test -f install/micro_ros_agent/lib/micro_ros_agent/micro_ros_agent) && true || false \ No newline at end of file + Iron: + uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@iron diff --git a/README.md b/README.md index c2139c56..e00618fb 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,6 @@ This package provides tools and utils to crosscompile micro-ROS with just the co | RTOS | Platform | Version | Example | Recommended Alternative | | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| [Azure RTOS](https://azure.microsoft.com/es-es/services/rtos/) / [FreeRTOS](https://www.freertos.org/) / Bare metal | [Renesas RA6M5](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6m5-200mhz-arm-cortex-m33-trustzone-highest-integration-ethernet-and-can-fde) | Renesas e2 studio | `renesas_ra ra6m5` | **[micro-ROS component for Renesas e2 studio and RA6M5](https://github.com/micro-ROS/micro_ros_renesas2estudio_component)** | | [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) 1 | STM32CubeMX latest | `freertos nucleo_f446re` | **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)** | | [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446ZE](https://www.st.com/en/evaluation-tools/nucleo-f446ze.html) 1 | STM32CubeMX latest | `freertos nucleo_f446ze` | **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)** | | [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f746zg` | **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)** | @@ -41,9 +40,7 @@ This package provides tools and utils to crosscompile micro-ROS with just the co | [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) 1 | v2.6.0 | `zephyr nucleo_f446re` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | | [Zephyr](https://www.zephyrproject.org/) | [ST B-L475E-IOT01A](https://docs.zephyrproject.org/latest/boards/arm/disco_l475_iot1/doc/index.html) | v2.6.0 | `zephyr discovery_l475_iot1` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | | [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo H743ZI](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html) 1 | v2.6.0 | `zephyr nucleo_h743zi` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | -| [Zephyr](https://www.zephyrproject.org/) | [Zephyr emulator](https://docs.zephyrproject.org/2.3.0/boards/posix/native_posix/doc/index.html) | v2.6.0 | `zephyr host` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | -| [Mbed](https://os.mbed.com/) | [ST B-L475E-IOT01A](https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/) | v6.6 | `mbed disco_l475vg_iot01a` | **[micro-ROS module for Mbed RTOS](https://github.com/micro-ROS/micro_ros_mbed)** | -| - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | | +| [Zephyr](https://www.zephyrproject.org/) | [Zephyr emulator](https://docs.zephyrproject.org/2.3.0/boards/posix/native_posix/doc/index.html) | v2.6.0 | `zephyr host` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** || - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | | | Linux | *Host 2* | Ubuntu 18.04/20.04 | `host` | | | Android | [AOSP](https://source.android.com) 1 | Latest | `android generic` | | @@ -64,7 +61,6 @@ ros2 run micro_ros_setup component --help micro-ROS standalone module for specific platforms are: -- a standalone **[micro-ROS component for Renesas e2 studio and RA6M5](https://github.com/micro-ROS/micro_ros_renesas2estudio_component)**: this package enables the integration of micro-ROS in Renesas e2 studio and RA6M5 MCU family. - a standalone **[micro-ROS component for ESP-IDF](https://github.com/micro-ROS/micro_ros_espidf_component)**: this package enables the integration of micro-ROS in any Espressif ESP32 IDF project. - a standalone **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)**: this package enables the integration of micro-ROS in any Zephyr RTOS workspace. - a standalone **[micro-ROS module for Mbed RTOS](https://github.com/micro-ROS/micro_ros_mbed)**: this package enables the integration of micro-ROS in any Mbed RTOS workspace. @@ -89,6 +85,7 @@ This package targets the **ROS 2** installation. ROS 2 supported distributions a | Galactic | EOL | `galactic` | | Humble | Supported | `humble` | | Iron | Supported | `iron` | +| Jazzy | Supported | `jazzy` | | Rolling | Supported | `rolling` | Some other prerequisites needed for building a firmware using this package are: @@ -115,7 +112,7 @@ source /opt/ros/$ROS_DISTRO/setup.bash mkdir uros_ws && cd uros_ws -git clone -b rolling https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup +git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup rosdep update && rosdep install --from-paths src --ignore-src -y @@ -162,17 +159,17 @@ Please note that each RTOS has its configuration approach that you might use for In summary, the supported configurations for transports are: -| | FreeRTOS | Zephyr | Mbed | -| ----------------------------- | :---------------: | :----------------: | :---: | -| Olimex STM32-E407 | UART, Network | USB, UART | - | -| ST B-L475E-IOT01A | - | USB, UART, Network | UART | -| Crazyflie 2.1 | Custom Radio Link | - | - | -| Espressif ESP32 | UART, WiFI UDP | - | - | -| ST Nucleo F446RE 1 | UART | UART | - | -| ST Nucleo F446ZE 1 | UART | - | - | -| ST Nucleo H743ZI 1 | - | UART | - | -| ST Nucleo F746ZG 1 | UART | UART | - | -| ST Nucleo F767ZI 1 | UART | - | - | +| | FreeRTOS | Zephyr | +| ----------------------------- | :---------------: | :----------------: | +| Olimex STM32-E407 | UART, Network | USB, UART | +| ST B-L475E-IOT01A | - | USB, UART, Network | +| Crazyflie 2.1 | Custom Radio Link | - | +| Espressif ESP32 | UART, WiFI UDP | - | +| ST Nucleo F446RE 1 | UART | UART | +| ST Nucleo F446ZE 1 | UART | - | +| ST Nucleo H743ZI 1 | - | UART | +| ST Nucleo F746ZG 1 | UART | UART | +| ST Nucleo F767ZI 1 | UART | - | *1 Community supported, may have lack of official support* diff --git a/config/agent_uros_packages.repos b/config/agent_uros_packages.repos index dc132d91..3e6c10e9 100644 --- a/config/agent_uros_packages.repos +++ b/config/agent_uros_packages.repos @@ -2,11 +2,11 @@ repositories: uros/micro_ros_msgs: type: git url: https://github.com/micro-ROS/micro_ros_msgs.git - version: rolling + version: jazzy uros/micro-ROS-Agent: type: git url: https://github.com/micro-ROS/micro-ROS-Agent.git - version: rolling + version: jazzy uros/drive_base: type: git url: https://github.com/micro-ROS/drive_base.git diff --git a/config/android/generic/client_uros_packages.repos b/config/android/generic/client_uros_packages.repos index 6b087bd6..88145b8c 100644 --- a/config/android/generic/client_uros_packages.repos +++ b/config/android/generic/client_uros_packages.repos @@ -12,36 +12,36 @@ repositories: uros/rcl: type: git url: https://github.com/micro-ROS/rcl - version: rolling + version: jazzy uros/rclc: type: git url: https://github.com/ros2/rclc - version: rolling + version: jazzy uros/micro_ros_utilities: type: git url: https://github.com/micro-ROS/micro_ros_utilities - version: rolling + version: jazzy uros/rcutils: type: git url: https://github.com/micro-ROS/rcutils - version: rolling + version: jazzy uros/micro_ros_msgs: type: git url: https://github.com/micro-ROS/micro_ros_msgs.git - version: rolling + version: jazzy uros/rmw_microxrcedds: type: git url: https://github.com/micro-ROS/rmw-microxrcedds.git - version: rolling + version: jazzy uros/rosidl_typesupport: type: git url: https://github.com/micro-ROS/rosidl_typesupport.git - version: rolling + version: jazzy uros/rosidl_typesupport_microxrcedds: type: git url: https://github.com/micro-ROS/rosidl_typesupport_microxrcedds.git - version: rolling + version: jazzy uros/micro-ROS-demos: type: git url: https://github.com/micro-ROS/micro-ROS-demos.git - version: rolling + version: jazzy diff --git a/config/client_uros_packages.repos b/config/client_uros_packages.repos index f1f804f6..26a2d8cc 100644 --- a/config/client_uros_packages.repos +++ b/config/client_uros_packages.repos @@ -12,32 +12,32 @@ repositories: uros/rcl: type: git url: https://github.com/micro-ROS/rcl - version: rolling + version: jazzy uros/rclc: type: git url: https://github.com/ros2/rclc - version: master + version: jazzy uros/micro_ros_utilities: type: git url: https://github.com/micro-ROS/micro_ros_utilities - version: rolling + version: jazzy uros/rcutils: type: git url: https://github.com/micro-ROS/rcutils - version: rolling + version: jazzy uros/micro_ros_msgs: type: git url: https://github.com/micro-ROS/micro_ros_msgs.git - version: rolling + version: jazzy uros/rmw_microxrcedds: type: git url: https://github.com/micro-ROS/rmw-microxrcedds.git - version: rolling + version: jazzy uros/rosidl_typesupport: type: git url: https://github.com/micro-ROS/rosidl_typesupport.git - version: rolling + version: jazzy uros/rosidl_typesupport_microxrcedds: type: git url: https://github.com/micro-ROS/rosidl_typesupport_microxrcedds.git - version: rolling \ No newline at end of file + version: jazzy \ No newline at end of file diff --git a/config/freertos/crazyflie21/board.repos b/config/freertos/crazyflie21/board.repos index 6eea2d2f..8b854ae4 100644 --- a/config/freertos/crazyflie21/board.repos +++ b/config/freertos/crazyflie21/board.repos @@ -7,5 +7,5 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ROS/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/esp32/board.repos b/config/freertos/esp32/board.repos index e37e8a41..d1965ec6 100644 --- a/config/freertos/esp32/board.repos +++ b/config/freertos/esp32/board.repos @@ -2,7 +2,7 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ROS/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/esp32/create.sh b/config/freertos/esp32/create.sh index 59fa3966..19c420c6 100755 --- a/config/freertos/esp32/create.sh +++ b/config/freertos/esp32/create.sh @@ -19,14 +19,14 @@ pushd $FW_TARGETDIR >/dev/null echo "Error: python3-pip package must be installed before continuing..." exit 1 fi - pip3 install virtualenv + pip3 install virtualenv --break-system-packages python3 esp-idf/tools/idf_tools.py install-python-env eval $(python3 $FW_TARGETDIR/toolchain/esp-idf/tools/idf_tools.py export --prefer-system) . $IDF_PATH/export.sh - pip3 install catkin_pkg lark-parser colcon-common-extensions + pip3 install catkin_pkg lark-parser colcon-common-extensions --break-system-packages popd >/dev/null diff --git a/config/freertos/nucleo_f446re/board.repos b/config/freertos/nucleo_f446re/board.repos index 8dafe74e..017796ba 100644 --- a/config/freertos/nucleo_f446re/board.repos +++ b/config/freertos/nucleo_f446re/board.repos @@ -2,4 +2,4 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ros/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/nucleo_f446ze/board.repos b/config/freertos/nucleo_f446ze/board.repos index 8dafe74e..017796ba 100644 --- a/config/freertos/nucleo_f446ze/board.repos +++ b/config/freertos/nucleo_f446ze/board.repos @@ -2,4 +2,4 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ros/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/nucleo_f746zg/board.repos b/config/freertos/nucleo_f746zg/board.repos index 8dafe74e..017796ba 100644 --- a/config/freertos/nucleo_f746zg/board.repos +++ b/config/freertos/nucleo_f746zg/board.repos @@ -2,4 +2,4 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ros/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/nucleo_f767zi/board.repos b/config/freertos/nucleo_f767zi/board.repos index 8dafe74e..017796ba 100644 --- a/config/freertos/nucleo_f767zi/board.repos +++ b/config/freertos/nucleo_f767zi/board.repos @@ -2,4 +2,4 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ros/freertos_apps - version: rolling + version: jazzy diff --git a/config/freertos/olimex-stm32-e407/board.repos b/config/freertos/olimex-stm32-e407/board.repos index e37e8a41..d1965ec6 100644 --- a/config/freertos/olimex-stm32-e407/board.repos +++ b/config/freertos/olimex-stm32-e407/board.repos @@ -2,7 +2,7 @@ repositories: freertos_apps: type: git url: https://github.com/micro-ROS/freertos_apps - version: rolling + version: jazzy diff --git a/config/host/generic/client_host_packages.repos b/config/host/generic/client_host_packages.repos index ad133cbd..09687b67 100644 --- a/config/host/generic/client_host_packages.repos +++ b/config/host/generic/client_host_packages.repos @@ -17,47 +17,47 @@ repositories: uros/micro_ros_msgs: type: git url: https://github.com/micro-ROS/micro_ros_msgs.git - version: rolling + version: jazzy uros/rmw_microxrcedds: type: git url: https://github.com/micro-ROS/rmw-microxrcedds.git - version: rolling + version: jazzy uros/rosidl_typesupport_microxrcedds: type: git url: https://github.com/micro-ROS/rosidl_typesupport_microxrcedds.git - version: rolling + version: jazzy uros/micro-ROS-demos: type: git url: https://github.com/micro-ROS/micro-ROS-demos.git - version: rolling + version: jazzy uros/micro_ros_utilities: type: git url: https://github.com/micro-ROS/micro_ros_utilities - version: rolling + version: jazzy # Required messages packages ros2/common_interfaces: type: git url: https://github.com/ros2/common_interfaces - version: rolling + version: jazzy ros2/example_interfaces: type: git url: https://github.com/ros2/example_interfaces - version: rolling + version: jazzy ros2/rcl_interfaces: type: git url: https://github.com/ros2/rcl_interfaces - version: rolling + version: jazzy ros2/unique_identifier_msgs: type: git url: https://github.com/ros2/unique_identifier_msgs - version: rolling + version: jazzy ros2/test_interface_files: type: git url: https://github.com/ros2/test_interface_files - version: rolling + version: jazzy diff --git a/config/mbed/dev_ros2_packages.txt b/config/mbed/dev_ros2_packages.txt deleted file mode 100644 index b8e217e7..00000000 --- a/config/mbed/dev_ros2_packages.txt +++ /dev/null @@ -1,2 +0,0 @@ -keep: - none \ No newline at end of file diff --git a/config/mbed/dev_uros_packages.repos b/config/mbed/dev_uros_packages.repos deleted file mode 100644 index 56f46b6f..00000000 --- a/config/mbed/dev_uros_packages.repos +++ /dev/null @@ -1 +0,0 @@ -repositories: diff --git a/config/mbed/generic/board.repos b/config/mbed/generic/board.repos deleted file mode 100644 index bf60b337..00000000 --- a/config/mbed/generic/board.repos +++ /dev/null @@ -1,5 +0,0 @@ -repositories: - micro_ros_mbed: - type: git - url: https://github.com/micro-ROS/micro_ros_mbed - version: rolling diff --git a/config/mbed/generic/build.sh b/config/mbed/generic/build.sh deleted file mode 100755 index 72c3bc60..00000000 --- a/config/mbed/generic/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -. $PREFIX/config/utils.sh - -export PATH=~/.local/bin:"$PATH" - -pushd $FW_TARGETDIR >/dev/null - - pushd micro_ros_mbed >/dev/null - mbed-tools compile -m $PLATFORM -t GCC_ARM - popd >/dev/null - -popd >/dev/null diff --git a/config/mbed/generic/client_uros_packages.repos b/config/mbed/generic/client_uros_packages.repos deleted file mode 100644 index 56f46b6f..00000000 --- a/config/mbed/generic/client_uros_packages.repos +++ /dev/null @@ -1 +0,0 @@ -repositories: diff --git a/config/mbed/generic/create.sh b/config/mbed/generic/create.sh deleted file mode 100755 index ffcf9b00..00000000 --- a/config/mbed/generic/create.sh +++ /dev/null @@ -1,31 +0,0 @@ -CMAKE_VERSION_NUMBER=$(cmake --version | grep "[0-9]*\.[0-9]*\.[0-9]*" | cut -d ' ' -f 3) -CMAKE_VERSION_MAJOR_NUMBER=$(echo $CMAKE_VERSION_NUMBER | cut -d '.' -f 1) -CMAKE_VERSION_MINOR_NUMBER=$(echo $CMAKE_VERSION_NUMBER | cut -d '.' -f 2) -CMAKE_VERSION_PATCH_NUMBER=$(echo $CMAKE_VERSION_NUMBER | cut -d '.' -f 3) - -if ! (( $CMAKE_VERSION_MAJOR_NUMBER > 3 || \ - $CMAKE_VERSION_MAJOR_NUMBER == 3 && $CMAKE_VERSION_MINOR_NUMBER > 19 || \ - $CMAKE_VERSION_MAJOR_NUMBER == 3 && $CMAKE_VERSION_MINOR_NUMBER == 19 && $CMAKE_VERSION_PATCH_NUMBER >= 0 )); then - echo "Error: installed CMake version must be equal or greater than 3.19.0." - echo "Your current version is $CMAKE_VERSION_NUMBER." - echo "Please if not installed follow the instructions: https://apt.kitware.com/" - exit 1 -fi - -export PATH=~/.local/bin:"$PATH" - -pushd $FW_TARGETDIR >/dev/null - - pip3 install mbed-tools - - # Import repos - vcs import --input $PREFIX/config/$RTOS/generic/board.repos - - pushd micro_ros_mbed >/dev/null - echo https://github.com/ARMmbed/mbed-os/\#mbed-os-6.10.0 > mbed-os.lib - mbed-tools deploy - popd >/dev/null - - # TODO (pablogs): Avoid current approach and rely on the standalone module - # rm -rf dev_ws mcu_ws -popd >/dev/null diff --git a/config/mbed/generic/flash.sh b/config/mbed/generic/flash.sh deleted file mode 100755 index 70be36d8..00000000 --- a/config/mbed/generic/flash.sh +++ /dev/null @@ -1,11 +0,0 @@ -. $PREFIX/config/utils.sh - -export PATH=~/.local/bin:"$PATH" - -pushd $FW_TARGETDIR >/dev/null - - pushd micro_ros_mbed >/dev/null - mbed-tools compile -m DISCO_L475VG_IOT01A -t GCC_ARM -f - popd >/dev/null - -popd >/dev/null diff --git a/config/mbed/generic/package.xml b/config/mbed/generic/package.xml deleted file mode 100644 index 86063ec0..00000000 --- a/config/mbed/generic/package.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - firmware - 0.0.0 - Micro-ROS dependecies for Mbed RTOS - Pablo Garrido - APL2 - - gcc-arm-none-eabi - ninja-build - gperf - wget - xz-utils - gcc-multilib - g++-multilib - openocd - - diff --git a/config/mbed/generic/supported_platforms b/config/mbed/generic/supported_platforms deleted file mode 100644 index 96510e93..00000000 --- a/config/mbed/generic/supported_platforms +++ /dev/null @@ -1 +0,0 @@ -disco_l475vg_iot01a diff --git a/config/mbed/list_apps.sh b/config/mbed/list_apps.sh deleted file mode 100644 index 944298a0..00000000 --- a/config/mbed/list_apps.sh +++ /dev/null @@ -1,7 +0,0 @@ -function print_available_apps { - -} - -function check_available_app { - -} \ No newline at end of file diff --git a/config/raspbian/generic/create.sh b/config/raspbian/generic/create.sh index 6ce11cc1..01528a4b 100755 --- a/config/raspbian/generic/create.sh +++ b/config/raspbian/generic/create.sh @@ -18,5 +18,5 @@ pushd $FW_TARGETDIR/$DEV_WS_DIR >/dev/null popd >/dev/null pushd $FW_TARGETDIR >/dev/null - git clone -b rolling https://github.com/micro-ROS/raspbian_apps.git + git clone -b jazzy https://github.com/micro-ROS/raspbian_apps.git popd >/dev/null \ No newline at end of file diff --git a/config/renesas_ra/dev_ros2_packages.txt b/config/renesas_ra/dev_ros2_packages.txt deleted file mode 100644 index 23fb6a5c..00000000 --- a/config/renesas_ra/dev_ros2_packages.txt +++ /dev/null @@ -1,2 +0,0 @@ -keep: - None diff --git a/config/renesas_ra/dev_uros_packages.repos b/config/renesas_ra/dev_uros_packages.repos deleted file mode 100644 index 56f46b6f..00000000 --- a/config/renesas_ra/dev_uros_packages.repos +++ /dev/null @@ -1 +0,0 @@ -repositories: diff --git a/config/renesas_ra/list_apps.sh b/config/renesas_ra/list_apps.sh deleted file mode 100644 index e460c69d..00000000 --- a/config/renesas_ra/list_apps.sh +++ /dev/null @@ -1,24 +0,0 @@ -function print_available_apps { - echo "Available apps for Renesas RA and $PLATFORM:" - - UROS_APPS=$FW_TARGETDIR/micro_ros_renesas_demos - - pushd $UROS_APPS >/dev/null - for app in $(ls -d */ | cut -f1 -d'/'); do - echo "+-- $app" - done - popd >/dev/null -} - -function check_available_app { - - UROS_APPS=$FW_TARGETDIR/micro_ros_renesas_demos - - pushd $UROS_APPS >/dev/null - if [ ! -d $1 ]; then - echo "App $1 for Renesas RA not available" - print_available_apps - exit 1 - fi - popd >/dev/null -} \ No newline at end of file diff --git a/config/renesas_ra/ra6m5/board.repos b/config/renesas_ra/ra6m5/board.repos deleted file mode 100644 index a08eb50d..00000000 --- a/config/renesas_ra/ra6m5/board.repos +++ /dev/null @@ -1,5 +0,0 @@ -repositories: - micro_ros_renesas_demos: - type: git - url: https://github.com/micro-ROS/micro_ros_renesas_demos - version: rolling diff --git a/config/renesas_ra/ra6m5/build.sh b/config/renesas_ra/ra6m5/build.sh deleted file mode 100755 index 4a0bfdf2..00000000 --- a/config/renesas_ra/ra6m5/build.sh +++ /dev/null @@ -1,18 +0,0 @@ -export UROS_APP=$(head -n1 $FW_TARGETDIR/APP | tail -n1) -export UROS_APP_FOLDER="$FW_TARGETDIR/micro_ros_renesas_demos/$UROS_APP" - -if [ -d "$UROS_APP_FOLDER" ]; then - echo "Selected app: $UROS_APP" -else - echo "App not found: $UROS_APP" - print_available_apps - exit 1 -fi - -pushd $UROS_APP_FOLDER - git submodule init - git submodule update - - print "Use Renesas e2studio to build and flash the project in $UROS_APP_FOLDER" - -popd \ No newline at end of file diff --git a/config/renesas_ra/ra6m5/client-colcon.meta b/config/renesas_ra/ra6m5/client-colcon.meta deleted file mode 100644 index e69de29b..00000000 diff --git a/config/renesas_ra/ra6m5/client_uros_packages.repos b/config/renesas_ra/ra6m5/client_uros_packages.repos deleted file mode 100644 index 56f46b6f..00000000 --- a/config/renesas_ra/ra6m5/client_uros_packages.repos +++ /dev/null @@ -1 +0,0 @@ -repositories: diff --git a/config/renesas_ra/ra6m5/configure.sh b/config/renesas_ra/ra6m5/configure.sh deleted file mode 100755 index 69715ea6..00000000 --- a/config/renesas_ra/ra6m5/configure.sh +++ /dev/null @@ -1 +0,0 @@ -echo $CONFIG_NAME > $FW_TARGETDIR/APP diff --git a/config/renesas_ra/ra6m5/create.sh b/config/renesas_ra/ra6m5/create.sh deleted file mode 100755 index d8098f2b..00000000 --- a/config/renesas_ra/ra6m5/create.sh +++ /dev/null @@ -1,14 +0,0 @@ -pushd $FW_TARGETDIR >/dev/null - # # Install toolchain - # mkdir toolchain - - # # Install toolchain - # echo "Downloading ARM compiler, this may take a while" - # curl -fsSLOk https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 - # tar --strip-components=1 -xvjf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 -C toolchain > /dev/null - # rm gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 - - # Import repos - vcs import --input $PREFIX/config/$RTOS/$PLATFORM/board.repos - -popd >/dev/null \ No newline at end of file diff --git a/config/renesas_ra/ra6m5/flash.sh b/config/renesas_ra/ra6m5/flash.sh deleted file mode 100755 index a4b389d1..00000000 --- a/config/renesas_ra/ra6m5/flash.sh +++ /dev/null @@ -1,6 +0,0 @@ -export UROS_APP=$(head -n1 $FW_TARGETDIR/APP | tail -n1) -export UROS_APP_FOLDER="$FW_TARGETDIR/micro_ros_renesas_demos/$UROS_APP" - -pushd $UROS_APP_FOLDER - print "Use Renesas e2studio to build and flash the project in $UROS_APP_FOLDER" -popd \ No newline at end of file diff --git a/config/zephyr/generic/board.repos b/config/zephyr/generic/board.repos index 9e7932ab..01694781 100644 --- a/config/zephyr/generic/board.repos +++ b/config/zephyr/generic/board.repos @@ -2,4 +2,4 @@ repositories: zephyr_apps: type: git url: https://github.com/micro-ROS/zephyr_apps - version: rolling + version: jazzy diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index 82e72c6d..d7671035 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -18,6 +18,9 @@ export PATH=~/.local/bin:"$PATH" export ZEPHYR_VERSION="v0.12.4" export ARCH=$(uname -m) +# Install west +pip3 install --user -U west --break-system-packages + pushd $FW_TARGETDIR >/dev/null west init zephyrproject @@ -28,7 +31,7 @@ pushd $FW_TARGETDIR >/dev/null west update popd >/dev/null - pip3 install -r zephyrproject/zephyr/scripts/requirements.txt --ignore-installed + pip3 install -r zephyrproject/zephyr/scripts/requirements.txt --ignore-installed --break-system-packages if [ "$PLATFORM" = "host" ]; then if [ "$ARCH" = "aarch64" ]; then @@ -69,6 +72,6 @@ pushd $FW_TARGETDIR >/dev/null touch mcu_ws/ros2/ros2_tracing/lttngpy/COLCON_IGNORE # Upgrade sphinx - pip install --force-reinstall Sphinx==4.2.0 + pip install --force-reinstall Sphinx==4.2.0 --break-system-packages popd >/dev/null diff --git a/config/zephyr/generic/package.xml b/config/zephyr/generic/package.xml index 94694da6..fa5c301c 100644 --- a/config/zephyr/generic/package.xml +++ b/config/zephyr/generic/package.xml @@ -16,6 +16,4 @@ g++-multilib openocd - python3-west-pip - diff --git a/scripts/component b/scripts/component index ced3b0c9..291b1048 100755 --- a/scripts/component +++ b/scripts/component @@ -7,11 +7,6 @@ import os MAX_CHARACTERS = 80 COMPONENTS = [ - { - "name": "renesas_e2_studio", - "description": "micro-ROS component for Renesas e2 studio and RA6M5: this package enables the integration of micro-ROS in Renesas e2 studio for RA6M5 and RA6T2 MCUs.", - "url" : "https://github.com/micro-ROS/micro_ros_renesas2estudio_component" - }, { "name": "esp_idf", "description": "micro-ROS component for ESP-IDF: this package enables the integration of micro-ROS in any Espressif ESP32 IDF project.", diff --git a/scripts/create_ws.sh b/scripts/create_ws.sh index 8ca675d8..1ba75e96 100755 --- a/scripts/create_ws.sh +++ b/scripts/create_ws.sh @@ -40,7 +40,7 @@ then fi # ROS_DISTRO SPECIFIC -curl -s https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos |\ +curl -s https://raw.githubusercontent.com/ros2/ros2/jazzy/ros2.repos |\ ros2 run micro_ros_setup yaml_filter.py ${PACKAGES} > ros2.repos vcs import --input ros2.repos --skip-existing vcs import --input $REPOS --skip-existing From d96529eade99a7c928b80a21f325e135bc9b1db1 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 3 Jun 2024 08:04:01 +0200 Subject: [PATCH 02/19] Allow CI workflow call --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f0e4ea3..8721d480 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: - 'README.md' branches: - '**' - workflow_call: + workflow_call: env: ROS_DISTRO: jazzy From 3379e736d15ba37be0b8fb82f2ad96a80cf1dd15 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 3 Jun 2024 09:26:12 +0200 Subject: [PATCH 03/19] Rework CI (#696) --- .github/workflows/ci.yml | 12 +++++++----- .github/workflows/nightly.yml | 8 ++++++++ .github/workflows/pr.yml | 15 +++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/pr.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8721d480..884408e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,12 +1,11 @@ name: CI on: - pull_request: - paths-ignore: - - 'README.md' - branches: - - '**' workflow_call: + inputs: + ci_target_ref: + required: true + type: string env: ROS_DISTRO: jazzy @@ -23,6 +22,7 @@ jobs: - uses: actions/checkout@v4 with: path: src/micro_ros_setup + ref: ${{ inputs.ci_target_ref }} - uses: ros-tooling/setup-ros@0.7.7 with: @@ -61,6 +61,7 @@ jobs: - uses: actions/checkout@v4 with: path: src/micro_ros_setup + ref: ${{ inputs.ci_target_ref }} - uses: ros-tooling/setup-ros@0.7.7 with: @@ -202,6 +203,7 @@ jobs: - uses: actions/checkout@v4 with: path: src/micro_ros_setup + ref: ${{ inputs.ci_target_ref }} - uses: ros-tooling/setup-ros@0.7.7 with: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 8c19833a..48e5766f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -12,12 +12,20 @@ jobs: Jazzy: uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@jazzy + with: + ci_target_ref: 'jazzy' Rolling: uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@rolling + with: + ci_target_ref: 'rolling' Humble: uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@humble + with: + ci_target_ref: 'humble' Iron: uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@iron + with: + ci_target_ref: 'iron' diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 00000000..6f7e5ed6 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,15 @@ +name: Pull Request CI + +on: + pull_request: + paths-ignore: + - 'README.md' + branches: + - '**' + +jobs: + + CI: + uses: ./.github/workflows/ci.yml + with: + ci_target_ref: ${{ github.event.pull_request.head.ref }} From f126eb17c26ac2ecee7fc8e429f3f299ec504940 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 3 Jun 2024 09:50:19 +0200 Subject: [PATCH 04/19] Fix artifacts --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 884408e2..72743026 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: - uses: actions/upload-artifact@v1 with: - name: micro_ros_build + name: micro_ros_build_${{ inputs.ci_target_ref }} path: install micro_ros_agent: @@ -77,7 +77,7 @@ jobs: - uses: actions/download-artifact@v1 with: - name: micro_ros_build + name: micro_ros_build_${{ inputs.ci_target_ref }} path: install # Workaround https://github.com/actions/upload-artifact/issues/38 @@ -220,7 +220,7 @@ jobs: - uses: actions/download-artifact@v1 with: - name: micro_ros_build + name: micro_ros_build_${{ inputs.ci_target_ref }} path: install # Workaround https://github.com/actions/upload-artifact/issues/38 From 9ae1ca79ca3cb5f8fbd3867d02a6e43686388f05 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Tue, 30 Jul 2024 09:57:21 +0200 Subject: [PATCH 05/19] Jazzy branch fixes (#715) --- config/host/generic/client_host_packages.repos | 2 +- config/raspbian/generic/configure.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/host/generic/client_host_packages.repos b/config/host/generic/client_host_packages.repos index 09687b67..55b3191a 100644 --- a/config/host/generic/client_host_packages.repos +++ b/config/host/generic/client_host_packages.repos @@ -13,7 +13,7 @@ repositories: uros/rclc: type: git url: https://github.com/ros2/rclc.git - version: master + version: jazzy uros/micro_ros_msgs: type: git url: https://github.com/micro-ROS/micro_ros_msgs.git diff --git a/config/raspbian/generic/configure.sh b/config/raspbian/generic/configure.sh index 0823da40..65c76a39 100755 --- a/config/raspbian/generic/configure.sh +++ b/config/raspbian/generic/configure.sh @@ -3,7 +3,7 @@ pushd $FW_TARGETDIR >/dev/null rm -rf mcu_ws/* cp raspbian_apps/toolchain.cmake mcu_ws/ - curl -s https://raw.githubusercontent.com/ros2/ros2/master/ros2.repos |\ + curl -s https://raw.githubusercontent.com/ros2/ros2/jazzy/ros2.repos |\ ros2 run micro_ros_setup yaml_filter.py raspbian_apps/$CONFIG_NAME/ros2_repos.filter > ros2.repos vcs import --input ros2.repos mcu_ws/ && rm ros2.repos From 32b25e573c624164d7f9f84e12f726d65568f90d Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Thu, 12 Sep 2024 10:37:40 +0200 Subject: [PATCH 06/19] Fix Nightly (#719) * Bump actions/download-artifact from 1 to 4.1.7 in /.github/workflows Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 1 to 4.1.7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v1...v4.1.7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump upload_artifact Signed-off-by: Pablo Garrido --------- Signed-off-by: dependabot[bot] Signed-off-by: Pablo Garrido Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72743026..6782aee8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,7 @@ jobs: run: | (test -f install/micro_ros_setup/lib/micro_ros_setup/build_firmware.sh) && true || false - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v4.4.0 with: name: micro_ros_build_${{ inputs.ci_target_ref }} path: install @@ -75,7 +75,7 @@ jobs: rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y - - uses: actions/download-artifact@v1 + - uses: actions/download-artifact@v4.1.7 with: name: micro_ros_build_${{ inputs.ci_target_ref }} path: install @@ -218,7 +218,7 @@ jobs: rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y - - uses: actions/download-artifact@v1 + - uses: actions/download-artifact@v4.1.7 with: name: micro_ros_build_${{ inputs.ci_target_ref }} path: install From a146e83297af2d94b103e0ea73b392b5f9b68415 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 27 Sep 2024 10:39:19 +0200 Subject: [PATCH 07/19] Fix iron (#734) (#738) * Fix iron (#734) (cherry picked from commit 6c040e3df920f600d3fd8de38179bdbafee53158) # Conflicts: # config/freertos/esp32/create.sh * Update create.sh --- config/freertos/esp32/create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/freertos/esp32/create.sh b/config/freertos/esp32/create.sh index 19c420c6..103981bf 100755 --- a/config/freertos/esp32/create.sh +++ b/config/freertos/esp32/create.sh @@ -26,7 +26,7 @@ pushd $FW_TARGETDIR >/dev/null . $IDF_PATH/export.sh - pip3 install catkin_pkg lark-parser colcon-common-extensions --break-system-packages + pip3 install catkin_pkg lark-parser empy==3.3.4 colcon-common-extensions --break-system-packages popd >/dev/null From fdccd2446bb15a057a9da4fb1da7183228a2cbbc Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Wed, 4 Dec 2024 08:09:17 +0100 Subject: [PATCH 08/19] Update README.md (#749) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e00618fb..e9be5469 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ ros2 run micro_ros_setup component --help micro-ROS standalone module for specific platforms are: +- a standalone **[micro-ROS component for Renesas e2 studio and RA6M5](https://github.com/micro-ROS/micro_ros_renesas2estudio_component)**: this package enables the integration of micro-ROS in Renesas e2 studio and RA6M5 MCU family. - a standalone **[micro-ROS component for ESP-IDF](https://github.com/micro-ROS/micro_ros_espidf_component)**: this package enables the integration of micro-ROS in any Espressif ESP32 IDF project. - a standalone **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)**: this package enables the integration of micro-ROS in any Zephyr RTOS workspace. - a standalone **[micro-ROS module for Mbed RTOS](https://github.com/micro-ROS/micro_ros_mbed)**: this package enables the integration of micro-ROS in any Mbed RTOS workspace. From 1fa614c867b5da7c59d0a4d3a0f34b13be9e182e Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:39:55 +0100 Subject: [PATCH 09/19] Remove non-header files from include folder (backport #716) (#754) * Remove non-header files from include folder (#716) The `include` directory previously contained all files copied over, but only `*.h` and `*.hpp` files are required. This commit removes all files that do not have a `.h` or `.hpp` extension, as well as any empty directories that may result from this cleanup. Signed-off-by: Meet Gandhi Co-authored-by: Meet Gandhi (cherry picked from commit 096ded099b8b11680991fac804af3e808b606d7d) * Fix CI Signed-off-by: Pablo Garrido * Fix naming * Ensure naming * New line fix --------- Signed-off-by: Pablo Garrido Co-authored-by: Meet Gandhi Co-authored-by: Pablo Garrido --- .github/workflows/ci.yml | 27 ++++++++++++++++++++++++--- config/generate_lib/generic/build.sh | 2 ++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6782aee8..f4ba1f5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,9 +44,16 @@ jobs: run: | (test -f install/micro_ros_setup/lib/micro_ros_setup/build_firmware.sh) && true || false + - name: Sanitize Artifact Name + id: sanitize-name + run: | + sanitized_name=$(echo "${{ inputs.ci_target_ref }}" | sed 's/[\/:*?"<>|\\]/_/g') + echo "sanitized_name=$sanitized_name" >> $GITHUB_ENV + echo "::set-output name=sanitized_name::$sanitized_name" + - uses: actions/upload-artifact@v4.4.0 with: - name: micro_ros_build_${{ inputs.ci_target_ref }} + name: micro_ros_build_${{ steps.sanitize-name.outputs.sanitized_name }} path: install micro_ros_agent: @@ -75,9 +82,16 @@ jobs: rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y + - name: Sanitize Artifact Name + id: sanitize-name + run: | + sanitized_name=$(echo "${{ inputs.ci_target_ref }}" | sed 's/[\/:*?"<>|\\]/_/g') + echo "sanitized_name=$sanitized_name" >> $GITHUB_ENV + echo "::set-output name=sanitized_name::$sanitized_name" + - uses: actions/download-artifact@v4.1.7 with: - name: micro_ros_build_${{ inputs.ci_target_ref }} + name: micro_ros_build_${{ steps.sanitize-name.outputs.sanitized_name }} path: install # Workaround https://github.com/actions/upload-artifact/issues/38 @@ -218,9 +232,16 @@ jobs: rosdep update --rosdistro ${{ env.ROS_DISTRO }} rosdep install --rosdistro ${{ env.ROS_DISTRO }} -y --from-paths src --ignore-src -y + - name: Sanitize Artifact Name + id: sanitize-name + run: | + sanitized_name=$(echo "${{ inputs.ci_target_ref }}" | sed 's/[\/:*?"<>|\\]/_/g') + echo "sanitized_name=$sanitized_name" >> $GITHUB_ENV + echo "::set-output name=sanitized_name::$sanitized_name" + - uses: actions/download-artifact@v4.1.7 with: - name: micro_ros_build_${{ inputs.ci_target_ref }} + name: micro_ros_build_${{ steps.sanitize-name.outputs.sanitized_name }} path: install # Workaround https://github.com/actions/upload-artifact/issues/38 diff --git a/config/generate_lib/generic/build.sh b/config/generate_lib/generic/build.sh index 49af523b..891676b6 100755 --- a/config/generate_lib/generic/build.sh +++ b/config/generate_lib/generic/build.sh @@ -48,6 +48,8 @@ pushd $FW_TARGETDIR/mcu_ws >/dev/null done ; \ ar rc libmicroros.a $(ls *.o *.obj 2> /dev/null); mkdir -p $BUILD_DIR; cp libmicroros.a $BUILD_DIR; ranlib $BUILD_DIR/libmicroros.a; \ cp -R $FW_TARGETDIR/mcu_ws/install/include $BUILD_DIR/; \ + rm $(find $BUILD_DIR/include -type f -not -name "*.h" -not -name "*.hpp"); \ + rm -rf $(find $BUILD_DIR/include -type d -empty); \ cd ..; rm -rf libmicroros; popd >/dev/null From be7582c6a641e1fc8bf2f0ecc10a13df046f73b8 Mon Sep 17 00:00:00 2001 From: "RAHMAN (RAHMET ADAM): RESURRECTION & DELUGE! IS SUBMITTED TO THE SACRED" Date: Tue, 7 Jan 2025 09:32:00 +0300 Subject: [PATCH 10/19] Update README.md (#756) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e9be5469..e2327308 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ This ROS 2 package is the entry point for building micro-ROS apps for different # Supported platforms -This package provides tools and utils to crosscompile micro-ROS with just the common ROS 2 tools for the following platforms platforms. +This package provides tools and utils to crosscompile micro-ROS with just the common ROS 2 tools for the following platforms. **Note that this package provides basic support only, intended in particular for ROS developers who are new to microcontrollers. Micro-ROS [components for each platform](#standalone-build-system-tools) are available and provide a deeper and more flexible integration with the platform-specific build systems.** From d60bb3ae889d3617a7a408ae78765e472eda7af9 Mon Sep 17 00:00:00 2001 From: Zhengxiao Han <60451384+0nhc@users.noreply.github.com> Date: Thu, 9 Jan 2025 04:28:49 -0600 Subject: [PATCH 11/19] Correct Ubuntu version for ROS Jazzy (#762) --- scripts/create_agent_ws.sh | 2 +- scripts/create_firmware_ws.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/create_agent_ws.sh b/scripts/create_agent_ws.sh index 400d953e..2359467b 100755 --- a/scripts/create_agent_ws.sh +++ b/scripts/create_agent_ws.sh @@ -23,4 +23,4 @@ fi # populate the workspace ros2 run micro_ros_setup create_ws.sh $TARGETDIR $PREFIX/config/agent_ros2_packages.txt $PREFIX/config/agent_uros_packages.repos -rosdep install --os=ubuntu:jammy --from-paths $TARGETDIR -i $TARGETDIR -y --skip-keys="$SKIP" +rosdep install --os=ubuntu:noble --from-paths $TARGETDIR -i $TARGETDIR -y --skip-keys="$SKIP" diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index 0745c06f..59cc5c5e 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -89,7 +89,7 @@ pushd $FW_TARGETDIR >/dev/null if [ $RTOS != "host" ]; then ros2 run micro_ros_setup create_ws.sh $DEV_WS_DIR $PREFIX/config/$RTOS/dev_ros2_packages.txt \ $PREFIX/config/$RTOS/dev_uros_packages.repos - rosdep install --os=ubuntu:jammy -y --from-paths $DEV_WS_DIR -i $DEV_WS_DIR --rosdistro $ROS_DISTRO --skip-keys="$SKIP" + rosdep install --os=ubuntu:noble -y --from-paths $DEV_WS_DIR -i $DEV_WS_DIR --rosdistro $ROS_DISTRO --skip-keys="$SKIP" # Creating mcu directory mkdir mcu_ws @@ -110,7 +110,7 @@ if [ $RTOS != "host" ]; then fi # Install dependecies for specific platform -rosdep install --os=ubuntu:jammy -y --from-paths $PREFIX/config/$RTOS/$TARGET_FOLDER -i $PREFIX/config/$RTOS/$TARGET_FOLDER --rosdistro $ROS_DISTRO --skip-keys="$SKIP" +rosdep install --os=ubuntu:noble -y --from-paths $PREFIX/config/$RTOS/$TARGET_FOLDER -i $PREFIX/config/$RTOS/$TARGET_FOLDER --rosdistro $ROS_DISTRO --skip-keys="$SKIP" # Creating specific firmware folder . $PREFIX/config/$RTOS/$TARGET_FOLDER/create.sh From b1b18bc64b02da9f1745d111f37fe10f3107cef4 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Tue, 11 Mar 2025 07:43:02 +0100 Subject: [PATCH 12/19] Remove Iron from nightly --- .github/workflows/nightly.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 48e5766f..96683779 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -24,8 +24,3 @@ jobs: uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@humble with: ci_target_ref: 'humble' - - Iron: - uses: micro-ROS/micro_ros_setup/.github/workflows/ci.yml@iron - with: - ci_target_ref: 'iron' From 262aa56ef7773be9d6c4fc9d084cdcafb2b721ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3n=20Casas?= Date: Tue, 3 Jun 2025 10:43:24 +0200 Subject: [PATCH 13/19] Bump setup-ros (#777) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Antón Casas --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4ba1f5f..7730ae0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.13 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -70,7 +70,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.13 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} @@ -219,7 +219,7 @@ jobs: path: src/micro_ros_setup ref: ${{ inputs.ci_target_ref }} - - uses: ros-tooling/setup-ros@0.7.7 + - uses: ros-tooling/setup-ros@0.7.13 with: use-ros2-testing: false required-ros-distributions: ${{ env.ROS_DISTRO }} From 3ed703f13289c712621490aea48d0ed31fd3a6a5 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 12:32:12 +0200 Subject: [PATCH 14/19] Update maintainers (#785) (#788) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @EugenioCollado @Carlosespicur (cherry picked from commit 0358231ad14abd6f1c805e914d79ab9fcab79e73) Co-authored-by: Antón Casas --- package.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.xml b/package.xml index 537da409..97722d50 100644 --- a/package.xml +++ b/package.xml @@ -4,7 +4,8 @@ micro_ros_setup 5.0.0 Tools for setting up micro-ROS workspaces - Pablo Garrido + Eugenio Collado + Carlos Espinoza Apache-2.0 curl From 526d0c54696d191ea6e99781e02d463ed5443314 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 9 Dec 2025 09:48:54 +0100 Subject: [PATCH 15/19] fix include path (#790) (#801) * fix include path (#781) * fix include path * Trigger CI --------- (cherry picked from commit 22cf5e0068cbd2dd28559cc640da614aa5358b6f) * Remove rsync & execute only in non-host scenario --------- (cherry picked from commit 52d6a34ad0d77b7c586b40f9db94ae3050e21eda) Signed-off-by: Carlosespicur Signed-off-by: Eugenio Collado Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: DedSecer Co-authored-by: Carlosespicur Co-authored-by: Eugenio Collado --- scripts/build_firmware.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh index 96a2c865..e82cc0fe 100755 --- a/scripts/build_firmware.sh +++ b/scripts/build_firmware.sh @@ -76,3 +76,17 @@ else . $PREFIX/config/$RTOS/$PLATFORM/build.sh fi +######## Fix include paths ######## +if [ "$RTOS" != "host" ]; then + cd "$FW_TARGETDIR/mcu_ws" + INCLUDE_ROS2_PACKAGES=$(colcon list | awk '{print $1}' | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') + + for var in ${INCLUDE_ROS2_PACKAGES}; do + if [ -d "$FW_TARGETDIR/build/include/${var}/${var}" ]; then + mkdir -p "$FW_TARGETDIR/build/include/${var}" + cp -a "$FW_TARGETDIR/build/include/${var}/${var}/". "$FW_TARGETDIR/build/include/${var}/" + rm -rf "$FW_TARGETDIR/build/include/${var}/${var}" + fi + done +fi + From 0f5651c598ec26ae0b90ef7253d91fcaebcc0649 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 15:16:40 +0200 Subject: [PATCH 16/19] Fix ament_cmake dependency (backport #795) (#810) * Fix failing build by ignoring rmw_test_fixture Signed-off-by: Eugenio Collado * Fix CI Signed-off-by: Eugenio Collado --------- Signed-off-by: Eugenio Collado Co-authored-by: Carlos Espinoza Curto <148376273+Carlosespicur@users.noreply.github.com> Co-authored-by: Eugenio Collado --- package.xml | 2 ++ scripts/create_firmware_ws.sh | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.xml b/package.xml index 97722d50..112a679a 100644 --- a/package.xml +++ b/package.xml @@ -12,6 +12,8 @@ python3-yaml clang-tidy + ament_cmake + ament_lint_auto flex bison libncurses-dev diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index 59cc5c5e..fbf7ed2c 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -114,4 +114,3 @@ rosdep install --os=ubuntu:noble -y --from-paths $PREFIX/config/$RTOS/$TARGET_FO # Creating specific firmware folder . $PREFIX/config/$RTOS/$TARGET_FOLDER/create.sh - From 4e0e9ae263e0dc79bd381a8473c7c1c938176dc9 Mon Sep 17 00:00:00 2001 From: David-LP99 Date: Tue, 7 Jul 2026 08:25:06 +0200 Subject: [PATCH 17/19] Pre-build msg packages with micro-ROS typesupport before full build (#820) Signed-off-by: David Laseca Perez --- config/host/generic/build.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/config/host/generic/build.sh b/config/host/generic/build.sh index 31d497db..9f65959b 100755 --- a/config/host/generic/build.sh +++ b/config/host/generic/build.sh @@ -6,4 +6,25 @@ set +o nounset . install/local_setup.bash set -o nounset +# Pre-build foundational message packages with the workspace microxrcedds type supports +# already in the path. These packages are implicit dependencies of many interface +# packages (added by rosidl's action/service expansion), but are NOT declared in those +# packages' package.xml files. Without pre-building them in the workspace, cmake would +# find the system /opt/ros/jazzy versions (which have no microxrcedds type support) and +# the generated libraries would fail to link. +# +# Build order matters: +# builtin_interfaces - no workspace deps +# unique_identifier_msgs - no workspace deps (UUID.msg only) +# service_msgs - depends on builtin_interfaces (ServiceEventInfo.msg) +# action_msgs - depends on all three above; has CancelGoal.srv +colcon build --packages-select builtin_interfaces unique_identifier_msgs service_msgs action_msgs --metas src --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON $@ + +# Re-source so the pre-built packages appear in CMAKE_PREFIX_PATH *before* the system +# /opt/ros/jazzy path. This ensures cmake prefers workspace versions (with microxrcedds +# type support) when configuring packages in the full workspace build below. +set +o nounset +. install/local_setup.bash +set -o nounset + colcon build --metas src --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON $@ From 581af42e5e925fd09202ce0d560d9574bf7abbfe Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 08:52:01 +0200 Subject: [PATCH 18/19] Fix dead Zephyr board doc link for B-L475E-IOT01A (#821) (#823) Zephyr reorganized its board documentation from boards// to boards//, so the boards/arm/disco_l475_iot1 link 404s. Point it at the current boards/st/disco_l475_iot1 path. (cherry picked from commit f14ade1776d2c47046060bfba77b8daa89fbdc8c) Signed-off-by: ismetvahidzade986-sketch <277601556+ismetvahidzade986-sketch@users.noreply.github.com> Co-authored-by: Ismet Vahidezade Co-authored-by: ismetvahidzade986-sketch <277601556+ismetvahidzade986-sketch@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2327308..09556d29 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ This package provides tools and utils to crosscompile micro-ROS with just the co | [FreeRTOS](https://www.freertos.org/) | [Crazyflie 2.1](https://www.bitcraze.io/crazyflie-2-1/) | v10.2.1 - CF 2020.06 | `freertos crazyflie21` | | | [Zephyr](https://www.zephyrproject.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | v2.6.0 | `zephyr olimex-stm32-e407` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | | [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) 1 | v2.6.0 | `zephyr nucleo_f446re` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | -| [Zephyr](https://www.zephyrproject.org/) | [ST B-L475E-IOT01A](https://docs.zephyrproject.org/latest/boards/arm/disco_l475_iot1/doc/index.html) | v2.6.0 | `zephyr discovery_l475_iot1` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | +| [Zephyr](https://www.zephyrproject.org/) | [ST B-L475E-IOT01A](https://docs.zephyrproject.org/latest/boards/st/disco_l475_iot1/doc/index.html) | v2.6.0 | `zephyr discovery_l475_iot1` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | | [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo H743ZI](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html) 1 | v2.6.0 | `zephyr nucleo_h743zi` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** | | [Zephyr](https://www.zephyrproject.org/) | [Zephyr emulator](https://docs.zephyrproject.org/2.3.0/boards/posix/native_posix/doc/index.html) | v2.6.0 | `zephyr host` | **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)** || - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | | | Linux | *Host 2* | Ubuntu 18.04/20.04 | `host` | | From ab424c0557c145a912b649d4ada5fee386653204 Mon Sep 17 00:00:00 2001 From: Saiyam Date: Mon, 17 Aug 2026 18:45:57 +0530 Subject: [PATCH 19/19] Support native AArch64 F446RE firmware builds --- .../freertos/nucleo_f446re/client-colcon.meta | 1 + config/freertos/nucleo_f446re/create.sh | 37 ++++++++++++++----- scripts/build_firmware.sh | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/config/freertos/nucleo_f446re/client-colcon.meta b/config/freertos/nucleo_f446re/client-colcon.meta index ccdd0703..20f3b209 100644 --- a/config/freertos/nucleo_f446re/client-colcon.meta +++ b/config/freertos/nucleo_f446re/client-colcon.meta @@ -9,6 +9,7 @@ "rcutils": { "cmake-args": [ "-DENABLE_TESTING=OFF", + "-DRCUTILS_NO_THREAD_SUPPORT=ON", "-DRCUTILS_NO_FILESYSTEM=ON", "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON", "-DRCUTILS_NO_64_ATOMIC=ON" diff --git a/config/freertos/nucleo_f446re/create.sh b/config/freertos/nucleo_f446re/create.sh index 7b4b4b74..3021a938 100755 --- a/config/freertos/nucleo_f446re/create.sh +++ b/config/freertos/nucleo_f446re/create.sh @@ -1,13 +1,32 @@ pushd $FW_TARGETDIR >/dev/null - # Install toolchain - mkdir toolchain - - - # Install toolchain - echo "Downloading ARM compiler, this may take a while" - curl -fsSLO https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2019q3/RC1.1/gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 - tar --strip-components=1 -xvjf gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 -C toolchain > /dev/null - rm gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 + # Install an architecture-compatible Arm cross-compiler. + host_arch=$(uname -m) + case "$host_arch" in + aarch64|arm64) + mkdir -p toolchain/bin + for tool in gcc g++ ar ranlib objcopy size; do + compiler=$(command -v "arm-none-eabi-${tool}" || true) + if [ -z "$compiler" ]; then + echo "Missing arm-none-eabi-${tool}. Install gcc-arm-none-eabi, binutils-arm-none-eabi, libnewlib-arm-none-eabi and libstdc++-arm-none-eabi-newlib." >&2 + exit 1 + fi + ln -s "$compiler" "toolchain/bin/arm-none-eabi-${tool}" + done + echo "Using native $host_arch Arm GNU toolchain: $(readlink -f toolchain/bin/arm-none-eabi-gcc)" + ;; + x86_64|amd64) + mkdir toolchain + echo "Downloading pinned x86_64 ARM compiler, this may take a while" + archive=gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 + curl -fsSLO "https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2019q3/RC1.1/${archive}" + tar --strip-components=1 -xjf "$archive" -C toolchain + rm "$archive" + ;; + *) + echo "Unsupported host architecture: $host_arch" >&2 + exit 1 + ;; + esac # Import repos vcs import --input $PREFIX/config/$RTOS/$PLATFORM/board.repos diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh index e82cc0fe..b973d99b 100755 --- a/scripts/build_firmware.sh +++ b/scripts/build_firmware.sh @@ -62,7 +62,7 @@ fi # source dev_ws if [ $RTOS != "host" ]; then set +o nounset - . $FW_TARGETDIR/dev_ws/install/setup.bash + . $FW_TARGETDIR/dev_ws/install/local_setup.bash set -o nounset fi