rosserial_mbed blink example for Kinetic distribution

Dependencies:   mbed ros_lib_kinetic

Committer:
Jaimelt
Date:
Mon Dec 04 10:07:13 2017 +0000
Revision:
0:e2b1caa9af4c
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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 }