Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ on:
jobs:

micro_ros_platformio:
runs-on: ubuntu-22.04
container: ubuntu:22.04
runs-on: ubuntu-24.04
container: ubuntu:24.04

strategy:
fail-fast: false
matrix:
platform: [teensy41, teensy40, teensy36, teensy35, teensy31, due, zero, olimex_e407, esp32dev, nanorp2040connect, portenta_h7_m7, teensy41_eth, nanorp2040connect_wifi, portenta_h7_m7_wifi, esp32dev_wifi, esp32dev_ethernet, portenta_h7_m7_humble, portenta_h7_m7_jazzy, portenta_h7_m7_kilted, portenta_h7_m7_rolling, teensy41_custom, pico]
platform: [teensy41, teensy40, teensy36, teensy35, teensy31, due, zero, olimex_e407, esp32dev, nanorp2040connect, portenta_h7_m7, teensy41_eth, nanorp2040connect_wifi, portenta_h7_m7_wifi, esp32dev_wifi, esp32dev_ethernet, portenta_h7_m7_humble, portenta_h7_m7_jazzy, portenta_h7_m7_kilted, portenta_h7_m7_rolling, teensy41_custom, pico, pico2]

steps:
- uses: actions/checkout@v3
Expand Down
30 changes: 6 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Supported boards are:
| `olimex_e407` | `ststm32` | `arduino` | `serial` | `colcon.meta` |
| `esp32dev` | `espressif32` | `arduino` | `serial` <br/> `wifi` <br/> `ethernet`* | `colcon.meta` |
| `nanorp2040connect` | `raspberrypi` | `arduino` | `serial` <br/> `wifi_nina` | `colcon_verylowmem.meta` |
| `pico` | `raspberrypi` | `arduino` | `serial` | `colcon.meta` |
| `pico` <br/> `pico2` | `raspberrypi` | `arduino` | `serial` | `colcon.meta` |

\* Community contributed

Expand Down Expand Up @@ -70,6 +70,8 @@ brew install binutils

The library can be included as a regular git library dependence on your `platform.ini` file:

You may find a sample ini file at `ci/platformio.ini`.

```ini
...
lib_deps =
Expand Down Expand Up @@ -98,9 +100,8 @@ A explanation for adding custom targets is also present
### ROS 2 distribution
The target ROS 2 distribution can be configured with the `board_microros_distro = <distribution>`, supported values are:
- `humble`
- `iron`
- `jazzy` *(default value)*
- `kilted`
- `jazzy`
- `kilted` *(default value)*
- `rolling`

### Transport configuration
Expand Down Expand Up @@ -236,6 +237,7 @@ A simple publisher project using serial transport is available on the [examples]

- More micro-ROS usage examples are available on [micro-ROS-demos/rclc](https://github.com/micro-ROS/micro-ROS-demos/tree/jazzy/rclc).
- For a complete micro-ROS tutorial, check [Programming with rcl and rclc](https://micro.ros.org/docs/tutorials/programming_rcl_rclc/overview/) documentation.
- Community contributed tutorials for beginners with [examples ported from micro_ros_arduino](https://github.com/hippo5329/micro_ros_arduino_examples_platformio/wiki) and [examples ported from micro-ROS-demos](https://github.com/hippo5329/micro-ROS-demos-platformio/wiki).

## Purpose of the Project

Expand All @@ -252,23 +254,3 @@ This repository is open-sourced under the Apache-2.0 license. See the [LICENSE](

For a list of other open-source components included in this repository,
see the file [3rd-party-licenses.txt](3rd-party-licenses.txt).

## Known Issues/Limitations

- For `wifi_nina` transport, the following versioning shall be used:

```ini
lib_deps =
arduino-libraries/WiFiNINA@^1.8.13
```

- For `nanorp2040connect` board with `serial` transport, the library dependency finder shall be set to `chain+`:

```ini
lib_ldf_mode = chain+
```
- For `pico` board with `serial` transport, the library dependency finder shall be set to `chain+`:

```ini
lib_ldf_mode = chain+
```
9 changes: 9 additions & 0 deletions ci/atomic.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"names": {
"rcutils": {
"cmake-args": [
"-DRCUTILS_NO_64_ATOMIC=OFF"
]
}
}
}
30 changes: 22 additions & 8 deletions ci/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -121,20 +121,32 @@ lib_deps =
../

[env:nanorp2040connect]
platform = raspberrypi
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = nanorp2040connect
board_build.core = earlephilhower
framework = arduino
lib_ldf_mode = chain+
board_microros_transport = serial
board_microros_user_meta = atomic.meta
lib_deps =
../

[env:pico]
platform = raspberrypi
board = pico
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = rpipico
board_build.core = earlephilhower
framework = arduino
board_microros_transport = serial
board_microros_user_meta = atomic.meta
lib_deps =
../

[env:pico2]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = rpipico2
board_build.core = earlephilhower
framework = arduino
lib_ldf_mode = chain+
board_microros_transport = serial
board_microros_user_meta = atomic.meta
lib_deps =
../

Expand Down Expand Up @@ -175,12 +187,14 @@ lib_deps =
../

[env:nanorp2040connect_wifi]
platform = raspberrypi
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = nanorp2040connect
board_build.core = earlephilhower
framework = arduino
board_microros_transport = wifi_nina
board_microros_user_meta = atomic.meta
lib_deps =
arduino-libraries/WiFiNINA@^1.8.13
arduino-libraries/WiFiNINA
../

; Custom transports
Expand Down
4 changes: 2 additions & 2 deletions extra_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@

selected_board_meta = boards_metas[board] if board in boards_metas else "colcon.meta"

# Retrieve the required transport. Default iron
microros_distro = global_env.BoardConfig().get("microros_distro", "iron")
# Retrieve the required transport. Default kilted
microros_distro = global_env.BoardConfig().get("microros_distro", "kilted")

# Retrieve the required transport. Default serial
microros_transport = global_env.BoardConfig().get("microros_transport", "serial")
Expand Down