micro-ROS news - February 2021 ๐Ÿ“†

Check out micro-ROSโ€™ cool new features and a fresh new tutorial, all come out of our recent hard work:

  • Continuous fragment mode - With this feature micro-ROS exposes a brand new interface for sending heavy messages on the run, that is, without the need to store the whole information (often too big for the typical MCUs storage capacity) before publishing it.

  • Refactorization of external transports - This refactorization delivers a whole new approach to external transports, aimed at abstracting the library from the underlying OS as much as possible. It:

    • Isolates the XRCE framing code to be used in any transport
    • Renames the framing code from SerialIO to FramingIO
    • Adds a new profile for Custom transports where users can set open/close/read/write callbacks for transports at runtime, and which can be configured to use FramingIO.
  • Client-to-Agent ping mechanism - This mechanism enables the Clients to check on the availability of an up-and-running Agent (aka โ€œpingโ€ it) before even establishing a session.

  • We have been working on a brand new tutorial to guide users creating a custom static library to integrate micro-ROS in their own toolchains and development tools. Find it here!

The new features will be officially integrated into the stable micro-ROS Galactic release expected by May. Meanwhile, find them in the Rolling branch!

3 Likes

thanks for the updated tutorials.

I notice there is no mention of adding/updating custom transports on that page. Will that be added, or be part of a different tutorial?

<wish_list_mode> it would also be great if you could add some information on how to manually invoke the various scripts in the micro_ros_setup package, for those of us with toolchains which cannot be run under Linux or are otherwise unable to be driven by Colcon.</wish_list_mode>

Personally Iโ€™m trying to get things to work with a toolchain which only supports Windows and has some peculiarities which make it difficult to follow the normal steps.

@gavanderhoorn Yes, weโ€™re going to publish an independent tutorial on how to use the new API for custom transports soon!

Addressing your whish_list item by pvt communication.