mod msg {
rosrust::rosmsg_include!(std_msgs / String);
}
fn main() {
env_logger::init();
rosrust::init("talker");
let chatter_pub = rosrust::publish("chatter", 2).unwrap();
chatter_pub.wait_for_subscribers(None).unwrap();
let log_names = rosrust::param("~log_names").unwrap().get().unwrap_or(false);
let mut count = 0;
let rate = rosrust::rate(10.0);
while rosrust::is_ok() {
let msg = msg::std_msgs::String {
data: format!("hello world from rosrust {}", count),
};
rosrust::ros_info!("Publishing: {}", msg.data);
chatter_pub.send(msg).unwrap();
if log_names {
rosrust::ros_info!("Subscriber names: {:?}", chatter_pub.subscriber_names());
}
rate.sleep();
count += 1;
}
}