rosserial library for mbed Inspired by nucho's rosserial library This library is still under development

Dependencies:   MODSERIAL mbed

Dependents:   mbed_roshydro_test

Library still under development!

Committer:
akashvibhute
Date:
Sun Feb 15 10:53:43 2015 +0000
Revision:
0:30537dec6e0b
First commit; Library still need to be debugged, compilation issues with new mbed and modserial updates.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akashvibhute 0:30537dec6e0b 1 //#define COMPLIE_FLOAT64_CODE_ROSSERIAL
akashvibhute 0:30537dec6e0b 2 #ifdef COMPILE_FLOAT64_CODE_ROSSERIAL
akashvibhute 0:30537dec6e0b 3
akashvibhute 0:30537dec6e0b 4 /*
akashvibhute 0:30537dec6e0b 5 * rosserial::std_msgs::Float64 Test
akashvibhute 0:30537dec6e0b 6 * Receives a Float64 input, subtracts 1.0, and publishes it
akashvibhute 0:30537dec6e0b 7 */
akashvibhute 0:30537dec6e0b 8
akashvibhute 0:30537dec6e0b 9 #include "mbed.h"
akashvibhute 0:30537dec6e0b 10 #include <ros.h>
akashvibhute 0:30537dec6e0b 11 #include <std_msgs/Float64.h>
akashvibhute 0:30537dec6e0b 12
akashvibhute 0:30537dec6e0b 13
akashvibhute 0:30537dec6e0b 14 ros::NodeHandle nh;
akashvibhute 0:30537dec6e0b 15
akashvibhute 0:30537dec6e0b 16 float x;
akashvibhute 0:30537dec6e0b 17 DigitalOut myled(LED1);
akashvibhute 0:30537dec6e0b 18
akashvibhute 0:30537dec6e0b 19 void messageCb( const std_msgs::Float64& msg) {
akashvibhute 0:30537dec6e0b 20 x = msg.data - 1.0;
akashvibhute 0:30537dec6e0b 21 myled = !myled; // blink the led
akashvibhute 0:30537dec6e0b 22 }
akashvibhute 0:30537dec6e0b 23
akashvibhute 0:30537dec6e0b 24 std_msgs::Float64 test;
akashvibhute 0:30537dec6e0b 25 ros::Subscriber<std_msgs::Float64> s("your_topic", &messageCb);
akashvibhute 0:30537dec6e0b 26 ros::Publisher p("my_topic", &test);
akashvibhute 0:30537dec6e0b 27
akashvibhute 0:30537dec6e0b 28 int main() {
akashvibhute 0:30537dec6e0b 29 nh.initNode();
akashvibhute 0:30537dec6e0b 30 nh.advertise(p);
akashvibhute 0:30537dec6e0b 31 nh.subscribe(s);
akashvibhute 0:30537dec6e0b 32 while (1) {
akashvibhute 0:30537dec6e0b 33 test.data = x;
akashvibhute 0:30537dec6e0b 34 p.publish( &test );
akashvibhute 0:30537dec6e0b 35 nh.spinOnce();
akashvibhute 0:30537dec6e0b 36 wait_ms(10);
akashvibhute 0:30537dec6e0b 37 }
akashvibhute 0:30537dec6e0b 38 }
akashvibhute 0:30537dec6e0b 39 #endif