From a344305b1df6b5048a0c23bfeff71cc593373456 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 26 Jul 2021 10:49:20 +0200 Subject: [PATCH 01/32] Update yaml_filter.py (#365) (#367) (cherry picked from commit ce41dcb980ee50cd6424fbc8d1a11138a473e851) Co-authored-by: Pablo Garrido --- scripts/yaml_filter.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/yaml_filter.py b/scripts/yaml_filter.py index 80d6f291..307c3a34 100755 --- a/scripts/yaml_filter.py +++ b/scripts/yaml_filter.py @@ -11,9 +11,10 @@ repos_keep = yaml.safe_load(open(sys.argv[1]))['keep'].split() target = {'repositories': {}} + + if repos_info: + for key in repos_info["repositories"]: + if key in repos_keep: + target['repositories'][key] = repos_info["repositories"][key] - for key in repos_info["repositories"]: - if key in repos_keep: - target['repositories'][key] = repos_info["repositories"][key] - - print(yaml.dump(target)) \ No newline at end of file + print(yaml.dump(target)) From ae44150c759b8b98390e907b1c1f59c70f108b6d Mon Sep 17 00:00:00 2001 From: Bhavesh Kakwani <67327096+bhavesh-sr@users.noreply.github.com> Date: Tue, 31 Aug 2021 01:52:42 -0400 Subject: [PATCH 02/32] Support for flashing Olimex STM32-E407 with STLINK v2 debuggers (#374) --- config/freertos/olimex-stm32-e407/flash.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/freertos/olimex-stm32-e407/flash.sh b/config/freertos/olimex-stm32-e407/flash.sh index 1225c181..f9e18e12 100755 --- a/config/freertos/olimex-stm32-e407/flash.sh +++ b/config/freertos/olimex-stm32-e407/flash.sh @@ -11,6 +11,10 @@ pushd $OLIMEX_EXTENSIONS_DIR > /dev/null PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd.cfg elif lsusb -d 15BA:002b;then PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd-h.cfg + elif lsusb -d 0483:374b; then + PROGRAMMER=interface/stlink-v2-1.cfg + elif lsusb -d 0483:3748; then + PROGRAMMER=interface/stlink-v2.cfg else echo "Error. Unsuported OpenOCD USB programmer" exit 1 From e88dc3736d9f33f55b85fd7bbafb93f63d09d070 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 2 Sep 2021 09:01:06 +0200 Subject: [PATCH 03/32] Update standalone build tools section (backport #380) (#382) * Update standalone build tools section (#380) * Update standalone build tools section * Upd * Updates (cherry picked from commit e13e64d3b698695c213166377e7f90dfca98d192) # Conflicts: # README.md * Update Co-authored-by: Pablo Garrido --- README.md | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index b2dbe609..f8a14ad2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This ROS 2 package is the entry point for building micro-ROS apps for different embedded platforms. - [Supported platforms](#supported-platforms) - - [Secondary build system tools](#secondary-build-system-tools) + - [Standalone build system tools](#standalone-build-system-tools) - [Dependencies](#dependencies) - [Building](#building) - [Creating micro-ROS firmware](#creating-micro-ros-firmware) @@ -29,10 +29,10 @@ This package is the **official build system for micro-ROS**. It provides tools a | [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f746zg` | | [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F767ZI](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f767zi` | | [FreeRTOS](https://www.freertos.org/) | [Espressif ESP32](https://www.espressif.com/en/products/socs/esp32/overview) | v8.2.0 | `freertos esp32` | -| [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` | -| [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` | -| [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` | -| [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` | +| [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` | +| [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` | +| [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` | +| [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` | | - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | | Linux | *Host 2* | Ubuntu 18.04/20.04 | `host` | @@ -42,25 +42,31 @@ This package is the **official build system for micro-ROS**. It provides tools a *3 a valid CMake toolchain with custom crosscompilation definition is required* -Please note that NuttX with Olimex STM32-E407 board is the reference platform and not everything might be supported on other platforms. - -## Secondary build system tools +## Standalone build system tools micro-ROS also offers some other ways to crosscompile it for different platforms. These other options are secondary tools and may not have full support for all features. Currently micro-ROS is also available as: +- 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. +- a standalone **[micro-ROS module for NuttX RTOS](https://github.com/micro-ROS/micro_ros_nuttx_app)**: this package enables the integration of micro-ROS in any NuttX RTOS workspace. +- a standalone **[micro-ROS module for Microsoft Azure RTOS](https://github.com/micro-ROS/micro_ros_azure_rtos_app)**: this package enables the integration of micro-ROS in a Microsoft Azure RTOS workspace. +- a set of **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)**: this package enables the integration of micro-ROS in STM32CubeMX and STM32CubeIDE. - a precompiled set of **[Arduino IDE libraries](https://github.com/micro-ROS/micro_ros_arduino)**: this package enables the integration of micro-ROS in the Arduino IDE for some hardware platforms. +- a precompiled set of **[Raspberry Pi Pico SDK libraries](https://github.com/micro-ROS/micro_ros_raspberrypi_pico_sdk)**: this package enables the integration of micro-ROS in the Raspberry Pi Pico SDK. # Dependencies This package targets the **ROS 2** installation. ROS 2 supported distributions are: -| ROS 2 Distro | State | Branch | -| ------------ | --------- | --------- | -| Crystal | Supported | `crystal` | -| Dashing | Supported | `dashing` | -| Foxy | Supported | `foxy` | +| ROS 2 Distro | State | Branch | +| ------------ | --------- | ---------- | +| Crystal | EOL | `crystal` | +| Dashing | EOL | `dashing` | +| Foxy | Supported | `foxy` | +| Galactic | Supported | `galactic` | +| Rolling | Supported | `main` | Some other prerequisites needed for building a firmware using this package are: @@ -68,7 +74,7 @@ Some other prerequisites needed for building a firmware using this package are: sudo apt install python3-rosdep ``` -# Building +# Building Create a ROS 2 workspace and build this package for a given ROS 2 distro (see table above): @@ -180,7 +186,7 @@ This folder contains up to four scripts: - `configure.sh`: modifies and configure parameters of the installed dependencies. This step is **optional**. - `build.sh`: builds the firmware and create a platform-specific linked binary. - `flash.sh`: flashes the binary in the target platform. - + Some other required files inside the folder can be accessed from these scripts using the following paths: ```bash @@ -211,4 +217,4 @@ see the file [3rd-party-licenses.txt](3rd-party-licenses.txt). There are no known limitations. -If you find issues, [please report them](https://github.com/micro-ROS/micro_ros_setup/issues). +If you find issues, [please report them](https://github.com/micro-ROS/micro_ros_setup/issues). From 65f534971f87ad14d01e509b3198437d24e68f15 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 11:15:54 +0200 Subject: [PATCH 04/32] Simplify micro-ROS Agent build (#378) (#384) * Simplify agent build * Revert this * Update config/agent_uros_packages.repos Co-authored-by: Pablo Garrido Co-authored-by: Antonio Cuadros <49162117+Acuadros95@users.noreply.github.com> (cherry picked from commit 70ccf666f45f5d9144a59933fe873b1379a2b208) Co-authored-by: Pablo Garrido --- config/agent_uros_packages.repos | 5 ----- 1 file changed, 5 deletions(-) diff --git a/config/agent_uros_packages.repos b/config/agent_uros_packages.repos index 1eb2c0ec..fe06daf6 100644 --- a/config/agent_uros_packages.repos +++ b/config/agent_uros_packages.repos @@ -11,8 +11,3 @@ repositories: type: git url: https://github.com/micro-ROS/drive_base.git version: master - # TODO (pablogs9): Integrate Micro XRCE-DDS Agent dependency download in micro-ROS-Agent package - eProsima/Micro-XRCE-DDS-Agent: - type: git - url: https://github.com/eProsima/Micro-XRCE-DDS-Agent.git - version: foxy From b2a741dd32d52a77377a7b731c08ff22c30582d3 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 16:25:15 +0200 Subject: [PATCH 05/32] Update README.md (#386) (#387) (cherry picked from commit a4c138e3d86e5a6be21088086dc5ab0d015ef31e) Co-authored-by: Pablo Garrido --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f8a14ad2..160cf3ec 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ This ROS 2 package is the entry point for building micro-ROS apps for different - [Supported platforms](#supported-platforms) - [Standalone build system tools](#standalone-build-system-tools) - [Dependencies](#dependencies) +- [Quick Start](#quick-start) - [Building](#building) - [Creating micro-ROS firmware](#creating-micro-ros-firmware) - [Configuring micro-ROS firmware](#configuring-micro-ros-firmware) @@ -73,6 +74,9 @@ Some other prerequisites needed for building a firmware using this package are: ``` sudo apt install python3-rosdep ``` +# Quick start + +Download [here](https://www.eprosima.com/index.php/downloads-all) the micro-ROS docker image that contains a pre-installed client and agent as well as some compiled examples. # Building From 9c5f0bac60e3825970845c3c18dbb02485efafee Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:21:49 +0200 Subject: [PATCH 06/32] Add renesas RA6M5 (backport #390) (#391) * Add renesas RA6M5 (#390) * Add renesas RA6M5 * Fix * Avoid toolchain (cherry picked from commit d27b83ef9c5303fe882d9a6731f0dcc4952518fb) # Conflicts: # README.md * Fix Co-authored-by: Pablo Garrido --- README.md | 35 ++++++++++--------- 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 ++++++++++ .../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 ++++ scripts/create_firmware_ws.sh | 2 +- 11 files changed, 91 insertions(+), 18 deletions(-) create mode 100644 config/renesas_ra/dev_ros2_packages.txt create mode 100644 config/renesas_ra/dev_uros_packages.repos create mode 100644 config/renesas_ra/list_apps.sh create mode 100644 config/renesas_ra/ra6m5/board.repos create mode 100755 config/renesas_ra/ra6m5/build.sh create mode 100644 config/renesas_ra/ra6m5/client_uros_packages.repos create mode 100755 config/renesas_ra/ra6m5/configure.sh create mode 100755 config/renesas_ra/ra6m5/create.sh create mode 100755 config/renesas_ra/ra6m5/flash.sh diff --git a/README.md b/README.md index 160cf3ec..e25b9653 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This ROS 2 package is the entry point for building micro-ROS apps for different - [Supported platforms](#supported-platforms) - [Standalone build system tools](#standalone-build-system-tools) - [Dependencies](#dependencies) -- [Quick Start](#quick-start) +- [Quick start](#quick-start) - [Building](#building) - [Creating micro-ROS firmware](#creating-micro-ros-firmware) - [Configuring micro-ROS firmware](#configuring-micro-ros-firmware) @@ -20,22 +20,23 @@ This ROS 2 package is the entry point for building micro-ROS apps for different This package is the **official build system for micro-ROS**. It provides tools and utils to crosscompile micro-ROS with just the common ROS 2 tools for these platforms: -| RTOS | Platform | Version | Example | -| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------- | ---------------------------- | -| [Nuttx](https://nuttx.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | v7.29 | `nuttx olimex-stm32-e407` | -| [FreeRTOS](https://www.freertos.org/) | [Crazyflie 2.1](https://www.bitcraze.io/crazyflie-2-1/) | v10.2.1 - CF 2020.06 | `freertos crazyflie21` | -| [FreeRTOS](https://www.freertos.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | STM32CubeMX latest | `freertos olimex-stm32-e407` | -| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) 1 | STM32CubeMX latest | `freertos nucleo_f446re` | -| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446ZE](https://www.st.com/en/evaluation-tools/nucleo-f446ze.html) 1 | STM32CubeMX latest | `freertos nucleo_f446ze` | -| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f746zg` | -| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F767ZI](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f767zi` | -| [FreeRTOS](https://www.freertos.org/) | [Espressif ESP32](https://www.espressif.com/en/products/socs/esp32/overview) | v8.2.0 | `freertos esp32` | -| [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` | -| [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` | -| [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` | -| [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` | -| - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | -| Linux | *Host 2* | Ubuntu 18.04/20.04 | `host` | +| RTOS | Platform | Version | Example | +| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------- | +| [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` | +| [Nuttx](https://nuttx.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | v7.29 | `nuttx olimex-stm32-e407` | +| [FreeRTOS](https://www.freertos.org/) | [Crazyflie 2.1](https://www.bitcraze.io/crazyflie-2-1/) | v10.2.1 - CF 2020.06 | `freertos crazyflie21` | +| [FreeRTOS](https://www.freertos.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | STM32CubeMX latest | `freertos olimex-stm32-e407` | +| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) 1 | STM32CubeMX latest | `freertos nucleo_f446re` | +| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446ZE](https://www.st.com/en/evaluation-tools/nucleo-f446ze.html) 1 | STM32CubeMX latest | `freertos nucleo_f446ze` | +| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f746zg` | +| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F767ZI](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) 1 | STM32CubeMX latest | `freertos nucleo_f767zi` | +| [FreeRTOS](https://www.freertos.org/) | [Espressif ESP32](https://www.espressif.com/en/products/socs/esp32/overview) | v8.2.0 | `freertos esp32` | +| [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` | +| [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` | +| [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` | +| [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` | +| - | Static library (.a) and headers (.h) 3 | - | `generate_lib` | +| Linux | *Host 2* | Ubuntu 18.04/20.04 | `host` | *1 Community supported, may have lack of official support* diff --git a/config/renesas_ra/dev_ros2_packages.txt b/config/renesas_ra/dev_ros2_packages.txt new file mode 100644 index 00000000..23fb6a5c --- /dev/null +++ b/config/renesas_ra/dev_ros2_packages.txt @@ -0,0 +1,2 @@ +keep: + None diff --git a/config/renesas_ra/dev_uros_packages.repos b/config/renesas_ra/dev_uros_packages.repos new file mode 100644 index 00000000..56f46b6f --- /dev/null +++ b/config/renesas_ra/dev_uros_packages.repos @@ -0,0 +1 @@ +repositories: diff --git a/config/renesas_ra/list_apps.sh b/config/renesas_ra/list_apps.sh new file mode 100644 index 00000000..e460c69d --- /dev/null +++ b/config/renesas_ra/list_apps.sh @@ -0,0 +1,24 @@ +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 new file mode 100644 index 00000000..bff027ec --- /dev/null +++ b/config/renesas_ra/ra6m5/board.repos @@ -0,0 +1,5 @@ +repositories: + micro_ros_renesas_demos: + type: git + url: https://github.com/micro-ROS/micro_ros_renesas_demos + version: foxy diff --git a/config/renesas_ra/ra6m5/build.sh b/config/renesas_ra/ra6m5/build.sh new file mode 100755 index 00000000..4a0bfdf2 --- /dev/null +++ b/config/renesas_ra/ra6m5/build.sh @@ -0,0 +1,18 @@ +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_uros_packages.repos b/config/renesas_ra/ra6m5/client_uros_packages.repos new file mode 100644 index 00000000..56f46b6f --- /dev/null +++ b/config/renesas_ra/ra6m5/client_uros_packages.repos @@ -0,0 +1 @@ +repositories: diff --git a/config/renesas_ra/ra6m5/configure.sh b/config/renesas_ra/ra6m5/configure.sh new file mode 100755 index 00000000..69715ea6 --- /dev/null +++ b/config/renesas_ra/ra6m5/configure.sh @@ -0,0 +1 @@ +echo $CONFIG_NAME > $FW_TARGETDIR/APP diff --git a/config/renesas_ra/ra6m5/create.sh b/config/renesas_ra/ra6m5/create.sh new file mode 100755 index 00000000..d8098f2b --- /dev/null +++ b/config/renesas_ra/ra6m5/create.sh @@ -0,0 +1,14 @@ +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 new file mode 100755 index 00000000..a4b389d1 --- /dev/null +++ b/config/renesas_ra/ra6m5/flash.sh @@ -0,0 +1,6 @@ +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/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index 7be1a671..86138c25 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -34,7 +34,7 @@ print_available_platforms () { if [ $# -ge 1 ]; then RTOS=$1 else - echo "Syntax: ros2 run micro_ros_setup create_firmware_ws.sh []" + echo "Syntax: ros2 run micro_ros_setup create_firmware_ws.sh []" print_available_platforms exit 1 fi From 7a2aeaf2cf8fa497949ac5450d007bad2f73d9e0 Mon Sep 17 00:00:00 2001 From: David Jablonski Date: Mon, 18 Oct 2021 17:05:15 +0200 Subject: [PATCH 07/32] openocd: added script to reset devices (#399) --- CMakeLists.txt | 1 + config/freertos/nucleo_f446re/reset.sh | 17 +++++ config/freertos/nucleo_f446ze/reset.sh | 17 +++++ config/freertos/nucleo_f746zg/reset.sh | 17 +++++ config/freertos/nucleo_f767zi/reset.sh | 17 +++++ config/freertos/olimex-stm32-e407/reset.sh | 19 ++++++ config/host/generic/reset.sh | 2 + config/nuttx/generic/reset.sh | 32 ++++++++++ config/raspbian/generic/flash.sh | 0 config/zephyr/generic/reset.sh | 74 ++++++++++++++++++++++ scripts/reset_firmware.sh | 34 ++++++++++ 11 files changed, 230 insertions(+) create mode 100755 config/freertos/nucleo_f446re/reset.sh create mode 100755 config/freertos/nucleo_f446ze/reset.sh create mode 100755 config/freertos/nucleo_f746zg/reset.sh create mode 100755 config/freertos/nucleo_f767zi/reset.sh create mode 100755 config/freertos/olimex-stm32-e407/reset.sh create mode 100755 config/host/generic/reset.sh create mode 100755 config/nuttx/generic/reset.sh mode change 100644 => 100755 config/raspbian/generic/flash.sh create mode 100755 config/zephyr/generic/reset.sh create mode 100755 scripts/reset_firmware.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 031e2e83..be1dafe8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,7 @@ install( scripts/create_firmware_ws.sh scripts/configure_firmware.sh scripts/flash_firmware.sh + scripts/reset_firmware.sh scripts/build_firmware.sh scripts/build_agent.sh scripts/yaml_filter.py diff --git a/config/freertos/nucleo_f446re/reset.sh b/config/freertos/nucleo_f446re/reset.sh new file mode 100755 index 00000000..e59eff6f --- /dev/null +++ b/config/freertos/nucleo_f446re/reset.sh @@ -0,0 +1,17 @@ +EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_nucleo_f446re_extensions + +pushd $EXTENSIONS_DIR > /dev/null + +echo "Resetting firmware for $RTOS platform $PLATFORM" +if lsusb -d 0483:374b; then + ST_INTERFACE=interface/stlink-v2-1.cfg +elif lsusb -d 0483:3748; then + ST_INTERFACE=interface/stlink-v2.cfg +else +# TODO: add stlink v3, should it be stlink.cfg ? + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 +fi +openocd -f $ST_INTERFACE -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" + +popd > /dev/null diff --git a/config/freertos/nucleo_f446ze/reset.sh b/config/freertos/nucleo_f446ze/reset.sh new file mode 100755 index 00000000..6a0fa6eb --- /dev/null +++ b/config/freertos/nucleo_f446ze/reset.sh @@ -0,0 +1,17 @@ +EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_nucleo_f446ze_extensions + +pushd $EXTENSIONS_DIR > /dev/null + +echo "Resetting firmware for $RTOS platform $PLATFORM" +if lsusb -d 0483:374b; then + ST_INTERFACE=interface/stlink-v2-1.cfg +elif lsusb -d 0483:3748; then + ST_INTERFACE=interface/stlink-v2.cfg +else +# TODO: add stlink v3, should it be stlink.cfg ? + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 +fi +openocd -f $ST_INTERFACE -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" + +popd > /dev/null diff --git a/config/freertos/nucleo_f746zg/reset.sh b/config/freertos/nucleo_f746zg/reset.sh new file mode 100755 index 00000000..4d0c09a3 --- /dev/null +++ b/config/freertos/nucleo_f746zg/reset.sh @@ -0,0 +1,17 @@ +EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_nucleo_f746zg_extensions + +pushd $EXTENSIONS_DIR > /dev/null + +echo "Resetting firmware for $RTOS platform $PLATFORM" +if lsusb -d 0483:374b; then + ST_INTERFACE=interface/stlink-v2-1.cfg +elif lsusb -d 0483:3748; then + ST_INTERFACE=interface/stlink-v2.cfg +else +# TODO: add stlink v3, should it be stlink.cfg ? + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 +fi +openocd -f $ST_INTERFACE -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" + +popd > /dev/null diff --git a/config/freertos/nucleo_f767zi/reset.sh b/config/freertos/nucleo_f767zi/reset.sh new file mode 100755 index 00000000..49e6d8f5 --- /dev/null +++ b/config/freertos/nucleo_f767zi/reset.sh @@ -0,0 +1,17 @@ +EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_nucleo_f767zi_extensions + +pushd $EXTENSIONS_DIR > /dev/null + +echo "Resetting firmware for $RTOS platform $PLATFORM" +if lsusb -d 0483:374b; then + ST_INTERFACE=interface/stlink-v2-1.cfg +elif lsusb -d 0483:3748; then + ST_INTERFACE=interface/stlink-v2.cfg +else +# TODO: add stlink v3, should it be stlink.cfg ? + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 +fi +openocd -f $ST_INTERFACE -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" + +popd > /dev/null diff --git a/config/freertos/olimex-stm32-e407/reset.sh b/config/freertos/olimex-stm32-e407/reset.sh new file mode 100755 index 00000000..03a97532 --- /dev/null +++ b/config/freertos/olimex-stm32-e407/reset.sh @@ -0,0 +1,19 @@ +OLIMEX_EXTENSIONS_DIR=$FW_TARGETDIR/freertos_apps/microros_olimex_e407_extensions + +pushd $OLIMEX_EXTENSIONS_DIR > /dev/null + +if lsusb -d 15BA:002a; then + PROGRAMMER=interface/ftdi/olimex-arm-usb-tiny-h.cfg +elif lsusb -d 15BA:0003;then + PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd.cfg +elif lsusb -d 15BA:002b;then + PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd-h.cfg +else + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 +fi + +openocd -f $PROGRAMMER -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" + +popd > /dev/null + diff --git a/config/host/generic/reset.sh b/config/host/generic/reset.sh new file mode 100755 index 00000000..72cd7cd9 --- /dev/null +++ b/config/host/generic/reset.sh @@ -0,0 +1,2 @@ +echo "Nothing to reset: running in host mode" +echo "Use 'RMW_IMPLEMENTATION=rmw_microxrcedds ros2 run micro_ros_demos_rcl int32_subscriber' to start with examples" diff --git a/config/nuttx/generic/reset.sh b/config/nuttx/generic/reset.sh new file mode 100755 index 00000000..d278c5a1 --- /dev/null +++ b/config/nuttx/generic/reset.sh @@ -0,0 +1,32 @@ +#! /bin/bash + +set -e +set -o nounset +set -o pipefail + + +pushd $FW_TARGETDIR/NuttX > /dev/null + +if [ "$PLATFORM" = "olimex-stm32-e407" ]; then + echo "Resetting firmware for $RTOS platform $PLATFORM" + + if lsusb -d 15BA:002a; then + PROGRAMMER=interface/ftdi/olimex-arm-usb-tiny-h.cfg + elif lsusb -d 15BA:0003;then + PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd.cfg + elif lsusb -d 15BA:002b;then + PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd-h.cfg + elif lsusb -d 0483:3748;then + PROGRAMMER=interface/stlink-v2.cfg + else + echo "Error. Unsuported OpenOCD USB programmer" + exit 1 + fi + + openocd -f $PROGRAMMER -f target/stm32f4x.cfg -c init -c "reset halt" -c "reset" -c "exit" +else + echo "Unrecognized board: $PLATFORM" + exit 1 +fi + +popd > /dev/null diff --git a/config/raspbian/generic/flash.sh b/config/raspbian/generic/flash.sh old mode 100644 new mode 100755 diff --git a/config/zephyr/generic/reset.sh b/config/zephyr/generic/reset.sh new file mode 100755 index 00000000..11d413b2 --- /dev/null +++ b/config/zephyr/generic/reset.sh @@ -0,0 +1,74 @@ +pushd $FW_TARGETDIR > /dev/null + +ZEPHYR_BUILD_DIR="$FW_TARGETDIR/build/zephyr" + +# Host platform (=native_posix) is special, as resetting is stopping and re-executing the binary +if [ "$PLATFORM" = "host" ]; then + + # TODO: stop the previous process + $ZEPHYR_BUILD_DIR/zephyr.exe + +else + + # These boards need special openocd rules + RESET_OPENOCD=false + if [ "$PLATFORM" = "olimex-stm32-e407" ]; then + + RESET_OPENOCD=true + OPENOCD_TARGET="stm32f4x.cfg" + if lsusb -d 15BA:002a; then + OPENOCD_PROGRAMMER=interface/ftdi/olimex-arm-usb-tiny-h.cfg + elif lsusb -d 15BA:0003;then + OPENOCD_PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd.cfg + elif lsusb -d 15BA:002b;then + OPENOCD_PROGRAMMER=interface/ftdi/olimex-arm-usb-ocd-h.cfg + else + echo "Error: Unsuported OpenOCD USB programmer" + exit 1 + fi + + elif [ "$PLATFORM" = "nucleo_f446re" ]; then + + RESET_OPENOCD=true + OPENOCD_TARGET="stm32f4x.cfg" + + if lsusb -d 0483:374b;then + OPENOCD_PROGRAMMER=interface/stlink-v2-1.cfg + else + echo "Error: Unsupported OpenOCD programmer" + exit 1 + fi + + elif [ "$PLATFORM" = "nucleo_h743zi" ]; then + + RESET_OPENOCD=true + OPENOCD_TARGET="stm32h7x.cfg" + + if lsusb -d 0483:374e;then + OPENOCD_PROGRAMMER=interface/stlink.cfg + else + echo "Error: Unsupported OpenOCD programmer" + exit 1 + fi + + fi + + + + if [ "$RESET_OPENOCD" = true ]; then + + openocd -f $OPENOCD_PROGRAMMER -f target/$OPENOCD_TARGET \ + -c init \ + -c "reset halt" \ + -c "reset run; exit" + + else + + echo "Error: Resetting device is only supported with OpenOCD" + exit 1 + + fi + +fi + +popd > /dev/null diff --git a/scripts/reset_firmware.sh b/scripts/reset_firmware.sh new file mode 100755 index 00000000..a8d83f8e --- /dev/null +++ b/scripts/reset_firmware.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +set -e +set -o nounset +set -o pipefail + +FW_TARGETDIR=$(pwd)/firmware +PREFIX=$(ros2 pkg prefix micro_ros_setup) + +# Checking if firmware exists +if [ -d $FW_TARGETDIR ]; then + RTOS=$(head -n1 $FW_TARGETDIR/PLATFORM) + PLATFORM=$(head -n2 firmware/PLATFORM | tail -n1) +else + echo "Firmware folder not found. Please use ros2 run micro_ros_setup create_firmware_ws.sh to create a new project." + exit 1 +fi + +# Reset specific firmware +if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then + if [ -f $PREFIX/config/$RTOS/generic/reset.sh ]; then + echo "Resetting firmware for $RTOS platform $PLATFORM" + . $PREFIX/config/$RTOS/generic/reset.sh + else + echo "No reset step found for $RTOS platform $PLATFORM" + fi +else + if [ -f $PREFIX/config/$RTOS/$PLATFORM/reset.sh ]; then + echo "Resetting firmware for $RTOS platform $PLATFORM" + . $PREFIX/config/$RTOS/$PLATFORM/reset.sh + else + echo "No reset step found for $RTOS platform $PLATFORM" + fi +fi From 423bd6f8e025675787acf1315b11c639ee32b64e Mon Sep 17 00:00:00 2001 From: David Jablonski Date: Tue, 19 Oct 2021 07:46:25 +0200 Subject: [PATCH 08/32] fix: use FW_TARGETDIR instead of firmware (#400) --- scripts/build_firmware.sh | 4 ++-- scripts/configure_firmware.sh | 2 +- scripts/flash_firmware.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh index 804fa8cf..a570b232 100755 --- a/scripts/build_firmware.sh +++ b/scripts/build_firmware.sh @@ -47,9 +47,9 @@ export UROS_EXTRA_BUILD_ARGS # Checking if firmware exists if [ -d $FW_TARGETDIR ]; then RTOS=$(head -n1 $FW_TARGETDIR/PLATFORM) - PLATFORM=$(head -n2 firmware/PLATFORM | tail -n1) + PLATFORM=$(head -n2 $FW_TARGETDIR/PLATFORM | tail -n1) if [ -f $FW_TARGETDIR/TRANSPORT ]; then - TRANSPORT=$(head -n1 firmware/TRANSPORT) + TRANSPORT=$(head -n1 $FW_TARGETDIR/TRANSPORT) fi else echo "Firmware folder not found. Please use ros2 run micro_ros_setup create_firmware_ws.sh to create a new project." diff --git a/scripts/configure_firmware.sh b/scripts/configure_firmware.sh index e8c79153..dca58e16 100755 --- a/scripts/configure_firmware.sh +++ b/scripts/configure_firmware.sh @@ -10,7 +10,7 @@ export PREFIX=$(ros2 pkg prefix micro_ros_setup) # Checking if firmware exists if [ -d $FW_TARGETDIR ]; then RTOS=$(head -n1 $FW_TARGETDIR/PLATFORM) - PLATFORM=$(head -n2 firmware/PLATFORM | tail -n1) + PLATFORM=$(head -n2 $FW_TARGETDIR/PLATFORM | tail -n1) else echo "Firmware folder not found. Please use ros2 run micro_ros_setup create_firmware_ws.sh to create a new project." exit 1 diff --git a/scripts/flash_firmware.sh b/scripts/flash_firmware.sh index 7f257cad..23b080f2 100755 --- a/scripts/flash_firmware.sh +++ b/scripts/flash_firmware.sh @@ -10,7 +10,7 @@ PREFIX=$(ros2 pkg prefix micro_ros_setup) # Checking if firmware exists if [ -d $FW_TARGETDIR ]; then RTOS=$(head -n1 $FW_TARGETDIR/PLATFORM) - PLATFORM=$(head -n2 firmware/PLATFORM | tail -n1) + PLATFORM=$(head -n2 $FW_TARGETDIR/PLATFORM | tail -n1) else echo "Firmware folder not found. Please use ros2 run micro_ros_setup create_firmware_ws.sh to create a new project." exit 1 From 2f041a4ae6bd9e07e1dd7605920e37ca52eb6855 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 10 Nov 2021 09:15:21 +0100 Subject: [PATCH 09/32] Temporal disable Rolling Agent CI (backport #408) (#410) * Temporal disable Rolling Agent CI (#408) (cherry picked from commit 218170bcf20417c22d03bcbb5300d1312149ec5a) # Conflicts: # .github/workflows/nightly.yml * Update nightly.yml Co-authored-by: Pablo Garrido --- .github/workflows/nightly.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index aca9862a..a9b1dda2 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -362,8 +362,8 @@ jobs: include: - distro: foxy branch: foxy - - distro: rolling - branch: main + # - distro: rolling + # branch: main needs: micro_ros_build container: ros:${{ matrix.distro }} @@ -399,4 +399,4 @@ jobs: - name: installation run: | - (test -f install/micro_ros_agent/lib/micro_ros_agent/micro_ros_agent) && true || false \ No newline at end of file + (test -f install/micro_ros_agent/lib/micro_ros_agent/micro_ros_agent) && true || false From 9bbc1093002ce5b93537a475ebcbb36fdfaabae6 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 11 Nov 2021 10:02:49 +0100 Subject: [PATCH 10/32] Remove unnecessary rosdep (#411) (#412) (cherry picked from commit c03d66e1abd0b1056cdf4949cb8d724c5bfe023b) Co-authored-by: Pablo Garrido --- scripts/create_firmware_ws.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index 86138c25..ad5bb74d 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -70,10 +70,6 @@ echo $PLATFORM >> $FW_TARGETDIR/PLATFORM # Setting common enviroment SKIP="microxrcedds_agent microxrcedds_client microcdr rosidl_typesupport_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_opensplice_cpp rosidl_typesupport_opensplice_c rmw_opensplice_cpp ros-${ROS_DISTRO}-cyclonedds ros-${ROS_DISTRO}-rmw-cyclonedds-cpp google_benchmark_vendor performance_test_fixture ros-${ROS_DISTRO}-mimick-vendor rmw_cyclonedds_cpp rmw_connext_cpp" -# Installing common packages -rosdep update --rosdistro $ROS_DISTRO -rosdep install -y --from-paths src -i src --rosdistro $ROS_DISTRO --skip-keys="$SKIP" - # Check generic build if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then TARGET_FOLDER=generic From 176d93318893ca4095383bcd370f63abd95ee17e Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 11 Nov 2021 14:14:31 +0100 Subject: [PATCH 11/32] Fix rosdep (backport #414) (#415) * Fix rosdep (#414) * Fix rosdep * Update (cherry picked from commit 3a28e75c75e456bff4ca83e6be10e19fc3d18295) # Conflicts: # scripts/create_firmware_ws.sh * Fix conflicts Co-authored-by: Pablo Garrido --- config/host/generic/create.sh | 2 +- scripts/create_agent_ws.sh | 10 +++++++--- scripts/create_firmware_ws.sh | 7 ++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/config/host/generic/create.sh b/config/host/generic/create.sh index c8c8d196..427cd222 100755 --- a/config/host/generic/create.sh +++ b/config/host/generic/create.sh @@ -4,7 +4,7 @@ ros2 run micro_ros_setup create_ws.sh src $PREFIX/config/$RTOS/client_ros2_packa # add appropriate colcon.meta cp $PREFIX/config/$RTOS/$PLATFORM/client-host-colcon.meta src/colcon.meta -rosdep install -y --from-paths src -i src --skip-keys="$SKIP" +rosdep install -y --from-paths src -i src --skip-keys="$SKIP" -r touch src/uros/rclc/rclc_examples/COLCON_IGNORE touch src/uros/rclc/rclc_lifecycle/COLCON_IGNORE \ No newline at end of file diff --git a/scripts/create_agent_ws.sh b/scripts/create_agent_ws.sh index 9b67af10..32e68ddd 100755 --- a/scripts/create_agent_ws.sh +++ b/scripts/create_agent_ws.sh @@ -6,7 +6,12 @@ set -o pipefail PREFIX=$(ros2 pkg prefix micro_ros_setup) TARGETDIR=src -SKIP="rosidl_typesupport_opensplice_c rosidl_typesupport_opensplice_cpp rmw_opensplice_cpp rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp microxrcedds_agent microxrcedds_client microcdr" + +if [ -z ${EXTERNAL_SKIP+x} ]; then + EXTERNAL_SKIP="" +fi + +SKIP="rosidl_typesupport_opensplice_c rosidl_typesupport_opensplice_cpp rmw_opensplice_cpp rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp microxrcedds_agent microxrcedds_client microcdr rmw_connextdds $EXTERNAL_SKIP" if [ $# -gt 0 ] then @@ -18,5 +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 --from-paths $TARGETDIR -i $TARGETDIR -y \ - --skip-keys="$SKIP" +rosdep install --from-paths $TARGETDIR -i $TARGETDIR -y --skip-keys="$SKIP" diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index ad5bb74d..8c376952 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -68,7 +68,12 @@ echo $RTOS > $FW_TARGETDIR/PLATFORM echo $PLATFORM >> $FW_TARGETDIR/PLATFORM # Setting common enviroment -SKIP="microxrcedds_agent microxrcedds_client microcdr rosidl_typesupport_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_opensplice_cpp rosidl_typesupport_opensplice_c rmw_opensplice_cpp ros-${ROS_DISTRO}-cyclonedds ros-${ROS_DISTRO}-rmw-cyclonedds-cpp google_benchmark_vendor performance_test_fixture ros-${ROS_DISTRO}-mimick-vendor rmw_cyclonedds_cpp rmw_connext_cpp" + +if [ -z ${EXTERNAL_SKIP+x} ]; then + EXTERNAL_SKIP="" +fi + +SKIP="microxrcedds_agent microxrcedds_client microcdr rosidl_typesupport_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_opensplice_cpp rosidl_typesupport_opensplice_c rmw_opensplice_cpp ros-${ROS_DISTRO}-cyclonedds ros-${ROS_DISTRO}-rti-connext-dds-cmake-module ros-${ROS_DISTRO}-rmw-connextdds-common ros-${ROS_DISTRO}-rmw-connextdds ros-${ROS_DISTRO}-rmw-cyclonedds-cpp google_benchmark_vendor performance_test_fixture ros-${ROS_DISTRO}-mimick-vendor rmw_cyclonedds_cpp rmw_connext_cpp rti-connext-dds-5.3.1 rmw_connextdds $EXTERNAL_SKIP" # Check generic build if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then From 90d39883904d92d55b66c042f217831239d0ac57 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 12 Nov 2021 12:54:28 +0100 Subject: [PATCH 12/32] Modify host build (#418) (#421) (cherry picked from commit 97f013e88790be98056ccbbd3d5d91b54c3c25fa) Co-authored-by: Pablo Garrido --- config/host/generic/build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/config/host/generic/build.sh b/config/host/generic/build.sh index af73abbb..1751e391 100755 --- a/config/host/generic/build.sh +++ b/config/host/generic/build.sh @@ -3,7 +3,6 @@ colcon build --packages-up-to rosidl_typesupport_microxrcedds_c --metas src $@ colcon build --packages-up-to rosidl_typesupport_microxrcedds_cpp --metas src $@ set +o nounset -. /opt/ros/$ROS_DISTRO/setup.bash . install/local_setup.bash set -o nounset From 4b1fb0943bb660747138861fbf8ba26fe24d1388 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 12 Nov 2021 13:27:29 +0100 Subject: [PATCH 13/32] Skip existing repos in vcs (#419) (#423) (cherry picked from commit ecdd1abc10ce6a6059db190c49240746b0e2a161) Co-authored-by: Pablo Garrido --- scripts/create_ws.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/create_ws.sh b/scripts/create_ws.sh index 520e8f7f..2d90cb5f 100755 --- a/scripts/create_ws.sh +++ b/scripts/create_ws.sh @@ -42,8 +42,8 @@ fi # ROS_DISTRO SPECIFIC curl -s https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos |\ ros2 run micro_ros_setup yaml_filter.py ${PACKAGES} > ros2.repos -vcs import --input ros2.repos -vcs import --input $REPOS +vcs import --input ros2.repos --skip-existing +vcs import --input $REPOS --skip-existing popd >/dev/null From e920c891bbb87e384c08964f33c22f8b0144eee9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 15 Nov 2021 13:57:34 +0100 Subject: [PATCH 14/32] Fix host src folder (#417) (#425) (cherry picked from commit fc7faa385fefd9bf8b7ede1150327a42a8373057) Co-authored-by: Pablo Garrido --- config/host/generic/create.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/host/generic/create.sh b/config/host/generic/create.sh index 427cd222..ab52b547 100755 --- a/config/host/generic/create.sh +++ b/config/host/generic/create.sh @@ -1,4 +1,6 @@ # populate the workspace +mkdir -p src + ros2 run micro_ros_setup create_ws.sh src $PREFIX/config/$RTOS/client_ros2_packages.txt $PREFIX/config/$RTOS/$PLATFORM/client_host_packages.repos # add appropriate colcon.meta From 3636e9606a2e64058433aaac013397696237b07a Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 15 Mar 2022 08:39:29 +0100 Subject: [PATCH 15/32] Build dynamic lib of rosidl_typesupport _microxrcedds (backport #473) (#475) * build dynamic lib of rosidl_typesupport of (#473) microxrcedds_c (cherry picked from commit 3136ad07d98cc4b50badfc57620325b5dc2b55eb) # Conflicts: # config/host/generic/build.sh # config/host/generic/client_host_packages.repos * Conflicts Signed-off-by: Pablo Garrido Co-authored-by: VictorLee Co-authored-by: Pablo Garrido --- config/host/generic/build.sh | 6 +++--- config/host/generic/client_host_packages.repos | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/host/generic/build.sh b/config/host/generic/build.sh index 1751e391..c0d305fd 100755 --- a/config/host/generic/build.sh +++ b/config/host/generic/build.sh @@ -1,9 +1,9 @@ #!/bin/bash -colcon build --packages-up-to rosidl_typesupport_microxrcedds_c --metas src $@ -colcon build --packages-up-to rosidl_typesupport_microxrcedds_cpp --metas src $@ +colcon build --packages-up-to rosidl_typesupport_microxrcedds_c --metas src $@ --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON +colcon build --packages-up-to rosidl_typesupport_microxrcedds_cpp --metas src $@ --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON set +o nounset . install/local_setup.bash set -o nounset -colcon build --metas src $@ +colcon build --metas src $@ --cmake-args -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON diff --git a/config/host/generic/client_host_packages.repos b/config/host/generic/client_host_packages.repos index 0226b572..e31ef489 100644 --- a/config/host/generic/client_host_packages.repos +++ b/config/host/generic/client_host_packages.repos @@ -9,7 +9,7 @@ repositories: version: foxy # MicroROS - + uros/rclc: type: git url: https://github.com/ros2/rclc.git From 0182d8f585732e360bef386c53ac978db68dbe05 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 28 Mar 2022 10:05:23 +0200 Subject: [PATCH 16/32] Fix Zephyr CI (backport #480) (#482) * Fix Zephyr CI (#480) Signed-off-by: Pablo Garrido (cherry picked from commit 0942f7412de47e8a590d486e4a408cdf4c3b3cb1) # Conflicts: # config/zephyr/generic/create.sh * Update Signed-off-by: Pablo Garrido Co-authored-by: Pablo Garrido --- config/zephyr/generic/create.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index 3dcc201b..eb298da1 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -57,4 +57,8 @@ pushd $FW_TARGETDIR >/dev/null touch mcu_ws/uros/rclc/rclc_examples/COLCON_IGNORE rosdep install -y --from-paths mcu_ws -i mcu_ws --rosdistro $ROS_DISTRO --skip-keys="$SKIP" + + # Workaround. Remove when https://github.com/sphinx-doc/sphinx/issues/10291 and https://github.com/micro-ROS/micro_ros_zephyr_module/runs/5714546662?check_suite_focus=true + pip3 install --upgrade Sphinx + popd >/dev/null From 54922dae8378e990a186fed923d1494319788b80 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 28 Mar 2022 15:14:11 +0200 Subject: [PATCH 17/32] Update changelog Signed-off-by: Pablo Garrido --- CHANGELOG.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 CHANGELOG.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 00000000..3f5c051c --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,7 @@ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Changelog for package micro_ros_setup +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Forthcoming +----------- +* Initial release \ No newline at end of file From ade32718ab34e37aaf45d4ba7c3e08a09888e076 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Mon, 28 Mar 2022 15:14:34 +0200 Subject: [PATCH 18/32] 1.0.0 --- CHANGELOG.rst | 4 ++-- package.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3f5c051c..91740739 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,6 @@ Changelog for package micro_ros_setup ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +1.0.0 (2022-03-28) +------------------ * Initial release \ No newline at end of file diff --git a/package.xml b/package.xml index 170778e1..0bd9e693 100644 --- a/package.xml +++ b/package.xml @@ -2,7 +2,7 @@ micro_ros_setup - 0.0.0 + 1.0.0 Tools for setting up micro-ROS workspaces Ingo Lütkebohle Apache-2.0 From 9cfcb3ad1e1e6f9b003c47775085f0519c345f1f Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 30 Mar 2022 08:54:04 +0200 Subject: [PATCH 19/32] Enable rolling agent (backport #479) (#484) * Enable rolling agent (#479) * Enable rolling agent Signed-off-by: Pablo Garrido * Install python3.9-dev Signed-off-by: Pablo Garrido * Fix Signed-off-by: Pablo Garrido (cherry picked from commit 91ed37171369e495fcfd2e686b11781d301bd6fc) # Conflicts: # .github/workflows/ci.yml # .github/workflows/nightly.yml * update Signed-off-by: Pablo Garrido Co-authored-by: Pablo Garrido --- .github/workflows/ci.yml | 15 ++++++++++++--- .github/workflows/nightly.yml | 6 ++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a99b6c14..1b832ce1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,6 +50,8 @@ jobs: - name: dependencies run: | apt update + # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved + apt install -y python3.9-dev apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y @@ -192,9 +194,16 @@ jobs: - name: Dependencies run: | apt update - apt install -y python3-colcon-metadata python3-pip - rosdep update --rosdistro $ROS_DISTRO - rosdep install -y --from-paths src --ignore-src -y + # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved + apt install -y python3.9-dev + # Install last version of CMake + apt install -y apt-transport-https ca-certificates gnupg software-properties-common wget + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' + apt-get update + apt install -y python3-colcon-metadata python3-pip cmake + rosdep update --os=ubuntu:jammy --rosdistro $ROS_DISTRO + rosdep install --os=ubuntu:jammy -y --from-paths src --ignore-src -y - uses: actions/download-artifact@v1 with: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index a9b1dda2..620e9680 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -362,8 +362,10 @@ jobs: include: - distro: foxy branch: foxy - # - distro: rolling - # branch: main + - distro: rolling + branch: main + - distro: galactic + branch: galactic needs: micro_ros_build container: ros:${{ matrix.distro }} From 4dd7c4935fbd623f04952f74e6373ccc37905310 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Wed, 30 Mar 2022 08:56:57 +0200 Subject: [PATCH 20/32] Fix CI Signed-off-by: Pablo Garrido --- .github/workflows/ci.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b832ce1..289a9e56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -194,16 +194,9 @@ jobs: - name: Dependencies run: | apt update - # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved - apt install -y python3.9-dev - # Install last version of CMake - apt install -y apt-transport-https ca-certificates gnupg software-properties-common wget - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' - apt-get update - apt install -y python3-colcon-metadata python3-pip cmake - rosdep update --os=ubuntu:jammy --rosdistro $ROS_DISTRO - rosdep install --os=ubuntu:jammy -y --from-paths src --ignore-src -y + apt install -y python3-colcon-metadata python3-pip + rosdep update --rosdistro $ROS_DISTRO + rosdep install -y --from-paths src --ignore-src -y - uses: actions/download-artifact@v1 with: From da5ac8bbe965f9ec209984ea0390de71692e6fb4 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Wed, 30 Mar 2022 08:57:51 +0200 Subject: [PATCH 21/32] Fix CI Signed-off-by: Pablo Garrido --- .github/workflows/nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 620e9680..ffde638f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -363,7 +363,7 @@ jobs: - distro: foxy branch: foxy - distro: rolling - branch: main + branch: main - distro: galactic branch: galactic From fdeff438f04d2a20c86559b5b78ffaf5945d1bd1 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 30 Mar 2022 10:25:19 +0200 Subject: [PATCH 22/32] Fix Agent and host Rolling CI (backport #486) (#487) * Fix Agent and host Rolling CI (#486) Signed-off-by: Pablo Garrido (cherry picked from commit d71ce51e458f922437b6e5449015b5d1f59da5d5) # Conflicts: # .github/workflows/ci.yml # .github/workflows/nightly.yml * Fix Signed-off-by: Pablo Garrido Co-authored-by: Pablo Garrido --- .github/workflows/ci.yml | 2 ++ .github/workflows/nightly.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 289a9e56..c64901f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,7 @@ jobs: apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y + apt install -y ros-${ROS_DISTRO}-rmw-fastrtps-cpp - uses: actions/download-artifact@v1 with: @@ -194,6 +195,7 @@ jobs: - name: Dependencies run: | apt update + apt upgrade -y apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index ffde638f..a7f94ab5 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -379,9 +379,12 @@ jobs: - name: dependencies run: | apt update + # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved + apt install -y python3.9-dev apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y + apt install -y ros-${ROS_DISTRO}-rmw-fastrtps-cpp - uses: actions/download-artifact@v1 with: From 4a2e82c7567b6e0f107cb1e99b8b40eb61d86893 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Thu, 31 Mar 2022 09:43:55 +0200 Subject: [PATCH 23/32] Fix CI upgrade ROS docker (#489) Signed-off-by: Pablo Garrido --- .github/workflows/nightly.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index a7f94ab5..d0b7ae97 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -329,6 +329,7 @@ jobs: - name: Dependencies run: | apt update + apt upgrade -y apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y From 6e9402a8d1cff4538449153cf5ae0017aab7a3a9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 12 Apr 2022 07:37:16 +0200 Subject: [PATCH 24/32] Remove Python 3.9 (backport #496) (#497) * Remove Python 3.9 (#496) Signed-off-by: Pablo Garrido (cherry picked from commit d327cba7142a993020819bb2d86ff684395a470a) # Conflicts: # .github/workflows/ci.yml * Update Signed-off-by: Pablo Garrido Co-authored-by: Pablo Garrido --- .github/workflows/ci.yml | 2 -- .github/workflows/nightly.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c64901f6..9922ef05 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,8 +50,6 @@ jobs: - name: dependencies run: | apt update - # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved - apt install -y python3.9-dev apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d0b7ae97..d7a59f59 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -380,8 +380,6 @@ jobs: - name: dependencies run: | apt update - # Workaround. Remove when https://discourse.ros.org/t/preparing-for-rolling-sync-delayed-by-python-3-10-transition/24521 solved - apt install -y python3.9-dev apt install -y python3-colcon-metadata python3-pip rosdep update --rosdistro $ROS_DISTRO rosdep install -y --from-paths src --ignore-src -y From e3842c3acd04e6d6558fa6847f6127500f79f18d Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 18 Apr 2022 08:48:24 +0200 Subject: [PATCH 25/32] Modified zephyr create.sh to pull correct toolchain based on arch (#499) (#501) (cherry picked from commit 8793b5a7a2a606cd5d2abaeb154bf8fd453d3f88) Co-authored-by: Drew Hoener <84148896+ahoenerBE@users.noreply.github.com> --- config/zephyr/generic/create.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index eb298da1..7a02d178 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -15,6 +15,8 @@ if ! (( $CMAKE_VERSION_MAJOR_NUMBER > 3 || \ fi export PATH=~/.local/bin:"$PATH" +export ZEPHYR_VERSION="v0.12.4" +export ARCH=$(uname -m) pushd $FW_TARGETDIR >/dev/null @@ -29,12 +31,22 @@ pushd $FW_TARGETDIR >/dev/null pip3 install -r zephyrproject/zephyr/scripts/requirements.txt if [ "$PLATFORM" = "host" ]; then - export TOOLCHAIN_VERSION=zephyr-sdk-0.12.4-x86_64-linux-setup.run + if [ "$ARCH" = "aarch64" ]; then + export TOOLCHAIN_VERSION=zephyr-sdk-0.13.1-linux-aarch64-setup.run + export ZEPHYR_VERSION="v0.13.1" + else + export TOOLCHAIN_VERSION=zephyr-sdk-0.12.4-x86_64-linux-setup.run + fi else - export TOOLCHAIN_VERSION=zephyr-toolchain-arm-0.12.4-x86_64-linux-setup.run + if [ "$ARCH" = "aarch64" ]; then + export TOOLCHAIN_VERSION=zephyr-toolchain-arm-0.13.1-linux-aarch64-setup.run + export ZEPHYR_VERSION="v0.13.1" + else + export TOOLCHAIN_VERSION=zephyr-toolchain-arm-0.12.4-x86_64-linux-setup.run + fi fi - wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.12.4/$TOOLCHAIN_VERSION + wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/$ZEPHYR_VERSION/$TOOLCHAIN_VERSION chmod +x $TOOLCHAIN_VERSION ./$TOOLCHAIN_VERSION -- -d $(pwd)/zephyr-sdk -y From 9d0c433d9c728110c8124408c1e6eeb5009d672b Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 26 Apr 2022 14:19:42 +0200 Subject: [PATCH 26/32] Fix readme rosdep (#506) (#507) Signed-off-by: Pablo Garrido (cherry picked from commit c546b01060dbb86de2731ba90cfe4a982aeb0d4c) Co-authored-by: Pablo Garrido --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e25b9653..15b69501 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ mkdir uros_ws && cd uros_ws git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup -rosdep update && rosdep install --from-path src --ignore-src -y +rosdep update && rosdep install --from-paths src --ignore-src -y colcon build From b7e2adaf7655642e3a3a96897632caef507f20da Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 10:29:33 +0200 Subject: [PATCH 27/32] Add platformIO to Readme (#510) (#511) (cherry picked from commit f0e7398eaeba5b11c16cc9b1ac45f44c10c31bbb) Co-authored-by: Antonio Cuadros <49162117+Acuadros95@users.noreply.github.com> --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15b69501..13b71576 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ micro-ROS also offers some other ways to crosscompile it for different platforms - a standalone **[micro-ROS module for NuttX RTOS](https://github.com/micro-ROS/micro_ros_nuttx_app)**: this package enables the integration of micro-ROS in any NuttX RTOS workspace. - a standalone **[micro-ROS module for Microsoft Azure RTOS](https://github.com/micro-ROS/micro_ros_azure_rtos_app)**: this package enables the integration of micro-ROS in a Microsoft Azure RTOS workspace. - a set of **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)**: this package enables the integration of micro-ROS in STM32CubeMX and STM32CubeIDE. +- a library builder for **[PlatformIO](https://github.com/micro-ROS/micro_ros_platformio)**: this package enables the integration of micro-ROS in PlatformIO. - a precompiled set of **[Arduino IDE libraries](https://github.com/micro-ROS/micro_ros_arduino)**: this package enables the integration of micro-ROS in the Arduino IDE for some hardware platforms. - a precompiled set of **[Raspberry Pi Pico SDK libraries](https://github.com/micro-ROS/micro_ros_raspberrypi_pico_sdk)**: this package enables the integration of micro-ROS in the Raspberry Pi Pico SDK. From 74480f2ef7ca74fd793020fffd2938fa9c9bfe64 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 13 May 2022 08:08:34 +0200 Subject: [PATCH 28/32] Add renesas dummy meta (#516) (#517) Signed-off-by: Pablo Garrido (cherry picked from commit c1ee1539c3965c0f4a10a12478e4762f82c428b9) Co-authored-by: Pablo Garrido --- config/renesas_ra/ra6m5/client-colcon.meta | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 config/renesas_ra/ra6m5/client-colcon.meta diff --git a/config/renesas_ra/ra6m5/client-colcon.meta b/config/renesas_ra/ra6m5/client-colcon.meta new file mode 100644 index 00000000..e69de29b From 97d9e040bf12aea4f4e8d7b1bfc7f48570d11706 Mon Sep 17 00:00:00 2001 From: Antonio Cuadros <49162117+Acuadros95@users.noreply.github.com> Date: Mon, 23 May 2022 17:00:07 +0200 Subject: [PATCH 29/32] Fix PyYaml unistall error (#521) --- config/zephyr/generic/create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/zephyr/generic/create.sh b/config/zephyr/generic/create.sh index 7a02d178..c4f480ae 100755 --- a/config/zephyr/generic/create.sh +++ b/config/zephyr/generic/create.sh @@ -28,7 +28,7 @@ pushd $FW_TARGETDIR >/dev/null west update popd >/dev/null - pip3 install -r zephyrproject/zephyr/scripts/requirements.txt + pip3 install -r zephyrproject/zephyr/scripts/requirements.txt --ignore-installed if [ "$PLATFORM" = "host" ]; then if [ "$ARCH" = "aarch64" ]; then From 0c9b6202e340ef2d2f8d37108865f626fef0f98e Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Wed, 25 May 2022 08:44:02 +0200 Subject: [PATCH 30/32] Update changelog Signed-off-by: Pablo Garrido --- CHANGELOG.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 91740739..9ef5f21f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,18 @@ Changelog for package micro_ros_setup ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Fix PyYaml unistall error (`#521 `_) +* Add renesas dummy meta (`#516 `_) (`#517 `_) +* Add platformIO to Readme (`#510 `_) (`#511 `_) +* Fix readme rosdep (`#506 `_) (`#507 `_) +* Modified zephyr create.sh to pull correct toolchain based on arch (`#499 `_) (`#501 `_) +* Remove Python 3.9 (backport `#496 `_) (`#497 `_) +* Fix CI upgrade ROS docker (`#489 `_) +* Fix Agent and host Rolling CI (backport `#486 `_) (`#487 `_) +* Fix CI + 1.0.0 (2022-03-28) ------------------ * Initial release \ No newline at end of file From a32ab5e501b4619191d4d2e55a88b1b07f309474 Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Wed, 25 May 2022 08:55:41 +0200 Subject: [PATCH 31/32] 1.1.0 --- CHANGELOG.rst | 4 ++-- package.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9ef5f21f..9e613bd8 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package micro_ros_setup ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +1.1.0 (2022-05-25) +------------------ * Fix PyYaml unistall error (`#521 `_) * Add renesas dummy meta (`#516 `_) (`#517 `_) * Add platformIO to Readme (`#510 `_) (`#511 `_) diff --git a/package.xml b/package.xml index 0bd9e693..3de75856 100644 --- a/package.xml +++ b/package.xml @@ -2,7 +2,7 @@ micro_ros_setup - 1.0.0 + 1.1.0 Tools for setting up micro-ROS workspaces Ingo Lütkebohle Apache-2.0 From ca776e038eff3e3be25fc0a812a224cd468b82e3 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:15:59 +0200 Subject: [PATCH 32/32] Remove unnessary check (#553) (#567) Signed-off-by: Kevin Goez Signed-off-by: Kevin Goez (cherry picked from commit b81290a6d7936e23ea4b5ac89aa7b3427ae848ed) Co-authored-by: k7g03z <88199521+k7g03z@users.noreply.github.com> --- scripts/build_firmware.sh | 3 ++- scripts/configure_firmware.sh | 8 ++++---- scripts/create_firmware_ws.sh | 2 +- scripts/flash_firmware.sh | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh index a570b232..96a2c865 100755 --- a/scripts/build_firmware.sh +++ b/scripts/build_firmware.sh @@ -69,7 +69,8 @@ fi # Building specific firmware folder echo "Building firmware for $RTOS platform $PLATFORM" -if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then +# Use the generic platform if directory found +if [ -d "$PREFIX/config/$RTOS/generic" ]; then . $PREFIX/config/$RTOS/generic/build.sh else . $PREFIX/config/$RTOS/$PLATFORM/build.sh diff --git a/scripts/configure_firmware.sh b/scripts/configure_firmware.sh index dca58e16..467710ea 100755 --- a/scripts/configure_firmware.sh +++ b/scripts/configure_firmware.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /bin/bash set -e set -o nounset @@ -17,7 +17,7 @@ else fi # Check if configure script exists -if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then +if [ -d "$PREFIX/config/$RTOS/generic" ]; then if [ ! -f $PREFIX/config/$RTOS/generic/configure.sh ]; then echo "No configuration step needed for generic platform $PLATFORM" exit 0 @@ -32,7 +32,7 @@ fi # Parsing micro-ROS arguments if [ $# -lt 1 ]; then echo "micro-ROS application name must be provided: ros2 run micro_ros_setup configure_firmware.sh [app name] [options]" - # Check if RTOS has app listing funcions and source in case + # Check if RTOS has app listing funcions and source in case if [ -f $PREFIX/config/$RTOS/list_apps.sh ]; then . $PREFIX/config/$RTOS/list_apps.sh print_available_apps @@ -80,7 +80,7 @@ while [[ $# -gt 0 ]]; do done # Configure specific firmware folder if needed -if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then +if [ -d "$PREFIX/config/$RTOS/generic" ]; then echo "Configuring firmware for $RTOS platform $PLATFORM" exec $PREFIX/config/$RTOS/generic/configure.sh $@ else diff --git a/scripts/create_firmware_ws.sh b/scripts/create_firmware_ws.sh index 8c376952..0bd3e89f 100755 --- a/scripts/create_firmware_ws.sh +++ b/scripts/create_firmware_ws.sh @@ -76,7 +76,7 @@ fi SKIP="microxrcedds_agent microxrcedds_client microcdr rosidl_typesupport_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_opensplice_cpp rosidl_typesupport_opensplice_c rmw_opensplice_cpp ros-${ROS_DISTRO}-cyclonedds ros-${ROS_DISTRO}-rti-connext-dds-cmake-module ros-${ROS_DISTRO}-rmw-connextdds-common ros-${ROS_DISTRO}-rmw-connextdds ros-${ROS_DISTRO}-rmw-cyclonedds-cpp google_benchmark_vendor performance_test_fixture ros-${ROS_DISTRO}-mimick-vendor rmw_cyclonedds_cpp rmw_connext_cpp rti-connext-dds-5.3.1 rmw_connextdds $EXTERNAL_SKIP" # Check generic build -if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then +if [ -d "$PREFIX/config/$RTOS/generic" ]; then TARGET_FOLDER=generic else TARGET_FOLDER=$PLATFORM diff --git a/scripts/flash_firmware.sh b/scripts/flash_firmware.sh index 23b080f2..15192dbd 100755 --- a/scripts/flash_firmware.sh +++ b/scripts/flash_firmware.sh @@ -17,7 +17,7 @@ else fi # Flash specific firmware folder if needed -if [ $PLATFORM != "generic" ] && [ -d "$PREFIX/config/$RTOS/generic" ]; then +if [ -d "$PREFIX/config/$RTOS/generic" ]; then if [ -f $PREFIX/config/$RTOS/generic/flash.sh ]; then echo "Flashing firmware for $RTOS platform $PLATFORM" . $PREFIX/config/$RTOS/generic/flash.sh