![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
rosserial_mbed blink example for Kinetic distribution
Dependencies: mbed ros_lib_kinetic
main.cpp@0:e2b1caa9af4c, 2017-12-04 (annotated)
- Committer:
- Jaimelt
- Date:
- Mon Dec 04 10:07:13 2017 +0000
- Revision:
- 0:e2b1caa9af4c
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jaimelt | 0:e2b1caa9af4c | 1 | /* |
Jaimelt | 0:e2b1caa9af4c | 2 | * rosserial Subscriber Example |
Jaimelt | 0:e2b1caa9af4c | 3 | * Blinks an LED on callback |
Jaimelt | 0:e2b1caa9af4c | 4 | */ |
Jaimelt | 0:e2b1caa9af4c | 5 | #include "mbed.h" |
Jaimelt | 0:e2b1caa9af4c | 6 | #include <ros.h> |
Jaimelt | 0:e2b1caa9af4c | 7 | #include <std_msgs/Empty.h> |
Jaimelt | 0:e2b1caa9af4c | 8 | |
Jaimelt | 0:e2b1caa9af4c | 9 | ros::NodeHandle nh; |
Jaimelt | 0:e2b1caa9af4c | 10 | DigitalOut myled(LED1); |
Jaimelt | 0:e2b1caa9af4c | 11 | |
Jaimelt | 0:e2b1caa9af4c | 12 | void messageCb(const std_msgs::Empty& toggle_msg){ |
Jaimelt | 0:e2b1caa9af4c | 13 | myled = !myled; // blink the led |
Jaimelt | 0:e2b1caa9af4c | 14 | } |
Jaimelt | 0:e2b1caa9af4c | 15 | |
Jaimelt | 0:e2b1caa9af4c | 16 | ros::Subscriber<std_msgs::Empty> sub("toggle_led", &messageCb); |
Jaimelt | 0:e2b1caa9af4c | 17 | |
Jaimelt | 0:e2b1caa9af4c | 18 | int main() { |
Jaimelt | 0:e2b1caa9af4c | 19 | nh.initNode(); |
Jaimelt | 0:e2b1caa9af4c | 20 | nh.subscribe(sub); |
Jaimelt | 0:e2b1caa9af4c | 21 | |
Jaimelt | 0:e2b1caa9af4c | 22 | while (1) { |
Jaimelt | 0:e2b1caa9af4c | 23 | nh.spinOnce(); |
Jaimelt | 0:e2b1caa9af4c | 24 | wait_ms(1); |
Jaimelt | 0:e2b1caa9af4c | 25 | } |
Jaimelt | 0:e2b1caa9af4c | 26 | } |