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 org.ros.rosjava_tutorial_pubsub;
00018
00019 import org.ros.concurrent.CancellableLoop;
00020 import org.ros.namespace.GraphName;
00021 import org.ros.node.AbstractNodeMain;
00022 import org.ros.node.ConnectedNode;
00023 import org.ros.node.NodeMain;
00024 import org.ros.node.topic.Publisher;
00025
00031 public class Talker extends AbstractNodeMain {
00032
00033 @Override
00034 public GraphName getDefaultNodeName() {
00035 return GraphName.of("rosjava_tutorial_pubsub/talker");
00036 }
00037
00038 @Override
00039 public void onStart(final ConnectedNode connectedNode) {
00040 final Publisher<std_msgs.String> publisher =
00041 connectedNode.newPublisher("chatter", std_msgs.String._TYPE);
00042
00043
00044 connectedNode.executeCancellableLoop(new CancellableLoop() {
00045 private int sequenceNumber;
00046
00047 @Override
00048 protected void setup() {
00049 sequenceNumber = 0;
00050 }
00051
00052 @Override
00053 protected void loop() throws InterruptedException {
00054 std_msgs.String str = publisher.newMessage();
00055 str.setData("Hello world! " + sequenceNumber);
00056 publisher.publish(str);
00057 sequenceNumber++;
00058 Thread.sleep(1000);
00059 }
00060 });
00061 }
00062 }