micro-ROS / micro_ros_platformio

micro-ROS library for Platform.IO
Apache License 2.0
225 stars 82 forks source link

highlight differences to micro_ros_arduino #83

Closed patrickwasp closed 2 years ago

patrickwasp commented 2 years ago

It's not clear to me what the differences are between this project and micro_ros_arduino and when I would use one versus the other. I think adding a note highlighting the differences would help others looking at the two projects.

For example

[env:seeed_xiao]
platform = atmelsam
board = seeed_xiao
framework = arduino

lib_deps =
    https://github.com/micro-ROS/micro_ros_arduino#v2.0.5-humble

build_flags =
    -L ./.pio/libdeps/seeed_xiao/micro_ros_arduino/src/cortex-m0plus/
    -l microros
    -D micro_ros_xiao.json

works fine in platformIO. When and why would I use this project instead?

pablogs9 commented 2 years ago

image

As stated, the micro_ros_arduino is intended to be used with Arduino IDE or Arduino CLI.

micro_ros_platformio is intended to be used with Platform.IO, which can or cannot be related to Arduino.

patrickwasp commented 2 years ago

Okay so just to check if I understand correctly. The practical difference between the two projects as of right now It's only a matter of IDE preference. Originally the micro_ros_arduino project provided support for platform io, but now PIO support has moved to this project.

https://github.com/micro-ROS/micro_ros_arduino#platformio

PlatformIO PlatformIO support for this repository has been deprecated in favor of its own build system: micro_ros_platformio

And for now, micro_ros_platformio only supports the Arduino framework running on bare metal with no RTOS, but in the future, it could potentially support using an RTOS like NuttX, FreeRTOS, Mbed, ThreadX, and Zephyr, or other frameworks/SDK like ESP-IDF, TivaWare, and Pico SDK.