root / quad2 / arduino / src / ros_lib / examples / pubsub / pubsub.pde @ c1426757
History | View | Annotate | Download (670 Bytes)
1 |
/* |
---|---|
2 |
* rosserial PubSub Example |
3 |
* Prints "hello world!" and toggles led |
4 |
*/ |
5 |
|
6 |
#include <ros.h> |
7 |
#include <std_msgs/String.h> |
8 |
#include <std_msgs/Empty.h> |
9 |
|
10 |
ros::NodeHandle nh; |
11 |
|
12 |
|
13 |
void messageCb( const std_msgs::Empty& toggle_msg){ |
14 |
digitalWrite(13, HIGH-digitalRead(13)); // blink the led |
15 |
} |
16 |
|
17 |
ros::Subscriber<std_msgs::Empty> sub("toggle_led", messageCb ); |
18 |
|
19 |
|
20 |
|
21 |
std_msgs::String str_msg; |
22 |
ros::Publisher chatter("chatter", &str_msg); |
23 |
|
24 |
char hello[13] = "hello world!"; |
25 |
|
26 |
void setup() |
27 |
{ |
28 |
pinMode(13, OUTPUT); |
29 |
nh.initNode(); |
30 |
nh.advertise(chatter); |
31 |
nh.subscribe(sub); |
32 |
} |
33 |
|
34 |
void loop() |
35 |
{ |
36 |
str_msg.data = hello; |
37 |
chatter.publish( &str_msg ); |
38 |
nh.spinOnce(); |
39 |
delay(500); |
40 |
} |