Example of a Publisher Subscriber ROSSerial node for Mbed enabled boards using String messages.

Dependencies:   mbed ros_lib_kinetic

Dependents:   roscar_ver_20190501_anglechange_copy

main.cpp

Committer:
FernandoLG
Date:
2018-08-10
Revision:
0:2595562b0c61
Child:
1:fb8f963047b0

File content as of revision 0:2595562b0c61:

/*
 * rosserial Subscriber Example
 * Blinks an LED on callback
 */
#include "mbed.h"
#include <ros.h>
#include <std_msgs/String.h>

ros::NodeHandle nh;
DigitalOut myled(LED1);

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

// /*
void messageCb(const std_msgs::String& command){
    myled = 1;   // turn on the led
    commandRead.data = command.data;
}
// */

ros::Subscriber<std_msgs::String> sub("toggle_led", &messageCb);

//char message[13] = "012345678910";

int main() {
    nh.initNode();
    nh.subscribe(sub);
    nh.advertise(chatter);

    while (1) {
        myled = 0; // turn off the led
        // commandRead.data = message ;
        chatter.publish( &commandRead);
        nh.spinOnce();
        wait_ms(1);
    }
}