Skip to content

Commit

Permalink
Add raw publisher examples
Browse files Browse the repository at this point in the history
  • Loading branch information
mchhoy committed Dec 14, 2023
1 parent a825511 commit 4774d7f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
27 changes: 27 additions & 0 deletions r2r/examples/tokio_raw_publisher.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
use r2r::QosProfile;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let ctx = r2r::Context::create()?;
let mut node = r2r::Node::create(ctx, "testnode", "")?;
let duration = std::time::Duration::from_millis(2500);

let mut timer = node.create_wall_timer(duration)?;
let publisher =
node.create_publisher_raw("/topic", "std_msgs/msg/String", QosProfile::default())?;

let handle = tokio::task::spawn_blocking(move || loop {
node.spin_once(std::time::Duration::from_millis(100));
});

for _ in 1..10 {
timer.tick().await?;
let msg = r2r::std_msgs::msg::String {
data: "hello from r2r".to_string(),
};
publisher.publish(&msg.to_serialized_bytes()?)?;
}

handle.await?;
Ok(())
}
10 changes: 6 additions & 4 deletions r2r/tests/tokio_test_raw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,12 @@ async fn tokio_publish_raw_testing() -> Result<(), Box<dyn std::error::Error>> {
.unwrap();

pub_array
.publish(&r2r::std_msgs::msg::Int32MultiArray {
layout: r2r::std_msgs::msg::MultiArrayLayout::default(),
data: vec![i],
}.to_serialized_bytes().unwrap())
.publish(
&r2r::std_msgs::msg::Int32MultiArray {
layout: r2r::std_msgs::msg::MultiArrayLayout::default(),
data: vec![i],
}.to_serialized_bytes().unwrap()
)
.unwrap();
});
});
Expand Down

0 comments on commit 4774d7f

Please sign in to comment.