From e7027ed6277da5cfeb572a1a381434c75b93e971 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:07:45 +0200 Subject: [PATCH 01/10] Bump Jazzy --- .github/workflows/ci.yml | 4 +- .github/workflows/nightly.yml | 156 ++++++++++++++++++ README.md | 5 +- 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/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/generic/board.repos | 2 +- 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 +- scripts/component | 5 - scripts/create_ws.sh | 2 +- 29 files changed, 200 insertions(+), 122 deletions(-) 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..35a9390e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,14 +7,14 @@ on: branches: - '**' env: - ROS_DISTRO: rolling + ROS_DISTRO: jazzy jobs: micro_ros_build: runs-on: ubuntu-latest container: - image: ubuntu:jammy + image: ubuntu:22.04 strategy: fail-fast: false steps: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index fafc5119..6c0cf14b 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -19,6 +19,9 @@ jobs: - distro: rolling branch: rolling image: ubuntu:jammy + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 - distro: iron branch: iron image: ubuntu:jammy @@ -219,6 +222,156 @@ jobs: platform: disco_l475vg_iot01a binary: 'firmware/micro_ros_mbed/cmake_build/DISCO_L475VG_IOT01A/develop/GCC_ARM/micro_ros_mbed.bin' + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: freertos + platform: crazyflie21 + configuration: crazyflie_position_publisher + transport_arguments: -t serial -d 1 + binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: zephyr + platform: olimex-stm32-e407 + configuration: int32_publisher + transport_arguments: -t serial-usb + binary: 'firmware/build/zephyr/zephyr.bin' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: zephyr + platform: discovery_l475_iot1 + configuration: int32_publisher + transport_arguments: -t serial-usb + binary: 'firmware/build/zephyr/zephyr.bin' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: zephyr + platform: nucleo_h743zi + configuration: int32_publisher + transport_arguments: -t serial -d 3 + binary: 'firmware/build/zephyr/zephyr.bin' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: zephyr + platform: nucleo_f746zg + configuration: int32_publisher + transport_arguments: -t serial -d 3 + binary: 'firmware/build/zephyr/zephyr.bin' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + 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: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: raspbian + platform: buster_v7 + configuration: agent_lite + binary: 'firmware/bin/micro_ros_agent_lite' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + rtos: raspbian + platform: buster_v7 + configuration: weather_publisher + binary: 'firmware/bin/weather_publisher' + + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 + 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 @@ -572,6 +725,9 @@ jobs: - distro: rolling branch: rolling image: ubuntu:jammy + - distro: jazzy + branch: jazzy + image: ubuntu:24.04 - distro: iron branch: iron image: ubuntu:jammy diff --git a/README.md b/README.md index c2139c56..3a0c12db 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)** | @@ -64,7 +63,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 +87,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 +114,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 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/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/generic/board.repos b/config/mbed/generic/board.repos index bf60b337..73e3c2c6 100644 --- a/config/mbed/generic/board.repos +++ b/config/mbed/generic/board.repos @@ -2,4 +2,4 @@ repositories: micro_ros_mbed: type: git url: https://github.com/micro-ROS/micro_ros_mbed - version: rolling + version: jazzy 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/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 fbb9a99965c07db59c366f9ad6d23617690f91ae Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:10:11 +0200 Subject: [PATCH 02/10] Bump ros tooling version --- .github/workflows/ci.yml | 6 +++--- .github/workflows/nightly.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 35a9390e..dd95cc4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,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 }} @@ -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 }} @@ -209,7 +209,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 }} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6c0cf14b..bf184350 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -37,7 +37,7 @@ jobs: path: src/micro_ros_setup ref: ${{ matrix.branch }} - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ matrix.distro }} @@ -680,7 +680,7 @@ jobs: path: src/micro_ros_setup ref: ${{ matrix.branch }} - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ matrix.distro }} @@ -744,7 +744,7 @@ jobs: path: src/micro_ros_setup ref: ${{ matrix.branch }} - - uses: ros-tooling/setup-ros@0.7.0 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: false required-ros-distributions: ${{ matrix.distro }} From ae1a485118364eb9b1626552825586c70207eb9a Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:14:55 +0200 Subject: [PATCH 03/10] Bump ubuntu --- .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 dd95cc4f..4c77a376 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: micro_ros_build: runs-on: ubuntu-latest container: - image: ubuntu:22.04 + image: ubuntu:24.04 strategy: fail-fast: false steps: @@ -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 @@ -100,7 +100,7 @@ jobs: runs-on: ubuntu-latest needs: micro_ros_build container: - image: ubuntu:jammy + image: ubuntu:24.04 strategy: fail-fast: false matrix: From 6e741aec0325e5a2193cf6613fd0f963669f2172 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:20:03 +0200 Subject: [PATCH 04/10] Fix python deps --- .github/workflows/ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c77a376..8936bf83 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,8 +30,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 @@ -70,8 +68,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 @@ -219,8 +215,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 From e928f7fa1f150fb98c529f81f7b971207b00ffbd Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:38:19 +0200 Subject: [PATCH 05/10] Fix zephyr --- config/zephyr/generic/create.sh | 3 +++ config/zephyr/generic/package.xml | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index 82e72c6d..ab84c6b4 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 + pushd $FW_TARGETDIR >/dev/null west init zephyrproject 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 - From 85058d141f78f673442d6107ea524a533c02a668 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:38:27 +0200 Subject: [PATCH 06/10] New nightly approach --- .github/workflows/ci.yml | 2 + .github/workflows/nightly.yml | 772 +--------------------------------- 2 files changed, 10 insertions(+), 764 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8936bf83..3f5f5a71 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,8 @@ on: - 'README.md' branches: - '**' + workflow_call: + env: ROS_DISTRO: jazzy diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index bf184350..8c19833a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -10,770 +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: jazzy - branch: jazzy - image: ubuntu:24.04 - - 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.7 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: freertos - platform: crazyflie21 - configuration: crazyflie_position_publisher - transport_arguments: -t serial -d 1 - binary: 'firmware/freertos_apps/microros_crazyflie21_extensions/cf2.bin' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: zephyr - platform: olimex-stm32-e407 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: zephyr - platform: discovery_l475_iot1 - configuration: int32_publisher - transport_arguments: -t serial-usb - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: zephyr - platform: nucleo_h743zi - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: zephyr - platform: nucleo_f746zg - configuration: int32_publisher - transport_arguments: -t serial -d 3 - binary: 'firmware/build/zephyr/zephyr.bin' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: raspbian - platform: buster_v7 - configuration: agent_lite - binary: 'firmware/bin/micro_ros_agent_lite' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - rtos: raspbian - platform: buster_v7 - configuration: weather_publisher - binary: 'firmware/bin/weather_publisher' - - - distro: jazzy - branch: jazzy - image: ubuntu:24.04 - 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.7 - 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: jazzy - branch: jazzy - image: ubuntu:24.04 - - 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.7 - 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 From 090dee8ab810d1dca18e19b7974faa8acdabac42 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 12:51:23 +0200 Subject: [PATCH 07/10] Fix Zephyr --- config/zephyr/generic/create.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index ab84c6b4..d7671035 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -19,7 +19,7 @@ export ZEPHYR_VERSION="v0.12.4" export ARCH=$(uname -m) # Install west -pip3 install --user -U west +pip3 install --user -U west --break-system-packages pushd $FW_TARGETDIR >/dev/null @@ -31,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 @@ -72,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 From a0c143e70e0cf45de34b418a8716fd95bdfd1963 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 13:12:34 +0200 Subject: [PATCH 08/10] Fix ESP32 --- config/freertos/esp32/create.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From 5b7858113eb19c2d6c32cfd7d58fc33802a054ab Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Fri, 31 May 2024 14:14:02 +0200 Subject: [PATCH 09/10] Fix mbed --- config/mbed/generic/create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/mbed/generic/create.sh b/config/mbed/generic/create.sh index ffcf9b00..83fa2d0f 100755 --- a/config/mbed/generic/create.sh +++ b/config/mbed/generic/create.sh @@ -16,7 +16,7 @@ export PATH=~/.local/bin:"$PATH" pushd $FW_TARGETDIR >/dev/null - pip3 install mbed-tools + pip3 install mbed-tools --break-system-packages # Import repos vcs import --input $PREFIX/config/$RTOS/generic/board.repos From 15e9c8ef0db7b037beb9de9ac1b858e94372dbd5 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 3 Jun 2024 07:36:15 +0200 Subject: [PATCH 10/10] Remove mbed --- .github/workflows/ci.yml | 4 --- README.md | 26 +++++++--------- 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 ----- 12 files changed, 12 insertions(+), 107 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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f5f5a71..6f0e4ea3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,10 +198,6 @@ 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: diff --git a/README.md b/README.md index 3a0c12db..e00618fb 100644 --- a/README.md +++ b/README.md @@ -40,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` | | @@ -161,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/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 73e3c2c6..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: jazzy 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 83fa2d0f..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 --break-system-packages - - # 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