From 0105a76f533ba655db46893784cc8bff69286696 Mon Sep 17 00:00:00 2001 From: stelzo Date: Mon, 25 Mar 2024 15:13:48 +0100 Subject: [PATCH] bump version --- Cargo.toml | 2 +- README.md | 53 ++++++++++++++++++++++++++++++++++++----------------- 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a97e861..f5de2b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ros_pointcloud2" -version = "0.3.2" +version = "0.4.0" edition = "2021" authors = ["Christopher Sieh "] description = "Customizable conversions for working with sensor_msgs/PointCloud2." diff --git a/README.md b/README.md index aba9a92..01d5766 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,42 @@ let new_cloud_points = convert assert_eq!(new_cloud_points, cloud_copy); ``` -To use `ros_pointcloud2` in your favorite ROS crate, you can either use this crate's features (see Integration section below) or implement the `Into` and `From` traits for `PointCloud2Msg`. +## Integrations + +There are currently 3 integrations for common ROS crates. +- [rosrust_msg](https://github.com/adnanademovic/rosrust) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rosrust_noetic.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rosrust_noetic.yml) +- [r2r_msg](https://github.com/sequenceplanner/r2r) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_galactic.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_galactic.yml) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_humble.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_humble.yml) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_iron.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_iron.yml) +- [rclrs_msg](https://github.com/ros2-rust/ros2_rust) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rclrs_humble.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rclrs_humble.yml) + - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rclrs_iron.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rclrs_iron.yml) + +You can use `rosrust` and `r2r` by enabling the respective feature: +```toml +[dependencies] +ros_pointcloud2 = { version = "*", features = ["r2r_msg"]} +# or +ros_pointcloud2 = { version = "*", features = ["rosrust_msg"]} +``` + +### rclrs (ros2_rust) +Features do not work properly with `rcrls` because the messages are linked externally. You need to use tags instead: +```toml +[dependencies] +ros_pointcloud2 = { git = "https://github.com/stelzo/ros_pointcloud2", tag = "v0.4.0_rclrs" } +``` +Also, indicate the following dependencies to your linker inside the `package.xml` of your package. +```xml +std_msgs +sensor_msgs +builtin_interfaces +``` + +### Others +To use `ros_pointcloud2` somewhere else, you can also implement the `Into` and `From` traits for `PointCloud2Msg`. Try to avoid cloning the `data: Vec` field. ```rust @@ -82,22 +117,6 @@ impl From for PointCloud2Msg { } ``` -## Integrations - -There are currently 2 integrations for common ROS crates such as rosrust for ROS1 and R2R for ROS2. -- [rosrust_msg](https://github.com/adnanademovic/rosrust) - - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rosrust_noetic.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/rosrust_noetic.yml) -- [r2r_msg](https://github.com/sequenceplanner/r2r) - - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_galactic.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_galactic.yml) - - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_humble.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_humble.yml) - - [![Tests](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_iron.yml/badge.svg)](https://github.com/stelzo/ros_pointcloud2/actions/workflows/r2r_iron.yml) - -You can use them by enabling the corresponding feature. Example: -```toml -[dependencies] -ros_pointcloud2 = { version = "*", features = ["r2r_msg"]} -``` - Please open an issue or PR if you want to see support for other crates. ## Features