Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 package com.github.rosjava.rosjava_extras.hokuyo;
00018
00019 import static org.junit.Assert.assertEquals;
00020
00021 import org.ros.message.MessageListener;
00022 import org.ros.namespace.GraphName;
00023 import org.ros.node.AbstractNodeMain;
00024 import org.ros.node.ConnectedNode;
00025 import org.ros.node.topic.Subscriber;
00026
00027 import java.util.concurrent.CountDownLatch;
00028
00032 public class LaserScanSubscriber extends AbstractNodeMain {
00033
00034 private final CountDownLatch latch;
00035
00036 LaserScanSubscriber(CountDownLatch latch) {
00037 this.latch = latch;
00038 }
00039
00040 @Override
00041 public GraphName getDefaultNodeName() {
00042 return GraphName.of("laser_scan_subscriber");
00043 }
00044
00045 @Override
00046 public void onStart(ConnectedNode connectedNode) {
00047 Subscriber<sensor_msgs.LaserScan> subscriber =
00048 connectedNode.newSubscriber("laser", sensor_msgs.LaserScan._TYPE);
00049 subscriber.addMessageListener(new MessageListener<sensor_msgs.LaserScan>() {
00050 @Override
00051 public void onNewMessage(sensor_msgs.LaserScan message) {
00052 assertEquals(3, message.getRanges().length);
00053 latch.countDown();
00054
00055
00056 }
00057 });
00058 }
00059 }