From 201af1edd0da028751bb2db39c1f20820fd6cd59 Mon Sep 17 00:00:00 2001 From: Martin Dahl Date: Tue, 8 Oct 2019 19:49:42 +0200 Subject: [PATCH] Updated readme --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6661e54..a57468b 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ R2R - Minimal ROS2 Rust bindings -============= +==================== -Minimal bindings for ROS2 that does *not* require hooking in to the ROS2 build infrastructure. If you want a more ROS-oriented approach, see . In these bindings, convenience Rust types are created by calling into the c introspection libraries to circumvent the .msg/.idl pipeline. The convenience types can be ignored when you need to trade convenience for performance, e.g. treating large chunks of data manually. +Minimal bindings for ROS2 that do *not* require hooking in to the ROS2 build infrastructure. If you want a more ROS-oriented approach, see . In these bindings, convenience Rust types are created by calling into the c introspection libraries to circumvent the .msg/.idl pipeline. The convenience types can be ignored when you need to trade convenience for performance, e.g. treating large chunks of data manually. How to use ------------- +-------------------- 1. Depend on this package: r2r = { git = "https://github.com/sequenceplanner/r2r" }. 2. You need to source your ROS2 installation before building/running. -3. The bindings will rebuild automatically if/when you source your workspaces. +3. The bindings will rebuild automatically if/when you source your workspace(s). +4. If you make changes to existing message types, run cargo clean -p msg_gen to force recompilation of the rust message types on the next build. A couple of examples are included in examples/ ``` @@ -18,15 +19,13 @@ cargo run --example subscriber_with_thread What works? --------- +-------------------- - Up to date with ROS2 Dashing - Building Rust types - Publish/subscribe TODO ------------- +-------------------- - The code generation is currently just a big hack. Needs cleanup and refactoring. -- Implement error handling. Now all methods just return Err(()). -- Expose more of the RCL. -- Services and action types are currently ignored. -- QoS settings etc. +- Expose more of the RCL like QoS settings. +- Services and action types...