This program is porting rosserial_arduino for mbed http://www.ros.org/wiki/rosserial_arduino This program supported the revision of 169 of rosserial. This program contains an example.

Dependencies:   rosserial_mbed_lib mbed Servo

examples/ServiceServer.cpp

Committer:
nucho
Date:
2012-02-29
Revision:
4:2cbca0ac2569
Parent:
3:dff241b66f84

File content as of revision 4:2cbca0ac2569:

//#define COMPILE_SERVICESERVER_CODE_ROSSERIAL
#ifdef  COMPILE_SERVICESERVER_CODE_ROSSERIAL
/*
 * rosserial Service Server
 */

#include <ros.h>
#include <std_msgs/String.h>
#include <rosserial_arduino/Test.h>

ros::NodeHandle  nh;
using rosserial_arduino::Test;

int i;
void callback(const Test::Request & req, Test::Response & res) {
    if ((i++)%2)
        res.output = "hello";
    else
        res.output = "world";
}

ros::ServiceServer<Test::Request, Test::Response> server("test_srv",&callback);

std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);

char hello[13] = "hello world!";

int main(void) {
    nh.initNode();
    nh.advertiseService(server);
    nh.advertise(chatter);


    while (1) {
        str_msg.data = hello;
        chatter.publish( &str_msg );
        nh.spinOnce();
        wait_ms(10);
    }
}
#endif