Updated readme

This commit is contained in:
Martin Dahl 2019-10-08 19:49:42 +02:00
parent 15c9bb3674
commit 201af1edd0
1 changed files with 9 additions and 10 deletions

View File

@ -1,13 +1,14 @@
R2R - Minimal ROS2 Rust bindings 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 <https://github.com/ros2-rust/ros2_rust>. 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 <https://github.com/ros2-rust/ros2_rust>. 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 How to use
------------ --------------------
1. Depend on this package: r2r = { git = "https://github.com/sequenceplanner/r2r" }. 1. Depend on this package: r2r = { git = "https://github.com/sequenceplanner/r2r" }.
2. You need to source your ROS2 installation before building/running. 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/ A couple of examples are included in examples/
``` ```
@ -18,15 +19,13 @@ cargo run --example subscriber_with_thread
What works? What works?
-------- --------------------
- Up to date with ROS2 Dashing - Up to date with ROS2 Dashing
- Building Rust types - Building Rust types
- Publish/subscribe - Publish/subscribe
TODO TODO
------------ --------------------
- The code generation is currently just a big hack. Needs cleanup and refactoring. - 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 like QoS settings.
- Expose more of the RCL. - Services and action types...
- Services and action types are currently ignored.
- QoS settings etc.