mod msg {
rosrust::rosmsg_include!(std_msgs / String);
}
fn main() {
env_logger::init();
rosrust::init("listener");
let subscriber_info = rosrust::subscribe("chatter", 2, |v: msg::std_msgs::String| {
rosrust::ros_info!("Received: {}", v.data);
})
.unwrap();
let log_names = rosrust::param("~log_names").unwrap().get().unwrap_or(false);
if log_names {
let rate = rosrust::rate(1.0);
while rosrust::is_ok() {
rosrust::ros_info!("Publisher uris: {:?}", subscriber_info.publisher_uris());
rate.sleep();
}
} else {
rosrust::spin();
}
}