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

Dependencies:  

Dependents:   rosserial_mbed robot_S2

Revision:
3:1cf99502f396
Parent:
0:77afd7560544
--- a/std_msgs/String.h	Sun Oct 16 09:35:11 2011 +0000
+++ b/std_msgs/String.h	Sat Nov 12 23:54:45 2011 +0000
@@ -1,49 +1,48 @@
-#ifndef ros_String_h
-#define ros_String_h
-
-#include <stdint.h>
-#include <string.h>
-#include <stdlib.h>
-#include "../ros/msg.h"
-#include"mbed.h"
-
-
-namespace std_msgs
-{
-
-  class String : public ros::Msg
-  {
-    public:
-      char * data;
-
-    virtual int serialize(unsigned char *outbuffer)
-    {
-      int offset = 0;
-      long * length_data = (long *)(outbuffer + offset);
-      *length_data = strlen( (const char*) this->data);
-      offset += 4;
-      memcpy(outbuffer + offset, this->data, *length_data);
-      offset += *length_data;
-      return offset;
-    }
-
-    virtual int deserialize(unsigned char *inbuffer)
-    {
-      int offset = 0;
-      uint32_t length_data = *(uint32_t *)(inbuffer + offset);
-      offset += 4;
-      for(unsigned int k= offset; k< offset+length_data; ++k){
-          inbuffer[k-1]=inbuffer[k];
-           }
-      inbuffer[offset+length_data-1]=0;
-      this->data = (char *)(inbuffer + offset-1);
-      offset += length_data;
-     return offset;
-    }
-
-    virtual const char * getType(){ return "std_msgs/String"; };
-
-  };
-
-}
+#ifndef _ROS_std_msgs_String_h
+#define _ROS_std_msgs_String_h
+
+#include <stdint.h>
+#include <string.h>
+#include <stdlib.h>
+#include "ros/msg.h"
+
+namespace std_msgs
+{
+
+  class String : public ros::Msg
+  {
+    public:
+      char * data;
+
+    virtual int serialize(unsigned char *outbuffer) const
+    {
+      int offset = 0;
+      uint32_t * length_data = (uint32_t *)(outbuffer + offset);
+      *length_data = strlen( (const char*) this->data);
+      offset += 4;
+      memcpy(outbuffer + offset, this->data, *length_data);
+      offset += *length_data;
+      return offset;
+    }
+
+    virtual int deserialize(unsigned char *inbuffer)
+    {
+      int offset = 0;
+      uint32_t length_data = *(uint32_t *)(inbuffer + offset);
+      offset += 4;
+      for(unsigned int k= offset; k< offset+length_data; ++k){
+          inbuffer[k-1]=inbuffer[k];
+      }
+      inbuffer[offset+length_data-1]=0;
+      this->data = (char *)(inbuffer + offset-1);
+      offset += length_data;
+     return offset;
+    }
+
+    virtual const char * getType(){ return "std_msgs/String"; };
+    virtual const char * getMD5(){ return "992ce8a1687cec8c8bd883ec73ca41d1"; };
+
+  };
+
+}
 #endif
\ No newline at end of file